深入理解java虚拟机的问题?

问题

什么时候会触发jvm分配担保?

假设eden 8mb,survivor1 1mb,survivor2 1mb,老年代10mb

对象优先在Eden区生成,当Eden+Survivor1区已经不够分配新申请的对象空间,就会触发这里面新生代(Eden+Survivor区)的Minor GC,大部分情况下,98%会死,复制到另一块Survivor2是完全够的,那么就会选择新生代里面存活的对象复制到survivor区域中去,并清空新生代,周而复始,似乎没有问题。

但此时我有一个疑问,此时有一个3mb的对象申请分配内存,假如minor gc后发生有2mb的对象存活,这时候survivor2区域已经不够放了,这时候是直接触发分配担保,把这个2mb的对象全部转移到老年代中,还是说在survivor区域中放入1mb,另外1mb放在eden区域呢?我们这里发现上面的两种假设好像都可以满足新对象申请分配内存的要求?


其实这个问题说到底是想问,到底什么时候会触发分配担保,到底是minor gc后survivor区域不够放存活的对象呢,还是说minor gc后有大量存活的对象(假设百分之90存活),导致不够分配内存给新的对象???还是说两种都会触发分配担保?感觉书上没有说清楚!

#vivo##秋招##Java#
全部评论
你们不觉得这个问题很有探讨的必要吗
点赞 回复
分享
发布于 2019-05-18 21:53
分配担保是发生在 Minor GC 之前的吧? 要进行Minor GC了,如果老年代最大可用的连续空间小于新生代所有对象空间,则是不安全的。(安全直接Minor GC) 不安全的情况下,看是否允许担保失败。 1.不允许; 2.允许但是不满足老年代最大可用的连续空间大于历次晋升到老年代对象的平均大小; 3.允许且老年代最大可用的连续空间大于历次晋升到老年代对象的平均大小。 1和2情况进行FullGC,3尝试着进行一次 Minor GC。 (这个回答不负责任
点赞 回复
分享
发布于 2019-05-18 21:54
阿里巴巴
校招火热招聘中
官网直投
此时会判断大于其中的一块,然后产生full Gc,如果没问题就会到老年代 但是具体细节应该是会先复制到from中,在到to中,此时如果发现大于From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小
点赞 回复
分享
发布于 2019-05-18 22:42

相关推荐

发个腾讯的吧,刚面完,以为是kpi,所以没录音,能写多少是多少点击查看详情自我介绍介绍项目1.java和其他语言的区别,比如c++,python,各个方面2.知道几种编程思想,比如面向对象等等3.知道的设计模式4.jvm结构、垃圾回收算法5.乐观锁CAS6.数据结构了解哪些7.排序算法呢,说一下快排,时间复杂度。空间复杂度8.计网1.OSI七层,作用2.http状态码,502如何查找排除3.http报文结构4.https的过程,三次握手,TLS四次握手等等,认证过程5.了解过哪些加密算法,什么是对称加密和非对称加密6.cookie和session了解过吗,区别,集群里,session在一个服务器,请求分配到了其他服务器,怎么解决这种情况说了一些以后,提示我想想redis、mysql7.websocket了解过吗,。。。。我不知道8.http有哪些请求方法,然后给我个场景,问我怎么解决,具体忘了,反正他最后引导我是用head(应该)9.ping用过吗,基于什么协议10.DNS解析过程、我还说了两种方法,递归,迭代,问我迭代体现在哪11.DOS攻击是什么12.TCP三次握手。四次挥手,各阶段的状态,为什么要三次握手、四次挥手,状态那还问我,SYN_RECV之前服务器是什么状态13.为什么要等待2MSL14.TCP   UDP区别、应用场景,问我,游戏用的是什么,腾讯会议呢?我答是QUIC,不晓得对不对15.我看你这是个前后端分离项目,那么跨域问题怎么解决。我不知道。。。。16.静态资源问题,后面提醒我用CDN17.TCP拥塞控制四个过程。TCP滑动窗口了解过吗,讲一下18.TCP、UDP格式操作系统1.内核态、用户态,切换方式2.进程线程,区别、协程了解过吗(协程不知道)3.一个进程,你发现cup使用率很高,你怎么排查,我猜与协程有关,就往这方面答了4.一个线程阻塞到这里了,你怎么解决,我还是从协程方面5.进程间通信方式。调度算法6.虚拟内存了解过吗7.分段分页的调度算法8.OOM了解过吗,怎么排查,怎么解决9.什么是死锁,如何避免、解决redis、mysql1.redis持久化机制2.redis的数据结构3.其他想不起来了。。。。字数超了 #腾讯# #腾讯一
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务