日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java类 连接时机_java类的加载时机

發布時間:2025/3/8 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java类 连接时机_java类的加载时机 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類加載

它直接表現出來的代碼應該是 ClassLoader.getSystemClassLoader().loadClass("com.my.test.AbcClass")。所以具 體完成類的加載工作的,是常被提到的類加載器ClassLoader,它就是專門干這件事的。“類的加載”具體而言就是指將類.class文件中的二進制 數據讀入到內存中將其放在方法區內,然后在堆區創建一個java.lang.Class對象,所以說“加載”的最終產出是堆中的一個Class對象,它一 產生,加載這件事就干完了。這里又引出一個東東——方法

上圖截自畢玄大師的ppt,描繪了jvm內存的布局,書中都會說到方法區中存放的是類信息、類的field信息、方法信息都在其中;另外以前聽到過一種說法:“堆(新生代+老生代)是留給java開發人員使用的,非堆(持久帶即方法區)是留給jvm自己使用的”。再回過頭看上面的描述——“類的加載”就是指將類的.class文件中的二進制數據讀入到內存中將其放在方法區內,然后在堆區創建一個 java.lang.Class對象,換句換說“類的加載”就是為了給程序員一個可以獲得類相關定義信息的窗口,這個窗口就是Class對象,類加載的過 程中將方法區的結構化類定義信息映射到堆里的一個實體Class對象中,進而程序員可以通過這道橋梁最終得到該類的一個實例,比如調用Class的 newInstance()。

類的加載時機

目前我理解類的加載時機不受程序員控制,由jvm自己控制,或許它需要考慮一些優化策略,比如對于一些jvm認為未來很可能需要用到的類,jvm可 以在空閑時提前加載,即提前準備好堆中的Class對象。類加載最遲的時機應該很明確,等同于類的初始化時機,下面說初始化時會說到。

總結

以上是生活随笔為你收集整理的java类 连接时机_java类的加载时机的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。