В .class файлах как и в dll сборках хранятся метаданные.Их можно получить с помощью рефлексии.
Например:
Class className = Person.class;
Annotation[] annotations = className.getAnnotations(); P.S - В Java для связывания метаданных используются аннотации, а в C# - атрибуты.
cthulhudx: получается, как бы 2 основных этапа оптимизации - компилятор и JIT. И оба пользуются метаданными... :) Не знаю, зачем мне это знать как разработчику (будущему) ... Разработчику это вообще нужно, или всю работу он выполняет на уровне исходного кода?
nevro: Ну они не всегда пользуются метаданными, но в большом проценте случаев.Знать это конечно же нужно, и понимать как работает виртуальная машина нужно тоже.