2010-12-16 8 views
6

entiendo las diferencias generales entre los conceptos deJava: la reflexión (en tiempo de ejecución) frente al espejo (en el procesamiento de anotación)

  • reflexión (hecho en tiempo de ejecución usando Class, Method, Field, Annotation, ...), y
  • reflejando (hecho durante proceso de anotación usando TypeMirror, TypeElement, ...).

¿Pero alguien puede comparar los dos conceptos en profundidad (o señalarme un recurso, donde está hecho)?

Por ejemplo, que el concepto ofrece los tipos de información que el otro no ofrece ...

Gracias.

Respuesta

3
  • clases de reflexión se utilizan para representar las clases de objetos en una JVM que ejecuta. La reflexión es un concepto muy antiguo que ha estado presente en Java desde el principio. Como tal, es un poco torpe en algunas áreas, se ha ampliado para acomodar construcciones de lenguaje nuevo (especialmente genéricos).
  • Las clases en javax.lang.model se utilizan para trabajar con el código fuente de Java. Fueron diseñados cuando Generics ya existía y pueden (y deben) soportarlos mucho más extensamente, ya que se usan antes de que ocurra el borrado de tipo.
+0

Gracias. Pero, como mencioné, los conceptos generales son conocidos, y esperaba un análisis en profundidad. Por cierto, creo que la afirmación de que la reflexión se ha extendido para respaldar los genéricos es incorrecta, como usted mencionó, se borran durante el tiempo de ejecución. –

+0

Oh, ya veo, al decir que java.lang.reflect se amplió para los genéricos, es probable que te estés refiriendo a 'java.lang.reflect.TypeVariable'. Hmm, nunca lo usé, me lo informaré ... –

+2

@java.is.for.desktop: los parámetros de tipo de los objetos se borran, pero los parámetros de tipo en el campo, el método y las definiciones de clase no. –

0

Creo que encontrará la respuesta en this paper.

+0

Gracias por el documento, pero es muy difícil de leer, ya que está destinado a la audiencia de investigación. Sería genial si puedes describirlo brevemente desde una perspectiva técnica. –

Cuestiones relacionadas