Cómo entiende Java los cargadores de clases
Los programas Java (archivos de clase) no son programas ejecutables nativos. Al ejecutar un programa Java, primero ejecute la JVM (Máquina virtual Java) y luego cargue las clases Java en la JVM para su ejecución. La parte responsable de cargar las clases Java se llama Cargador de clases.
La JVM en sí contiene un ClassLoader llamado Bootstrap ClassLoader, y en la JVM, BootstrapClassLoader se implementa en código nativo y es responsable de cargar la JavaClass central (es decir, todas las clases que comienzan con java.*). Además, la JVM también proporcionará dos ClassLoaders escritos en Java y cargados por BootstrapClassLoader; el Extension ClassLoader es responsable de cargar las extensiones Javaclasses (por ejemplo, todas las clases que comienzan con javax.* y las clases almacenadas en el directorio ext de JRE), y el ApplicationClassLoader es responsable de cargar las JavaClasses principales (es decir, todas las clases que comienzan con javax.* y las clases almacenadas en el directorio ext de JRE), ApplicationClassLoader es responsable de cargar las JavaClasses principales (es decir, todas las clases que comienzan con javax.* y las clases almacenadas en el Directorio ext de JRE), todas las clases que comienzan con java.* y las clases almacenadas en el directorio ext de JRE), ApplicationClassLoader es responsable de cargar las clases propias de la aplicación. Al ejecutar el programa, la JVM se inicia, ejecuta el cargador de clases de arranque, carga la API central de Java (ExtClassLoader y AppClassLoader también se cargan en este momento), luego llama a ExtClassLoader para cargar la API de extensión y, finalmente, AppClassLoader carga las clases definidas en CLASSPATH. directorio. Este es el proceso de carga más básico del programa.