值得收藏!教你如何在IDEA中快速查看Java字節(jié)碼
一、javap的參數(shù)
-help --help -? 輸出此用法消息
-version 版本信息
-v -verbose 輸出附加信息
-l 輸出行號(hào)和本地變量表
-public 僅顯示公共類和成員
-protected 顯示受保護(hù)的/公共類和成員
-package 顯示程序包/受保護(hù)的/公共類和成員 (默認(rèn))
-p -private 顯示所有類和成員
-c 對(duì)代碼進(jìn)行反匯編
-s 輸出內(nèi)部類型簽名
-sysinfo 顯示正在處理的類的系統(tǒng)信息 (路徑, 大小, 日期, MD5 散列)
-constants 顯示靜態(tài)最終常量
-classpath <path> 指定查找用戶類文件的位置
-bootclasspath <path> 覆蓋引導(dǎo)類文件的位置
因?yàn)槲覀冎纉ava文件進(jìn)入虛擬機(jī)的一個(gè)大致過(guò)程是:
A.java文件,經(jīng)過(guò)編譯后,生成.class文件,這個(gè).class文件是個(gè)二進(jìn)制文件,你沒(méi)法看得懂,只有虛擬機(jī)能看得明白,因?yàn)樘摂M機(jī)有一個(gè)字節(jié)碼表,而作為程序員是看不懂這些16進(jìn)制的文件的,你這可以背下來(lái)???
因?yàn)槲疫@里用到的是Notepad++,
需要安裝一個(gè)HEX-Editor
插件;下面的東西我只知道一個(gè)ca fe ba be.....
所以class文件就長(zhǎng)這個(gè)樣子,那么這些什么00 07,這些16進(jìn)制的表示,對(duì)應(yīng)代表著什么呢?這個(gè)以后再說(shuō),總之你目前看不懂就是了
那么java提供了可以解析class文件稱為字節(jié)碼文件的工具,把這個(gè)class文件,翻譯成字節(jié)碼文件,告訴虛擬機(jī)你要去做什么操作。
所以javap的命令,就是這樣來(lái)的。java parser??!
二、配置IDEA
然后+號(hào),這三行照寫下
- $JDKPath$\bin\javap.exe
- -verbose -p -c $FileClass$
- $OutputPath$
然后OK點(diǎn)擊。
這樣就能看到編譯的細(xì)節(jié)了。
到此這篇關(guān)于值得收藏!教你如何在IDEA中快速查看Java字節(jié)碼的文章就介紹到這了,更多相關(guān)IDEA中查看Java字節(jié)碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis 忽略實(shí)體對(duì)象的某個(gè)屬性(2種方式)
這篇文章主要介紹了mybatis 忽略實(shí)體對(duì)象的某個(gè)屬性方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06IDEA使用Tomcat運(yùn)行web項(xiàng)目教程分享
在非Spring Boot項(xiàng)目中運(yùn)行Nacos示例,需要手動(dòng)配置Tomcat容器,本文介紹了如何在IDEA中配置Tomcat,并詳細(xì)解決了配置過(guò)程中可能遇到的異常情況,步驟包括修改IDEA項(xiàng)目結(jié)構(gòu)、添加Web模塊、配置Artifacts和Tomcat Server2024-10-10Java中判斷對(duì)象是否相等的equals()方法使用教程
與==運(yùn)算符響應(yīng),equals()方法也是Java中對(duì)對(duì)象進(jìn)行比較的一大方式,要特別注意二者的不同點(diǎn),這個(gè)我們?cè)谙挛闹屑磳⒅v到,接下來(lái)我們就來(lái)看一下Java中判斷對(duì)象是否相等的equals()方法使用教程2016-05-05Spring Boot集成Mybatis的實(shí)例代碼(簡(jiǎn)潔版)
這篇文章主要介紹了Spring Boot集成Mybatis簡(jiǎn)潔版的教程,需要的朋友可以參考下2018-02-02