반응형
1. 개요
javap는 하나 이상의 클래스(class) 파일을 디스어셈블(disassemble) 하는 명령어이다.
사용법은 아래와 같다.
$ javap [클래스]
예를들어,
$ javap HelloWorld 명령을 실행하면,
Compiled from "HelloWorld.java" public class HelloWorld { public HelloWorld(); public static void main(java.lang.String[]); } |
javap 명령어는 어느 자바 소스로 부터 컴파일되었고, 필드와 메소드를 확인할 수 있다.
2. 클래스(class) 파일이 컴파일된 자바 버전 확인
javap 명령어가 필요한 경우에는 클래스(class) 파일이 컴파일된 자바 버전을 알고 싶을 때, 자주 사용된다.
예를들어, 아래 명령어 결과로 HelloWorld 클래스는 JDK 8 버전의 javac로 컴파일되었다는 것을 확인할 수 있다.
$ javap -verbose HelloWorld | grep major
major version: 52
자바버전 = major version (hex) |
Java SE 18 = 62 (0x3E hex), Java SE 17 = 61 (0x3D hex), Java SE 16 = 60 (0x3C hex), Java SE 15 = 59 (0x3B hex), Java SE 14 = 58 (0x3A hex), Java SE 13 = 57 (0x39 hex), Java SE 12 = 56 (0x38 hex), Java SE 11 = 55 (0x37 hex), Java SE 10 = 54 (0x36 hex), Java SE 9 = 53 (0x35 hex), Java SE 8 = 52 (0x34 hex), Java SE 7 = 51 (0x33 hex), Java SE 6.0 = 50 (0x32 hex), Java SE 5.0 = 49 (0x31 hex), JDK 1.4 = 48 (0x30 hex), JDK 1.3 = 47 (0x2F hex), JDK 1.2 = 46 (0x2E hex), JDK 1.1 = 45 (0x2D hex). |
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[Tips] 스레드 덤프 분석 툴/사이트 (0) | 2023.03.11 |
---|---|
[Tips] 간단한 SSL Client/Server 작성 테스트 (0) | 2023.01.26 |
[정보] Java에서 assert 사용하기 (0) | 2022.06.06 |
[정보] Apache Log4j 1.x 보안 업데이트 권고사항 (0) | 2021.12.20 |
[Tips] 자바에서 Runtime 클래스 (0) | 2021.12.20 |