字節碼增強技術探索

Java字節碼增強指的是在Java字節碼生成之後,對其進行修改,增強其功能,這種方式相當於對應用程序的二進制文件進行修改。Java字節碼增強主要是爲了減少冗餘代碼,提高性能等。

實現字節碼增強的主要步驟爲:

1、修改字節碼
在內存中獲取到原來的字節碼,然後通過一些工具(如 ASM,Javaasist)來修改它的byte[]數組,得到一個新的byte數組。

2、使修改後的字節碼生效
有兩種方法:

1) 自定義ClassLoader來加載修改後的字節碼;

2)替換掉原來的字節碼:在JVM加載用戶的Class時,攔截,返回修改後的字節碼;或者在運行時,使用Instrumentation.redefineClasses方法來替換掉原來的字節碼;

參考:美團技術分享

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章