JAVA的字节码技术
1.什么是字節(jié)碼?
字節(jié)碼 byteCode
JVM能夠解釋執(zhí)行的。java程序的歸宿,但是從規(guī)范上來講和Java已沒有任何關(guān)系了。一些動態(tài)語言也可以編譯成字節(jié)碼在JVM上運(yùn)行。字節(jié)碼就相當(dāng)于JVM上的匯編語言。
2.字節(jié)碼的一些特點(diǎn)
標(biāo)準(zhǔn)JVM使用的堆棧;有些虛擬機(jī)使用寄存器。例如安卓虛擬機(jī)。
標(biāo)準(zhǔn)JVM使用一個字節(jié)的指令。理論上256個指令,目前已經(jīng)使用了200+。
3.字節(jié)碼的用途
a.靜態(tài)檢查
b.調(diào)試/熱切換/診斷工具
c.在JVM上的新語言
d.AOP、ORM
e.Mock 尤其是Fault Injection
4.為什么折騰字節(jié)碼?
a.語言無關(guān)
b.執(zhí)行效率高
c.不用修改源代碼
d.增加語言特性
5.肉眼看懂ByteCode
a.診斷性能問題
b.逆向工程
c.安全審計(jì)
d.調(diào)試遺留代碼
e.給FindBugs貢獻(xiàn)個插件
6.如何查看ByteCode
首先javac hello.java 然后通過javap -c hello 就可以查看編譯后的字節(jié)碼。
轉(zhuǎn)載于:https://www.cnblogs.com/fjhh/p/5370619.html
總結(jié)
以上是生活随笔為你收集整理的JAVA的字节码技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可爱的情侣名859个
- 下一篇: poj 1338 Ugly Number