java 使用命令查看class字節碼文件

查看java字節碼 

1 javac –verbose查看運行類是加載了那些jar文件

Foo.java演示:

package com.tfq.c02;


/**
 *
 *  @description 
 *  @author tangfq; 
 *  @version 2020年6月7日 下午4:57:27
 *
 **/

public class Foo {

	public static void main(String[] args) {
		boolean isEte=true;
		if(isEte){
			System.out.println("eated");
		}
		if(true==isEte){
			System.out.println("really eated");
		}
		
	}
	
}

使用javac -encoding utf-8 -verbose Foo.java,展示JVM加載類的順序如下圖:

可以看到虛擬機運行一個程序時加載的jar包

更多內容查看javac –help命令

2  javap查看字節碼

首先使用javap –help可以查看到各種命令,各個命令什麼作用,可以自己運行試試……

這裏只測試javap –c和javap –verbose

javap –c Foo.java

可以查看字節碼,從中可以得到各種變量的信息等等

但是javap –verbose可以看到更加清楚的信息。

總結:

編譯生成class文件並查看類的加載順序:javac -encoding utf-8 -verbose Singleton.java
生成class文件對應的JVM彙編代碼文件:java -jar asmtools.jar jdis Singleton.class > Singleton.jasm.1

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