Java tres agentes: agente dinámico, estático, Cglib

Articulo de referencia:

1. https://www.zhihu.com/question/20794107/answer/658139129 (explicación detallada de los agentes estáticos y dinámicos)

2. Acerca de Cglib: https://zhuanlan.zhihu.com/p/70098824

 


1. El propósito general de la agencia : expandir las funciones del objeto objetivo. No cambia su propia función;

2. Modos de proxy comunes : estático, dinámico, proxy Cglib. Los dos primeros son adecuados para el objeto de destino que implementa la interfaz, y el último es adecuado para el objeto de destino que no implementa la interfaz;

3. La idea de proxy del objeto de destino con interfaz: basada en la idea de copiar + extensión, crear una clase de proxy: para extender mejor sobre la base original, la clase de proxy y la clase de destino pueden realizar la misma interfaz (similar a copiar, luego Expandir);

4. Basado en diferentes métodos de "copia", se divide en agentes estáticos y dinámicos : los siguientes se utilizan principalmente para comprensión y memoria, y el código específico se refiere al artículo.

avance

  • La estática es la siguiente:

avance

  • La dinámica es la siguiente:

Omita la generación de clases de proxy y genere directamente objetos de proxy.

 

Acerca del puente entre el objeto proxy y el objeto de destino-InvocationHandler:

 

 

 

Supongo que te gusta

Origin blog.csdn.net/Longtermevolution/article/details/108336244
Recomendado
Clasificación