文章插圖

文章插圖
一、簡介
項目發布上線后,代碼將由java文件轉為class文件 。當項目運行中出現問題或與實際代碼不一致時,此時需要確認運行中的class文件是否正確等操作,接下來就需要對class文件進行操作 。這里基于一些常用命令進行介紹 。
二、使用
【怎樣打開class文件 java文件到class文件】class文件操作的常用命令,位于jdk的bin目錄下的javac、javap等,以及外部工具jad 。
2.1 javac
將java文件編譯為class文件(多個文件用空格隔開),常用命令有:
格式:javac <options> <source files>
常用參數:
-d: 輸出目錄
-target:輸出jvm版本
-source: 輸入jdk版本
示例:
#編譯src目錄下的Stu.java文件,jdk版本為1.8,運行jvm版本為1.8,生的class文件位于out目錄下
javac -d out -source 1.8 -target 1.8 src/Stu.java
2.2 javap
將class文件反編譯為匯編語言,常用命令有:
格式:javap <options> <classes>
常用參數:
-v: 輸出行號、本地變量表、反編譯匯編代碼、當前類用的常量池等
示例:
#反編譯out/Stu.class文件,輸出包含匯編代碼、當前類常量等信息
javap -v out/Stu
2.3 jad
jad為外部的反編譯工具,可以把class文件反編譯為java文件(默認文件后綴為.jad,可指定后綴為.java),多個文件支持通配符(如*class) 。如果源文件包含中文,將會轉為unicode編碼(此時可借助jdk工具native2ascii將unicode轉為中文) 。
2.3.1 jad安裝
下載地址為:http://www.javadecompilers.com/jad
2.3.2 常用命令
格式:jad [option(s)] <filename(s)>
常用參數:
-d : 指定輸出文件目錄
-s : 指定輸出文件擴展名,默認.jad
-p : 反編譯結果輸出到標準輸出
示例:
#將out目錄下的Stu.class反編譯為后綴是.java的位于out目錄下的文件
bin/jad -d out -s java out/Stu.class
#將out目錄下的Stu.class反編譯后直接輸出到標準輸出
bin/jad -p out/Stu.class
三、備注
前邊提到用于unicode和中文互轉的jdk工具native2ascii,這里簡單介紹下:
格式:native2ascii -[option] [inputfile [outputfile]]
參數:
-reverse: 將unicode文件轉為指定編碼文件(不加該參數表示源文件轉為unicode文件)
-encoding: 轉為指定編碼(如gbk)
示例:
#將Stu.java文件轉為gbk文件
native2ascii -reverse -encoding gbk Stu.java Stu_gbk.java
#將Stu.java文件轉為utf8文件
native2ascii -reverse -encoding utf8 Stu.java Stu_utf8.java
#Stu_utf8.java文件轉為unicode文件
native2ascii -encoding utf8 Stu_utf8.java Stu_unicode.java
- 怎樣免費安裝photoshop Photoshop安裝教程
- ape文件如何打開 APE文件格式
- 頭發掉的厲害怎么辦 怎樣拯救掉發苦惱
- ai格式用什么手機軟件打開 ai文件格式什么軟件可以打開
- dwg是什么文件格式電腦怎么打開 dxf和dwg是什么文件格式
- dwg格式手機怎么打開蘋果 dwg格式手機怎么打開cad
- chm格式用什么打開 chm文件格式怎么打開
- 蘋果手機怎么打開ai格式的文件 如何打開ai格式文件
- 怎樣挑選人參果
- 黑加侖一天吃多少合適,黑加侖吃多了會怎樣
