官术网_书友最值得收藏!

深入理解JVM字節碼
會員

本書一共12章,從邏輯上主要分為字節碼原理篇和應用篇兩大部分。第1章詳細剖析了class文件的內部結構,幫助讀者理解本書后面介紹的字節碼原理。第2章首先介紹了什么是字節碼,接下來介紹了Java虛擬機棧和棧幀的相關內容,然后通過for循環、switch-case、try-catch-finally等語法講解了字節碼指令的用法。第3章介紹了字節碼的進階知識,主要目的是讓讀者掌握方法調用指令、泛型擦除、synchronized關鍵字、反射的底層實現原理。第4章介紹了javac編譯器的原理。編譯原理是計算機科學皇冠上的明珠,只有弄懂了javac才能更好地理解字節碼的生成原理。本章一開始介紹了javac源碼的調試方法,隨后詳細介紹了javac編譯的七大階段和各階段的作用。第5章從字節碼角度看Kotlin語言,介紹了常見語法糖和協程等的原理,希望讀者在學習其他JVM系語言時可以舉一反三,使用類似的思路。第6章介紹了ASM和Javassist兩個字節碼操作工具。這兩個工具非常重要,被廣泛用于中間件框架中,后面關于APM、軟件破解的章節都涉及這兩個工具的使用。第7章介紹了JavaInstrumentation的原理,分兩種方式講解了如何使用Instrumentation,最后介紹了AttachAPI的底層UNIX域套接字的通信原理。第8章介紹了JSR269插件化注解處理的原理,希望讀者可以通過本章掌握編譯期間生成、修改代碼的方法,理解Lombok、ButterKnife工具的實現原理。第9章主要介紹了字節碼在cglib、Fastjson、Dubbo、JaCoCo、Mock這些框架上的應用,可以讓讀者接觸到更多字節碼的使用場景。第10章主要介紹了反編譯、破解、防破解和逆向工程的相關內容。了解常見的破解和逆向方法能更好地保護自己的軟件產品。第11章介紹了APM的概況、分布式跟蹤的基本原理、OpenTracing的基本概念和無埋點字節碼插樁的代碼實現。如果對APM有興趣,可以將本章作為入門指導,實現自己的APM產品。第12章詳細介紹了Androiddex文件的組成結構,以及Android字節碼指令與Java字節碼指令的區別,最后介紹了Gradle字節碼改寫實現無侵入插樁的方法。

張亞 ·程序設計 ·9萬字

QQ閱讀手機版

主站蜘蛛池模板: 海城市| 出国| 杨浦区| 湄潭县| 安仁县| 榆中县| 汶川县| 上虞市| 汾阳市| 互助| 合水县| 广汉市| 江西省| 延安市| 民勤县| 香格里拉县| 紫金县| 龙口市| 陕西省| 加查县| 安庆市| 息烽县| 墨脱县| 印江| 洛阳市| 邯郸县| 鹰潭市| 怀集县| 林芝县| 墨江| 葵青区| 承德县| 泌阳县| 夏邑县| 苏尼特右旗| 濮阳县| 宜君县| 三穗县| 梁平县| 禄丰县| 曲靖市|