而php有java更有優(yōu)勢在于它是動態(tài)加載的。而為什么java就不可以呢?
你想要什么?可以加方法?可以加類?可以動態(tài)的隨意更改java代碼又不重啟服務(wù)器?
現(xiàn)在這些都可以實現(xiàn)了,今天重大發(fā)現(xiàn)這些都可以做到了。java也變?yōu)楹蚿hp一樣可以動態(tài)的更改了。
今天聽到了這么一個發(fā)現(xiàn),覺得確實很好,現(xiàn)在在這里和大家分享下。
要做到這樣功能需要對本機(jī)有所配置一下:
安裝步驟:
1、 在 windows 啟動安裝程序,在控制臺輸入 :
> java -jar dcevm-0.2-win.jar (路徑放到dcevm-0.2-win.jar的文件夾)下面附件下載
等一會兒,這時會出現(xiàn)一個程序框。選擇一個jdk,再install。完成后test一下(安裝完成沒有提示,差不多的時間就點test看一下,如果成功就是安裝好了)
安裝程序會替換掉 java 下 bin/client/jvm.dll 和 bin/server/jvm.dll ,并將以后的 jvm.dll 備份到相應(yīng)目錄下。還會將 dcevm.jar 加到 lib/ext/ 目錄 .
2、eclipse端的修改
eclipse.ini 文件里面最后加入:(這里面要把原有的部分去掉一些)
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=512M
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:+TraceClassLoading
-XX:+TraceClassUnloading
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-verbose:gc
-Xloggc:gc.log
我的修改完之后是這樣的
-startupplugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519-productorg.eclipse.epp.package.jee.product--launcher.XXMaxPermSize256M-vmargs-Xms128M-Xmx512M-XX:PermSize=64M-XX:MaxPermSize=512M-XX:+PrintGCTimeStamps-XX:+PrintGCDetails-XX:+TraceClassLoading-XX:+TraceClassUnloading-XX:+PrintGCTimeStamps-XX:+PrintGCDetails-verbose:gc-Xloggc:gc.log
重啟一下eclipse看是否可以正常啟動,這樣的就配置完成了。
接下來是做個小試驗。
1、在你的web程序下,debug狀態(tài)啟動tomcat。(注意在要debug狀態(tài)下 )
當(dāng)你的程序正常運行后,要你想在改動的地方j(luò)ava代碼,更改下,再重新刷下頁面就明白了。(如果還是不成功,可以和我交流下)
相關(guān)文檔學(xué)習(xí):
1、 http://www.slideshare.net/wangscu/hotspot-hotswap-who-and-who-are-best-freinds
2、http://rdc.taobao.com/team/jm/ (感謝oznyang提供)。
p.s:我是在remoteDebug狀態(tài)下做的,大家試試看哦。
有什么問題大家可以提出來,互相學(xué)習(xí)。