Reflexión (preguntas de la entrevista Java)

1. ¿Qué es la reflexión?

(1) En tiempo de ejecución, para cualquier clase, puede conocer las propiedades y métodos de esta clase
(2) En tiempo de ejecución, para cualquier objeto, puede llamar a las propiedades y métodos de este objeto
(3) Esta adquisición dinámica de información Y la función de llamar dinámicamente métodos de objeto se llama mecanismo de reflexión de Java

2. ¿Cuál es el papel de la reflexión?

(1) En tiempo de ejecución, determine la clase a la que pertenece cualquier objeto
(2) En tiempo de ejecución, construya un objeto de cualquier clase
(3) En tiempo de ejecución, determine las propiedades y métodos de cualquier clase
(4) En tiempo de ejecución, llame a Las propiedades y métodos de cualquier objeto.

3. Escenarios de aplicación de la reflexión.

(1) Controlador de carga JDBC ClassForName
(2) El proxy dinámico JDK utiliza un mecanismo de reflexión para generar la clase de proxy

4. ¿Cuáles son los métodos comunes de reflexión?

// Crear objeto de prueba por reflexión
Object test = Class.forName (Test.class.getName ()). NewInstance ();
// Obtener método de servicio: sayHello
Método method = test.getClass (). GetMethod ("sayHello", String .class);
// Reflexiona para llamar al método
method.invoke (test, "world");

5. ¿Las ventajas y desventajas del mecanismo de reflexión?

Ventajas: puede ejecutarse dinámicamente, maximizar la flexibilidad de Java
Desventajas: la ejecución es más lenta que el código Java ordinario

6. ¿Cuál es la diferencia entre .class y .getClass () y Class.forName ()?

.class obtiene el objeto Class por nombre de
clase.getClass () obtiene el objeto Class por instancia
Class.forName () obtiene el objeto Class por nombre completo de clase

7. ¿Cuál es la diferencia entre objeto de clase y objeto de instancia?

Objeto de clase: se genera un objeto de clase después de compilar cada clase.
Objeto de instancia: el objeto de instancia se instancia a través del objeto de clase.
Todas las clases se cargan dinámicamente en la JVM cuando se usan por primera vez (carga diferida)

8. ¿Qué es la serialización y la deserialización? Cuando se usa

Serialización: El proceso de convertir un objeto en un código binario.
(1) El objeto serializado necesita implementar una interfaz de serialización.
(2) Para mantener la estabilidad del proceso de serialización, agregue el número de versión serializada a la clase.
(3) Declaración Las variables miembro que son estáticas y transitorias no se pueden serializar. las variables miembro estáticas son atributos que describen el nivel de clase, transitorio significa datos temporales
(4) que una clase se puede serializar, luego sus subclases también se pueden serializar
(5) deserialización, la secuencia de lectura de objetos serializados debe ser consistente
Deserialización: El proceso de convertir la codificación binaria en objetos.
Cuando los objetos Java necesitan ser transmitidos a través de la red o almacenados de manera persistente en un archivo, los objetos Java deben ser serializados.

52 artículos originales publicados · Me gusta2 · Visitas 1856

Supongo que te gusta

Origin blog.csdn.net/qq_42972645/article/details/105657939
Recomendado
Clasificación