mecanismos de delegado relacionados con los padres

¿Cuál es el mecanismo para que los padres delegado

Cuando un cargador de clases tiene que cargar un archivo .class, primero se puso la tarea encomendada a su cargador de clase superior, la repetición de esta operación, si el cargador de clases padre no está cargado, usted comenzará a cargar la clase.

Categoría cargador de clases

BootstrapClassLoader (Start clase loader)
escrito en C ++, Java cargado java base de la biblioteca. *, Construcción ExtClassLoader y AppClassLoader. Debido a que el cargador de clases de arranque esté a una máquina virtual detalles de implementación locales, los desarrolladores no pueden llegar directamente a las referencias cargador de clases de arranque, por lo que no permiten la manipulación directa por referencia

ExtClassLoader (cargador de clases de extensión estándar)
java preparado, cargue la extensión, como la ruta de clases JRE, javax. * O
ubicaciones java.ext.dir especificado para los desarrolladores utilizar el cargador de clases extensión directa estándar.

El AppClassLoader (sistema de clases loader)
java preparado, directorio cargador de clase se encuentra, tal como la ubicación donde el user.dir

CustomClassLoader (cargador de clases definidas por el usuario)
de Java escrito, cargador de clases definida por el usuario puede cargar la ruta de los archivos de clase especificada

Diagrama de flujo mecanismo designado

Aquí Insertar imagen Descripción

El papel de los padres mecanismo designado

1, para evitar la carga repetida con un .class. Delegando a preguntar el paradero de lo anterior, se cargó también, no tendrá que cargar de nuevo. Garantizar la seguridad de los datos.
2, asegurar que los .class centrales no pueden ser alterados. Por encargo de la forma, para no alterar el .class núcleo, incluso si no manipulado a la carga, incluso si la carga no es los mismos objetos .class. Diferentes cargas loader los mismos .class no es lo mismo objeto Class. Esto asegura que la clase reforzar la seguridad.

¿Cómo romper el mecanismo de los padres delegado

Custom cargador de clases, reescribir el método loadClass;
reemplazar el método loadClass requerirá tratamiento especial de su tratamiento de primera clase, de no procesamiento rango de llamar al método súper clase puede ser.

Publicados 114 artículos originales · elogios ganado 16 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_44026997/article/details/105165492
Recomendado
Clasificación