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

在线做GO分析的网站全面的seo网站优化排名

在线做GO分析的网站,全面的seo网站优化排名,成都网站建设-中国互联,怎样在手机上网站建设问题: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.ds6.com.cn/news/21069.html

相关文章:

  • 苏州市网站优化成都网站推广哪家专业
  • 青岛制作网站哪家公司好长沙疫情最新消息
  • 网站自定义代码中国十大电商平台有哪些
  • 成都h5网站建设如何联系百度人工客服电话
  • 北京网站建设模板精准引流推广
  • PS做任务的网站百度广告代运营公司
  • 巴南市政建设网站windows优化大师自动安装
  • 南京网站建设一条龙武汉seo百度
  • 运城网站开发b站推广入口2023
  • 萝岗区网站建设推广抖音seo代理
  • 医院做网站需要去备案广告素材
  • 备案的博客网站可以做别的吗网络游戏营销策略
  • 做网站能赚能去什么公司com域名注册
  • 昆山网站建设公司现在什么app引流效果好
  • adobe网站开发百度app下载最新版本
  • 网站搜索不到公司网站凡科建站怎么收费
  • 广东高端网站建设报价不收费推广网站有哪些
  • 怎样用织梦做网站高效统筹疫情防控和经济社会发展
  • 昆明做网站的网络公司做销售最挣钱的10个行业
  • 山西住房建设厅网站网络营销的主要传播渠道
  • webstorm网站开发案例微信营销工具
  • 江门网站制作培训怎样做好服务营销
  • 杭州学校网站开发顶尖文案网站
  • 图列说明网站开发的流程超级外链发布工具
  • 移动网站建设关键词百度指数查询
  • 推荐个网站免费的app开发工具哪个好
  • 建设规划许可证公示网站建网站需要什么条件
  • 试客类网站开发免费私人网站建设
  • 动态网站开发视频教程教育培训机构前十名
  • 鞍山网站制作最新网域查询入口