当前位置: 首页 > news >正文

网站连接微信中信建设有限责任公司资阳分公司

网站连接微信,中信建设有限责任公司资阳分公司,wordpress怎样添加左侧菜单的功能,电子商务是干什么的问题:java中创建的对象一般放在哪里?(全流程包含从创建到回收) 回答 大部分对象在堆中,这个基本都知道; 少部分对象是会在栈中的,比如作用域不局限于方法内的方法内部变量,这类对象的特征一般就是生命周期…

问题:java中创建的对象一般放在哪里?(全流程包含从创建到回收)

回答

大部分对象在堆中,这个基本都知道;
少部分对象是会在栈中的,比如作用域不局限于方法内的方法内部变量,这类对象的特征一般就是生命周期短、内存小;
至于为什么要放一部分进栈中,是为了避免这种小而短的对象加大GC的频率,这种对象方法结束会随着栈帧的释放而释放,减少堆的垃圾回收的压力。
在jdk1.6之后,基本都默认开启了相关配置,去监测这种所谓的逃逸对象,当 发现对象没有逃逸的可能,作用域仅局限于方法内且大小没那么大时,就会把它分配到栈中,这些都有相关参数可以配置。

问题:讲了栈中的对象,那你讲讲放入堆中的对象一般是怎么处理的?

回答

在这里插入图片描述

常规情况下,我们创建的对象,都默认是生命周期比较短的,优先分配在年轻代的Eden区。
然后就进入了常规的分代收集算法的流程,这里可以参考另一篇博客中的分代收集算法部分最全的GC流程描述
这里再补充一下里面没提到的几个细节

  1. 为什么默认年龄是15? 在程序编程中,15是个很敏锐的数字,因为是2^4-1,也就是4个比特位所能表达的对象大小。事实上,java对象头上存储分代年龄的长度确实就是4bit,详见多线程原理之synchronized锁的原理
  2. 动态年龄判断 除了年龄达到15,还有一个方式会进入老年代,就是在survivor空间中相同年龄的对象的总大小大于总空间大小的一半,那么此时年龄大于等于这个相同年龄的对象都会进入老年代。简单来说,就是动态的决定进入老年代的年龄阈值,比如年龄为3的对象就占了超过一半的空间大小,说明老龄化很严重了,有必要提前把它们放进老年代。
  3. 空间分配担保 在minorGC之前,会检查老年代最大连续可用空间是否大于新生代所有对象的总空间,来保证GC之后的对象若进入老年代的话有地方去。如果不够,通常就是fullGC,但是我们的原则是能不full就不full,所以有了一个空间分配担保机制----当出现上述情况时,检查老年代最大连续可用空间是否大于历代回收到老年代的对象的平均大小,如果大于,那么直接fullGC;如果小于这个平均大小,那就认为这次大概率也不会超过,正常发起minorGC即可。
http://www.yayakq.cn/news/673204/

相关文章:

  • 中国建设网官方网站企业登录德阳网站seo
  • 镇海淘宝网站建设常见的门户网站有哪些
  • 企业网站蓝色模板下载wordpress is_login
  • 微信公众号微网站建设怎样推广平台
  • 专业做面膜的网站网站到期续费吗
  • 网站快速收录入口帝国网站管理系统如何做商城
  • 旗舰店的网站怎么做win怎么使用wordpress
  • 网站菜单样式郑州网站建设 天强科技
  • 域名解析管理网站聊城网站建设潍坊
  • 长沙网站建设营销国外模板网站
  • 甘肃省建设厅招标办网站文件夹里内容做网站的分类
  • 徐州鸿美网站建设机电工程栏建设项目网站建设
  • 做绿色产品的网站国际机票网站建设
  • 电脑网站 源码不做百度了 百度做的网站
  • 企业网站轮播图好姑娘高清免费观看
  • 网站内页301wordpress个人支付接口
  • 贵州网站建设gzzctyi哈尔滨做网站seo
  • 做博客网站用什么模板anew wordpress 下载
  • 大连高端网站建设国际时事新闻最新
  • seo网站内部优化深圳网站设计公司哪种
  • 建站平台选择建议陌陌引流推广软件
  • 网站根目录有哪些商城网站建设公司地址
  • 外国网站代理网站的色彩
  • 教育网站建设改版网站建设递进发展趋势
  • 软件网站模版国外开源建站系统
  • 门户型网站晋中推广型网站开发
  • 企业网站建设有哪些优势广州市住房和城乡建设局网站
  • 上手机淘宝网站建设宁波高端品牌网站建设
  • 北京网站域名备案查询wordpress查看内容插件
  • 蚌埠市网站建设wordpress列表页不显示图片