2010-12-16 3 views
6

Я понимаю общие различия между понятиямиJava: отражение (во время выполнения) по сравнению с зеркалированием (при обработке аннотаций)

  • отражения (сделано в выполнении с использованием Class, Method, Field, Annotation, ...) и
  • зеркальное отображение (сделано во время обработка аннотации с использованием TypeMirror, TypeElement, ...).

Но может кто-то, пожалуйста, сравнить два понятия в глубину (или указать мне на ресурс, где это делается)?

Например, какая концепция предлагает какие виды информации о том, что другой не предлагают ...

Спасибо.

ответ

3
  • классы отражения используются для обозначения классов объектов в запущенном JVM. Отражение - очень старая концепция, которая присутствует на Java с самого начала. Как таковой, в некоторых областях он немного неуклюж, был расширен, чтобы разместить новые языковые конструкции (особенно дженерики).
  • Классы в javax.lang.model используются для работы с Java исходный код. Они были разработаны, когда Generics уже существовали и могут (и должны) поддерживать их гораздо более широко, поскольку они используются до Тип стирания происходит.
+0

спасибо. Но, как я уже упоминал, общие понятия известны, и я надеялся на углубленный анализ. Кстати, я думаю, что утверждение о том, что размышление было расширено для поддержки дженериков, неверно, как вы упомянули сами, они стираются во время выполнения. – 2010-12-16 20:34:45

+0

О, я вижу, говоря, что java.lang.reflect был расширен для дженериков, вы, вероятно, ссылаетесь на `java.lang.reflect.TypeVariable`. Хм, никогда не использовал его, сообщит об этом ... – 2010-12-16 20:44:21

 Смежные вопросы

  • Нет связанных вопросов^_^