java 中所有類型轉換都在運行時檢查正確性,也就是在運行時識別一個對象類型。而運行時類型識別通過使用 class 對象來執行。
每個類都有一個 class 對象,也就是每當編譯了一個新的類,JVM就會通過類加載器產生一個 class 對象(確切而言,是保存在一個同名的.class文件中)。
類加載器可以包含一條類加載器鏈,但只有一個原生類加載器,加載所謂的“可信類”(包括從本地盤加載的 java API 類)。如果有特殊需求可以掛載額外的類加載器。
程序在創建第一個對類的靜態成員引用時會加載該類(使用 new 創建的對象也會被當做對靜態成員的引用),類的各個部分是在需要時才被加載。