Java source는 classfile 구조를 거쳐 verifier·interpreter·JIT가 실행한다

javap 출력은 source 복원이 아니라 JVM이 보는 descriptor·flag·instruction·attribute를 보여 줍니다.

  1. 1

    .java source

    generic·lambda·finally

  2. 2

    javac

    lowering·type erasure

  3. 3

    .class

    descriptor·flags·Code·attributes

  4. 4

    JVM verify/load

    binary contract 검사

  5. 5

    execute

    interpreter + JIT

핵심: runtime frame과 linkage 오류를 source 이름만으로 설명할 수 없을 때 classfile 경계를 확인합니다.