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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

jvm垃圾回收器(《深入理解java虚拟机》)

發布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvm垃圾回收器(《深入理解java虚拟机》) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

---恢復內容開始---

程序計數器、虛擬機棧、本地方法棧,這三個區域隨著線程生,隨著線程死。重復入棧出棧,還有基本確定 編譯后 各區域所需要的內存大小是確定的。所以這部分回收不需要過多考慮。

主要回收對象為堆、方法區。java動態原則,大多數對象都是運行期間才會被加載的,所以堆上的容量是動態(分配和回收)變化的。

1.堆上回收內存(回收已死對象)

怎么判斷已死?

每個類都有一個finalize()方法,,jvm判斷一個對象是否死亡,先根搜索算法篩一遍,標記出不可達對象,,并放在一個隊列中,由一個線程去逐個執行finalize()方法。若某個對象重寫了finalize()方法,并且在此方法中成功講自己連接出去了,,那就抹去標記,暫留狗命。若沒有重寫或沒有成功推出自己,則只有等死。

finalize()方法,在一次次回收中,,只會被系統調用一次。(?)

finalize()一般被用在對象快死了,,釋放被其占用的資源。但是 try finally? 好像也可以。

?

2.方法區回收

這部分是有回收的,廢棄的常量和 無用的類。

?

?

3.垃圾回算法

3.1標記回收

先標記再回收:可能產大量碎片,,沒有可以被分配的連續內存,效率也底。

3.2復制算法

兩塊一樣大的內存,,一塊用的差不多的了,,將上面活著的對象復制到另一塊上,,原來的清空。

?

?

3.3標記-整理算法

讓存活的對象自己想某個區域”靠近“,,然后回收這個區域端邊接意外的內存。

3.4分代收集算法

?

4.垃圾收集器

http://www.cnblogs.com/zuoxiaolong/p/jvm8.html

?

5.內存分配與回收策略

https://www.cnblogs.com/xiaoxi/p/6557473.html

?

轉載于:https://www.cnblogs.com/haerwang/p/10030718.html

總結

以上是生活随笔為你收集整理的jvm垃圾回收器(《深入理解java虚拟机》)的全部內容,希望文章能夠幫你解決所遇到的問題。

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