所有java程式都運行在Java虛擬機器(JVM)上。編譯後,java 類別將轉換為平台和與機器無關的字節碼,並且編譯後的類別儲存為.class 檔案。每當我們嘗試使用它時,ClassLoader都會將該類別載入到記憶體中。當透過名稱引用這些類別時,這些類別就會被引入到 Java 環境中。一旦類別開始運行,類別的載入就由類別載入器完成,而 inin() 方法是啟動該類別的一種方法。
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中文網其他相關文章!