虚拟机相关介绍

一、Java堆
    Java堆是和Java应用程序关系最密切的内存空间,几乎所有的对象都存放在其中,并且Java堆完全是自动化管理的,通过垃圾回收机制,垃圾对象会自动清理,不需要显示地释放。
    
    根据垃圾回收机制不同,Java堆有可能拥有不同的结构。最为常见的就是将整个Java堆分为新生代和老年代。其中新生代存放新生的对象或者年龄不大的对象,老年代则存放老年代对象。

    新生代分为Eden区,s0区、s1区,s0和s1区也被称为from和to区域,他们是两块大小相等并且可以互换角色的空间。

    当GC发送的时候,如果首先清理的是s0区,把不用的对象清理,把在使用的复制到s1区;如果再次清理的是s1区,同样的原理。

    绝大多数情况下,对象首先是分配在Eden区,再一次新生代回收后,如果对象还存活,则会进入s0或者s1区。之后每经过一次新生代回收,如果对象存活则它的年就加1,当对象达到一定的年龄后,则进入老年代。


二、垃圾回收算法:

    复制算法:其核心思想就是将内存分为两快,每次只使用其中一块,在垃圾回收时,将正在使用的内存中的存留对象复制到未被使用的内存块中去。之后去清楚之前正在使用的内存块中所有的对象,反复去交换两个内存中的角色,完成垃圾收集。
    (Java中新生代的from和to空间就是使用这个算法)。
标记压缩算法:在标记清除法基础之上做了优化,把存活的对象压缩到内存一端,而后进行垃圾清(Java中老年代使用的就是标记压缩算法)。
  三、相关参数的详细配置
http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html

转载于:https://my.oschina.net/u/2380961/blog/919770

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值