참고 : ASM User Guide
ASM 라이브러리(이하 ASM)는 XML의 SAX 와 DOM에 비교될 수 있는 두가지 모델의 API를 가지고 있다.
- 이벤트 기반(event based)
- Core API
- 소스 디렉토리 : src/org/objectweb/asm/
- XML의 SAX에 비교될 수 있다.
- 객체 기반(object based)
- Tree API
- 소스 디렉토리 : src/org/objectweb/asm/tree/
- XML의 DOM에 비교될 수 있다.
이벤트 기반 모델을 사용한 어플리케이션은 다음 순서로 만든다.
- 이벤트 생성자(event producer : class parser), 이벤트 사용자(event consumer : class write), 이벤트 필터들(event filters)을 조합한다.
- 코드의 생성이나 변환을 위해 이벤트 생성자를 동작 시킨다.
라이브러리 구성
- org.objectweb.asm & org.objectweb.asm.signature
- 이벤트 기반 API
- parser & writer
- asm.jar
- org.objectweb.asm.util
- 개발이나 디버깅 중에 사용할 수 있는, 이벤트 기반 API로 만들어진 다양한 도구 제공
- asm-util.jar
- org.objectweb.asm.commons
- 대부분 이벤트 기반 API로 만들어진, 몇가지 유용한 미리 정의된 변환 클래스 제공
- asm-commons.jar
- org.objectweb.asm.tree
- 객체 기반 API
- 이벤트 기반 API <-> 객체 기반 변환 도구 제공
- asm-tree.jar
- org.objectweb.asm.tree.analysis
- 객제 기반 API로 만들어진 클래스 분석 프레임웍 및 몇가지 미리 정의된 클래스 분석기를 제공
- asm-analysis.jar
'프로그래밍 > BCI' 카테고리의 다른 글
[Java] ASM을 이용한 클래스 생성 (0) | 2015.03.19 |
---|---|
[Java] ASM을 이용한 .class 파일 파싱 (0) | 2015.03.19 |
[Java] javap 프로그램을 이용하여 .class파일 출력 (0) | 2015.03.18 |
[Java]컴파일된 클래스 내부에서의 타입 및 메소드 표현 (0) | 2015.03.18 |
[Java]컴파일된 클래스 구조 (0) | 2015.03.18 |