new出来的对象怎么回收_JVM的内存模型及垃圾回收算法
生活随笔
收集整理的這篇文章主要介紹了
new出来的对象怎么回收_JVM的内存模型及垃圾回收算法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、什么是jvm:
虛擬出來的計算機,是jre的一部分,使用jvm是為了支持與操作系統(tǒng)無關,實現(xiàn)跨平臺,jvm內(nèi)部體系結(jié)構(gòu)主要分為三個部分:類加載器子系統(tǒng),運行時數(shù)據(jù)區(qū)和執(zhí)行引擎。
2、jvm內(nèi)存區(qū)域
運行時數(shù)據(jù)區(qū)
3、jvm內(nèi)存模型
根據(jù)Java虛擬機規(guī)范,JVM將內(nèi)存劃分為:
- New(年輕代)
- Tenured(年老代)
- 永久代(Perm)
其中New和Tenured屬于堆內(nèi)存,堆內(nèi)存會從JVM啟動參數(shù)(-Xmx:3G)指定的內(nèi)存中分配,Perm不屬于堆內(nèi)存,有虛擬機直接分配,但可以通過-XX:PermSize -XX:MaxPermSize 等參數(shù)調(diào)整其大小。
- 年輕代(New):年輕代用來存放JVM剛分配的Java對象
- 年老代(Tenured):年輕代中經(jīng)過垃圾回收沒有回收掉的對象將被Copy到年老代
- 永久代(Perm):永久代存放Class、Method元信息,其大小跟項目的規(guī)模、類、方法的量有關,一般設置為128M就足夠,設置原則是預留30%的空間。
4、垃圾回收算法
- 標記-清除算法(CMS年輕代)
- 復制算法(CMS年輕代)
- 標記-整理算法(CMS老年代)
查看內(nèi)存工具
jconsole
jvisualvm
jmap
jstatus
https://cloud.tencent.com/developer/article/1346963
參見:https://www.zhihu.com/question/347865136/answer/836112517
jvm:內(nèi)存模型、內(nèi)存分配及GC垃圾回收機制 - 掘金?juejin.im總結(jié)
以上是生活随笔為你收集整理的new出来的对象怎么回收_JVM的内存模型及垃圾回收算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html5把六张图片做成立方体,HTML
- 下一篇: insert into select 优