Class 파일의 바이트 코드를 볼 수 있나요?
Java 소스 코드는 실제로 클래스 파일에 있는 바이트 코드로 컴파일됩니다.컴파일된 클래스의 바이트 코드를 볼 수 있습니까?
가능하다면 편집할 수 있을까요?
사용할 수 있는 이클립스 플러그인이 있나요?
이렇게 , 하다, 하다, 이렇게 쓸 수 있어요.javap
JDK에 포함된 명령어로 클래스의 바이트 코드를 확인할 수 있습니다.예를 들어 다음과 같습니다.
javap -c com.mypackage.MyClass
Java 바이트 코드의 조작에 도움이 되는 라이브러리와 툴이 몇 가지 있습니다(ASM이나 Jasmin 등).
JDK에는 클래스 파일 내의 바이트 코드를 분해하는 도구인 javap이 포함되어 있습니다.바이트 코드 수준에서 편집할 수 있습니다.클래스 파일 읽기, 조작 및 쓰기를 위해 설계된 Java 라이브러리 BCEL을 살펴보십시오.
바이트 코드를 편집하기 위한 도구와 라이브러리의 목록은 Java-net에서 찾을 수 있습니다.예를 들어 JBE는 GUI가 부속되어 있는 Java 바이트 코드 에디터입니다.
바이트 코드를 보려면
javap은 잊어버려!지금까지 사용한 플러그인은 "ASM - Eclipse용 바이트 코드 아웃라인 플러그인"입니다.
http://asm.ow2.org/eclipse/index.html
ASM(바이트 코드 조작 프레임워크)에서 가져옵니다.
여기에는 asm 프레임워크 방식을 사용하여 바이트 코드(요구한), 스택 요소(jvm 스타일) 및 동일한 결과를 생성하는 방법(같은 바이트 코드를 생성하는 방법)이 표시됩니다.
게다가 소스코드가 선택되고 있는 동안에도, 그렇게 하는 것이 좋습니다.바이트 코드를 검사하기 위해 bin 디렉토리에서 .class 파일을 찾을 필요는 없습니다.
편집하려면
코드 사용:
- ASM: 방문자 베이스는 매우, 매우, 매우 빠릅니다.
- BCEL: 클래스 파일의 메모리 설명에 바이트 코드를 로딩합니다.
- Javassit: 가장 사용하기 쉬운 것으로 패턴 매칭 및 식 치환을 수행할 수 있습니다.
수작업 : JBE
내 경험상 jclasslib은 최고의 바이트 코드 뷰어 중 하나입니다.
에디터에는 바이트 코드 조작 라이브러리와 GUI가 있는 에디터의 2종류가 있습니다.이 질문은 SO에서 여러 번 제기되었으며, 답변과 제공된 링크를 확인할 수 있습니다.
바이트 코드 편집이 생각만큼 간단하지 않도록 주의하세요.JVMS는 클래스 파일 형식에 많은 제한을 가하며 편집 중 하나가 클래스 파일 중 하나를 위반할 가능성이 높습니다.
기타 질문은 다음과 같습니다.
사용해보십시오 - dirtyJOE - Java Overall Editor는 컴파일된 Java 바이너리(.class 파일)의 복잡한 편집자 및 뷰어입니다.
언급URL : https://stackoverflow.com/questions/3315938/is-it-possible-to-view-bytecode-of-class-file
'source' 카테고리의 다른 글
팬더 인덱스 컬럼 제목 또는 이름 (0) | 2022.10.20 |
---|---|
mysql/mariadb(또는 amazon orora)에서의 멀티 테넌트(Multi-tenant) 접근방식의 실용적인 구현 (0) | 2022.10.20 |
Rails 5 커스텀 데이터베이스 타입GIS + Maria의 경우DB (0) | 2022.10.20 |
MySQL의 두 시간 필드와의 차이(분) (0) | 2022.10.20 |
최신 브라우저에서 페이지 확대/축소 수준을 감지하려면 어떻게 해야 합니까? (0) | 2022.10.20 |