자바 유용 컴 파일 명령
public class Test{
public static void main(String[] arts){
byte[] o = new byte[0];
Object o1 = new Object();
}
}
컴 파일 명령
javac 의 주요 역할 은 자바 소스 코드 를 해당 하 는 jvm 명령 으로 바 꾸 는 것 입 니 다. 또한 구조 기본 구조 함 수 를 추가 하 는 작업 등 도 도와 줄 것 입 니 다.
http://dreamhead.blogbus.com/logs/5999838.html
1, javac - d < 디 렉 터 리 > A. java
생 성 된 A. class 의 위 치 를 지정 합 니 다.
2,javac -verbose A.java
클래스 파일 을 만 들 때 어떤 종 류 를 불 러 올 지 표시 합 니 다.
역 컴 파일 명령
javap 는 컴 파일 러 가 생 성 한 바이트 코드 와 소스 코드 의 차 이 를 살 펴 보고 자바 컴 파일 러 의 작업 원 리 를 이해 하 는 데 도움 을 줄 수 있 습 니 다.
1, javap A (인자 없 음)
E:\Workspace>javap Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
public Test();
public static void main(java.lang.String[]);
}
인쇄 클래스 의 구성원 변수 와 방법 은 클래스 가 다른 클래스 에서 파생 되 지 않 으 면 기본적으로 Object 클래스 에서 계승 합 니 다.표 시 된 구조 함수 가 없 으 면 컴 파일 러 는 부족 한 구조 함 수 를 생 성 합 니 다.
2,javap -c A
E:\Workspace>javap -c Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
public Test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: iconst_0
1: newarray byte
3: astore_1
4: new #2; //class java/lang/Object
7: dup
8: invokespecial #1; //Method java/lang/Object."<init>":()V
11: astore_2
12: return
}
방법의 구체 적 인 바이트 코드 를 보 여 줍 니 다. 예 를 들 어 기본 구조 함수 Test () 는 부모 클래스 Object 의 구조 함 수 를 호출 했 습 니 다.
3,javap -l A
E:\Workspace>javap -l Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
public Test();
LineNumberTable:
line 1: 0
public static void main(java.lang.String[]);
LineNumberTable:
line 3: 0
line 4: 4
line 5: 12
}
바이트 가 표 시 됩 니까? 원본 코드 와 대응 하 는 정 보 를 표시 합 니 다. 예 를 들 어 line 3: 0 은 원본 코드 의 세 번 째 줄 이 바이트 코드 의 0 과 대응 하 는 것 을 표시 합 니 다. iconst_0, 즉 소스 코드 컴 파일 시 명령 의 시작 위치 입 니 다.
0 길이 의 바이트 배열 대상 을 만 들 려 면 3 개의 조작 명령 을 실행 하고 Object 대상 을 만 들 려 면 7 개의 조작 명령 을 실행 해 야 합 니 다.
4,javap -p A
E:\Workspace>javap -p Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
public Test();
public static void main(java.lang.String[]);
}
private 구성원 과 방법 에 대한 정 보 를 추가 로 인쇄 합 니 다.이 종 류 는 private 가 존재 하지 않 기 때문에 인쇄 되 지 않 았 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.