gc是什么意思(gc是什么牌子)

GC指的是垃圾收集器。当一个对象不能再被后续程序引用时,这个zhuan对象空占用的内存就没有了存储dao的意义。java虚拟机会时不时的在内存中检测到这样的对象

GC指的是垃圾收集器。当一个对象不能再被后续程序引用时,这个zhuan对象空占用的内存就没有了存储dao的意义。java虚拟机会时不时的在内存中检测到这样的对象,然后回收这个内存空。

gc是什么意思(gc是什么牌子)

GC的基本原理:

对于程序员来说,使用new关键字意味着在堆中分配内存,我们称之为“reachable”。对于GC来说,只要所有被引用的对象都为空,我们就称之为“不可达”,并将回收内存。

当一个对象被创建时,GC开始监控它的大小、内存地址和使用情况。GC通过有向图记录和管理堆中的所有对象。这样,就可以清楚地知道哪些对象是可到达的,哪些是不可到达的。当确定它不可到达时,它被回收。

为了保证GC在不同平台上的实现,java规范并没有严格规定它的很多行为。用什么算法,什么时候回收等等。

垃圾收集机制有很多种,包括:分代副本垃圾收集、标记垃圾收集、增量垃圾收集等。标准的Java进程既有栈又有堆。堆栈保存原始局部变量,堆保存要创建的对象。Java平台堆内存回收再利用的基本算法叫做标记清除,但Java对其进行了改进,采用了“分代垃圾收集”。这种方法会在Java对象的生命周期中将堆内存划分为不同的区域。在垃圾收集期间,对象可能被移动到不同的区域:
- Eden:这是对象最初诞生的区域,对于大多数对象来说,这是它们唯一存在过的区域。
-幸存者:来自伊甸园的幸存者将被移到这里。
-终身保有的花园:这是年龄足够大的幸存者的家。年轻一代收集(Minor-GC)过程不会触及这个地方。当年轻一代的收集无法将对象放入终身退休花园时,就会触发一个Major-GC,可能还会涉及压缩,以便为大型对象腾出足够的空空间。

与垃圾收集相关的JVM参数:

-xms/-xmx-堆的初始大小/堆的最大大小-xmn-堆中年轻一代的大小-xx:-disableexplicitgc-let system . gc()不产生任何影响-XX:+printgcdetails-打印gc的详细信息-XX:+printgcdatestamps-打印GC操作的时间戳-XX:新大小/xx:最大新大小-设置新世代的大小/新世代的最大大小-XX:new ratio-可以设置老世代和新世代的比例-XX:printenuringdistribution-设置分配

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/394670.html

发表回复

登录后才能评论