所有java程序都运行在Java虚拟机(JVM)上。编译后,java 类将转换为平台和与机器无关的字节码,并且编译后的类存储为.class 文件。每当我们尝试使用它时,ClassLoader都会将该类加载到内存中。当通过名称引用这些类时,这些类就被引入到 Java 环境中。一旦类开始运行,类的加载就由类加载器完成,并且 main() 方法是启动该类的一种方法。
Java 9 中的类加载器有一些小的变化:
public class ClassLoaderTest { public static void main(String args[]) { System.out.println("Class Loader Test"); ClassLoaderTest test = new ClassLoaderTest(); try { test.showClassLoaders(); } catch(ClassNotFoundException cnfe) { System.out.println(cnfe.getMessage()); } } public void showClassLoaders() throws ClassNotFoundException { System.out.println("Classloader of this class: " + <strong>ClassLoaderTest.class.</strong><strong>getClassLoader()</strong>); System.out.println("Classloader of Permission: " + <strong>java.sql.SQLPermission.class.</strong><strong>getClassLoader()</strong>); System.out.println("Classloader of LinkedList: " + <strong>java.util.LinkedList.class.</strong><strong>getClassLoader()</strong>); return; } }
<strong>Class Loader Test Classloader of this class: jdk.internal.loader.ClassLoaders$AppClassLoader@504bae78 Classloader of Permission: jdk.internal.loader.ClassLoaders$PlatformClassLoader@299a06ac Classloader of LinkedList: null</strong>
以上是Java 9中的类加载器有哪些变化?的详细内容。更多信息请关注PHP中文网其他相关文章!