2011-10-30 1 views
4

여러 Java 클래스를 하나로 병합하고 싶습니다. ASM 문서와이 http://www.jroller.com/eu/entry/merging_class_methods_with_asm을 읽었지만 내 목표를 달성하는 방법을 이해할 수 없습니다.런타임시 여러 Java 클래스를 ASM과 결합

이에 대한 자세한 사례가 있습니까?

덕분에 자바 1.5에서

+0

이것이 두 클래스를 병합하려는 방법이라고 확신합니까? 이것이 의미가없는 경우 코드를 함께 추가하여 두 가지 방법을 병합합니다. 왜 이것을하고 싶은지 설명해 주시겠습니까? –

+0

하나의 유형 만 관리하기 위해 여러 데이터 유형을 하나로 통합하려고합니다. – Sergio

+2

런타임에 이들을 결합하면 관리 오버 헤드를 줄일 수 있습니까? 지원되지 않는 배포 방법론을 제외하고는 여전히 여러 개의 소스 파일이 있습니다. 그런 프로그램을 어떻게 디버깅하겠습니까? –

답변

0

런타임 프로그램의 바이트 코드를 조작 할 수있는 기능이라고 계측이 있습니다. 또한 클래스 로더가 특정 클래스를 JVM 메모리에로드하는 동안 바이트 코드를 조작 할 수도 있습니다. ASM 프레임 워크는 바이트 코드 어셈블러를 읽을 수있는 것으로 변환하고 작업을 단순화하는 유틸리티를 추가하여 바이트 코드를 손쉽게 조작 할 수있는 도구를 제공합니다. 바이트 코드를 조작하는 것은 매우 진보 된 기술이며, 실제로 수행하기 전에 JVM과 바이트 코드에 대해 알아야합니다. 개인적으로 위에 나온 아이디어를 제안 할 것을 제안합니다. 그래도 여전히 pres presisting이라면 여기 계측에 대해 읽어 보시기 바랍니다 : http://www.javalobby.org/java/forums/t19309.html 그리고 ASM이나 javaassist 프레임 워크로의 깊은 잠수보다 : http://sleeplessinslc.blogspot.co.il/2008/07/java-instrumentation.html 나는 자바 어시스턴트가 더 쉽다고 생각합니다. 내가 도와줬으면 좋겠다