사실, 가능합니다.
00000000 ca fe ba be 00 00 00 34 00 0a 07 00 02 01 00 02 |.......4........|
00000010 43 30 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e |C0......java/lan|
00000020 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 |g/Object...<init|
00000030 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 |>...()V...Code..|
00000040 03 00 09 0c 00 05 00 06 00 20 00 01 00 03 00 00 |......... ......|
00000050 00 00 00 01 00 00 00 05 00 06 00 01 00 07 00 00 |................|
00000060 00 11 00 01 00 01 00 00 00 05 2a b7 00 08 b1 00 |..........*.....|
00000070 00 00 00 00 00 |.....|
00000000 ca fe ba be 00 00 00 34 00 0b 07 00 02 01 00 02 |.......4........|
00000010 43 30 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e |C0......java/lan|
00000020 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 |g/Object...<init|
00000030 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 |>...()V...Code..|
00000040 03 00 09 0c 00 05 00 06 01 00 0a 44 65 70 72 65 |...........Depre|
00000050 63 61 74 65 64 00 20 00 01 00 03 00 00 00 00 00 |cated. .........|
00000060 01 00 00 00 05 00 06 00 01 00 07 00 00 00 11 00 |................|
00000070 01 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 00 |.......*........|
00000080 00 01 00 0a 00 00 00 00 |........|
당신이 만약
대 : 함께 또는 @deprecated의 JavaDoc 태그없이 컴파일
같은 사전 1.5 소스 코드, 바이트의 몇 다른 클래스 파일을 생성 JVM Specification, Chapter 4을 살펴보면 ClassFile
구조에 Deprecated
속성 (§4.7.15)이 있습니다. 할 수
거기 도구는 클래스가 사용되지할지 여부를 결정합니다 :
당신은 계속 진행하여 ClassFile
구조를 직접 구현하거나, 당신은 GPLv2에 대한 아무것도없는 경우, org.gjt.jclasslib.structures.AttributeInfo
클래스를 살펴 할 수 있습니다.
질문은 * runtime *에서이 작업을 수행 할 방법을 구체적으로 묻습니다. –
질문에 명시 적으로 API가 공개되고 문서화되어야한다는 것은 아닙니다. 다시 한번 말하지만 이것은 메커니즘이 문서화되지 않았고 지원되지 않을 수도 있음에도 불구하고 기술적으로 실현 가능합니다. 예를 들어, 사용자 정의 클래스 로더가 포함되어 있지 않으면 클래스 경로를 스캔하고 필요한 클래스를 찾을 때까지 JAR 항목을 반복하고 JAD로 디 컴파일 한 후 정규 표현식으로 도구 출력을 처리 할 수 있습니다. – Bass