做為了一個(gè)java開發(fā)人員,總是為因?yàn)橐黾右粋€(gè)類,或是增加刪除一個(gè)方法,甚至修改一個(gè)小處代碼而不得不再次重啟服務(wù)器。而啟動(dòng)服務(wù)器總是那么的浪費(fèi)時(shí)間。一個(gè)小時(shí)的編程 10 分鐘左右,這效率....
而php有java更有優(yōu)勢(shì)在于它是動(dòng)態(tài)加載的。而為什么java就不可以呢?
你想要什么?可以加方法?可以加類?可以動(dòng)態(tài)的隨意更改java代碼又不重啟服務(wù)器?
現(xiàn)在這些都可以實(shí)現(xiàn)了,今天重大發(fā)現(xiàn)這些都可以做到了。java也變?yōu)楹蚿hp一樣可以動(dòng)態(tài)的更改了。
今天聽到了這么一個(gè)發(fā)現(xiàn),覺得確實(shí)很好,現(xiàn)在在這里和大家分享下。
要做到這樣功能需要對(duì)本機(jī)有所配置一下:
安裝步驟: 1、 在 windows 啟動(dòng)安裝程序,在控制臺(tái)輸入 : > java -jar dcevm-0.2-win.jar (路徑放到dcevm-0.2-win.jar的文件夾)下面附件下載 等一會(huì)兒,這時(shí)會(huì)出現(xiàn)一個(gè)程序框。選擇一個(gè)jdk,再install。完成后test一下(安裝完成沒有提示,差不多的時(shí)間就點(diǎn)test看一下,如果成功就是安裝好了)
安裝程序會(huì)替換掉 java 下 bin/client/jvm.dll 和 bin/server/jvm.dll ,并將以后的 jvm.dll 備份到相應(yīng)目錄下。還會(huì)將 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
我的修改完之后是這樣的
-startup plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -product org.eclipse.epp.package.jee.product --launcher.XXMaxPermSize 256M -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看是否可以正常啟動(dòng),這樣的就配置完成了。
接下來是做個(gè)小試驗(yàn)。 1、在你的web程序下,debug狀態(tài)啟動(dòng)tomcat。(注意在要debug狀態(tài)下 )
當(dāng)你的程序正常運(yùn)行后,要你想在改動(dòng)的地方j(luò)ava代碼,更改下,再重新刷下頁(yè)面就明白了。(如果還是不成功,可以和我交流下)
相關(guān)文檔學(xué)習(xí): 1、 http://www./wangscu/hotspot-hotswap-who-and-who-are-best-freinds 2、http://rdc.taobao.com/team/jm/ (感謝oznyang提供)。
p.s:我是在remoteDebug狀態(tài)下做的,大家試試看哦。
有什么問題大家可以提出來,互相學(xué)習(xí)。 |
|