日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hostswap dcevm

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hostswap dcevm 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是dcevm

?????? dcevm(DynamicCode Evolution Virtual Machine)是java hostspot的補丁(嚴格上來說是修改),允許(并非無限制)在運行環境下修改加載的類文件.當前虛擬機只允許修改方法體(method bodies),decvm,可以增加 刪除類屬性、方法,甚至改變一個類的父類。原理參見Dynamic Code Evolution for Java dcevm 原理

?????? dcevm 是一個開源項目,遵從GPL 2.0。源文件及執行文件都可從官網下載。

?????? 注意:Currently, the binary version of the VM is available for the 32-bit and 64-bit Windows VM, 32-bit Mac OS Soylatte VM (get it here), and 32-bit Linux VM. We plan to add binaries for 64-bit Mac and Linux VMs.Contact us, if you are interested in them.

安裝

警告: 該補丁目前還處于試驗階段. 當該補丁用于調試java程序使用時,是相當穩定的。但不提倡在生產環境中使用該補丁。

1.下載安裝文件 (下載地址)

2.執行安裝文件

#windows
> java -jar dcevm-0.2-win.jar
#mac
$ sudo java -jar dcevm-0.2-mac.jar
#linux
$ sudo java -jar dcevm-0.2-linux.jar 選中路徑,執行install就完成了。如圖: 查看安裝程序源碼發現安裝過程就是將一些文件拷貝到相應的位置:
32 位 windows 使用data/bin/目錄下文件 替換掉java下 bin/client/jvm.dll 和 bin/server/jvm.dll ,并將以后的jvm.dll備份到相應目錄下。
將data/dcevm.jar 加到/jre/lib/ext/ 目錄
64位 windows復制 data/64/bin/server/jvm.dll到 bin/server/jvm.dll
將data/dcevm.jar 加到/jre/lib/ext/ 目錄
32位 linux如果jre/lib/i386/client/目錄存在:
?????? 復制data/lib/i386/client/libjvm.so到 jre/lib/i386/client/libjvm.so
如果jre/lib/i386/server/目錄存在:
?????? 復制data/lib/i386/server/libjvm.so到 jre/lib/i386/server/libjvm.so
將data/dcevm.jar 加到/jre/lib/ext/ 目錄
64位 linux(暫時不支持)復制data/64/lib/amd64/server/libjvm.so到 jre/lib/amd64/server/libjvm.so ()
將data/dcevm.jar 加到/jre/lib/ext/ 目錄

注意:

dcevm.jar要拷貝到 jre的目錄,如果指定java運行在jdk上,這個目錄就是jdk下的jre目錄.

linux的安裝文件中并沒有data/64這個目錄,意味著64位linux不能正常安裝?杯具啊,有時間嘗試下看如何處理.

不能在linux下通過圖形界面安裝的童鞋可手動拷貝文件.

?

調試java

兩種調試方式:

  • debug模式啟動java程序 && eclipse remote debug
  • eclipse中debug模式啟動程序

注意問題(更多問題補充中):

1.程序中動態添加的static 屬性 例如 private static String a = “x”,調用時會顯示a是null.

2.在一個正在執行的循環中,有些改變不能生效例如:

public static void main(String[] args) {
for (int i = 0; i < 10000; i++) {
test();//sleep 1s and print something
}
} 修改為: public static void main(String[] args) {
for (int i = 0; i < 10000; i++) {
test();
System.out.println("xxx");
}
} xxx是不能輸出的,但test方法體內部的修改是可以生效的.
或: public static void main(String[] args) {
System.out.println("xxx");
for (int i = 0; i < 10000; i++) {
test();
}
} 示例代碼下載

更多test case

?

參考資料

hotswap 用戶手冊

Dynamic Code Evolution for the Java HotSpot TM Virtual Machine

hostspot&hostswap(包括dcevm原理介紹)

Dynamic Code Evolution for Java dcevm 原理

官方地址Dynamic Code Evolution VM

轉載于:https://www.cnblogs.com/redcreen/archive/2011/06/03/2071169.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的hostswap dcevm的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天堂网wwww| 亚洲成人精品网 | 国产成人av一区二区三区 | 国产精品午夜无码专区 | 青草视频网 | 91精品入口 | 欧美 日韩 国产 亚洲 色 | 天天干天天操心 | 天天摸天天碰天天爽天天弄 | 国产成人精品a视频一区 | 久久av在线播放 | www精品一区二区三区 | 久久精品国产大片免费观看 | 一本大道久久a久久综合婷婷 | 成都免费高清电影 | www.av日韩 | 精品电影一区二区 | 一区二区三区四区国产精品 | 日韩一区二区三区视频在线 | 国产极品美女在线 | 中文字幕四区 | 国产二区视频 | 黄色自拍视频 | 新香蕉视频| 欧美成人福利视频 | 日韩激情久久 | 国产suv精品一区二区69 | 久久久久久久久久久久久久 | 黄色字幕网| 狠狠综合久久av一区二区 | 天天看a | 女生鸡鸡软件 | 精品人妻少妇一区二区三区 | 高柳家在线观看 | 91免费看片网站 | 国产成人精品久久久 | 日本三级一区二区 | 欧洲美女粗暴牲交免费观看 | 日本乱子伦xxxx | 国产一级在线免费观看 | 狠狠v欧美v日韩v亚洲ⅴ | 国内视频一区二区三区 | 蜜桃av噜噜一区二区三区网址 | 91超碰在线 | 久草福利 | 伊人久久五月天 | 999精品在线 | 久久久99精品国产一区二区三区 | 欧美一级淫片免费视频黄 | 奇米超碰在线 | 天堂色网 | 四虎av网址| 成在人线av | 欧美日韩资源 | 97超碰免费在线观看 | 中文天堂av | 国产精品麻豆果冻传媒在线播放 | 成人在线精品视频 | www.色在线| 日本激情视频网站 | 哺乳期av | 最新中文字幕在线观看 | 中文黄色片 | 亚洲精品久久久久久动漫器材一区 | 狐狸视频污| 欧美精品二区三区四区免费看视频 | 中文字幕一区二区在线播放 | 视色视频在线观看 | 伊人99热| av网站不卡 | 亚洲精品自拍偷拍 | 怡红院久久| 国产aⅴ无码片毛片一级一区2 | 亚洲国产精品天堂 | 疯狂做爰的爽文多肉小说王爷 | 骚虎免费视频 | 国产在线视频自拍 | 国产精品欧美激情在线 | 成人激情在线 | 懂色中文一区二区在线播放 | 蜜桃视频污在线观看 | 二三区视频 | 精品一区二区三区三区 | 日韩av免费 | 性生交大片免费看狂欲 | 操日本老太太 | 国产三级短视频 | 人人射人人爱 | 2019日韩中文字幕mv | 中文字幕日韩一区 | 婷婷综合影院 | 色视频在线播放 | 黄色片视频免费在线观看 | 大尺度激情吻胸视频 | 美味的客房沙龙服务 | 国内精品国产成人国产三级 | 成年人在线免费观看网站 | 日韩在线免费视频 | 黄色链接视频 |