Java

2020-01-15 Java 中Run-time Built-

2020-01-15  本文已影响0人  雨笋情缘

Run-time Built-in Class Loaders

The Java run-time has the following built-in class loaders:

1. Bootstrap class loader. 

It is the virtual machine's built-in class loader, typically represented as null, and does not have a parent.

2. Platform class loader

All platform classes are visible to the platform class loader that can be used as the parent of a ClassLoader instance. Platform classes include Java SE platform APIs, their implementation classes and JDK-specific run-time classes that are defined by the platform class loader or its ancestors.

To allow for upgrading/overriding of modules defined to the platform class loader, and where upgraded modules read modules defined to class loaders other than the platform class loader and its ancestors, then the platform class loader may have to delegate to other class loaders, the application class loader for example. In other words, classes in named modules defined to class loaders other than the platform class loader and its ancestors may be visible to the platform class loader.

3. System class loader

It is also known as application class loader and is distinct from the platform class loader. The system class loader is typically used to define classes on the application class path, module path, and JDK-specific tools. The platform class loader is a parent or an ancestor of the system class loader that all platform classes are visible to it.

上一篇 下一篇

猜你喜欢

热点阅读