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

手机制作网站软件下载编程培训机构排名前十

手机制作网站软件下载,编程培训机构排名前十,阿里云wordpress插件,文件生成二维码免费的文章目录 垃圾收集算法标记-清除(基础收集算法)标记-复制(新生代)标记-整理(老年代) 垃圾收集算法 标记-清除(基础收集算法) 首先标记出所有需要回收的对象,在标记完成后…

文章目录

  • 垃圾收集算法
    • 标记-清除(基础收集算法)
    • 标记-复制(新生代)
    • 标记-整理(老年代)

垃圾收集算法

标记-清除(基础收集算法)

       首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来。
缺点

  • 执行效率不稳定
           如果Java堆中包含大量对象,而且其中大部分是需要被回收的,这时必须进行大量标记和清除的动作,导致标记和清除两个过程的执行效率都随对象数量增长而降低;
  • 内存空间的碎片化问题
           标记、清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致当以后在程序运行过程中需要分配较大对象时无法找到足够的连续内存而不得不提前触发一次full GC动作。

标记-复制(新生代)

       简称复制算法,解决了标记-清除算法面对大量可回收对象时执行效率低的问题
“半区复制”(Semispace Copying):
       将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。
优点
       每次都是针对整个半区进行内存回收,分配内存时也就不用考虑有空间碎片的复杂情况,只要移动堆顶指针,按顺序分配即可。这样实现简单,运行高效
缺点
       如果内存中多数对象都是存活的,这种算法将会产生大量的内存间复制的开销。复制回收算法的代价是将可用内存缩小为了原来的一半,空间浪费未免太多了一点。
Appel式回收:
       把新生代分为一块较大的Eden空间和两块较小的Survivor空间,每次分配内存只使用Eden和其中一块Survivor。发生垃圾搜集时,将Eden和Survivor中仍然存活的对象一次性复制到另外一块Survivor空间上,然后直接清理掉Eden和已用过的那块Survivor空间。
       HotSpot虚拟机默认Eden和Survivor的大小比例是8∶1,即每次新生代中可用内存空间为整个新生代容量的90%(Eden的80%加上一个Survivor的10%),只有一个Survivor空间,即10%的新生代是会被“浪费”的。
       当然,没有办法百分百保证每次回收都只有不多于10%的对象存活。当Survivor空间不足以容纳一次Minor GC之后存活的对象时,就需要依赖其他内存区域(实际上大多就是老年代)进行分配担保。如果另外一块Survivor空间没有足够空间存放上一次新生代收集下来的存活对象,这些对象便将通过分配担保机制直接进入老年代。

标记-整理(老年代)

       标记过程仍然与“标记-清除”算法一样,然后让所有存活的对象都向内存空间一端移动,最后直接清理掉边界以外的内存。
       标记-清除算法与标记-整理算法的本质差异在于前者是一种非移动式的回收算法,而后者是移动式的。是否移动回收后的存活对象是一项优缺点并存的风险决策:

  • 如果移动存活对象,尤其是在老年代这种每次回收都有大量对象存活区域,移动存活对象并更新所有引用这些对象的地方将会是一种极为负重的操作,而且这种对象移动操作必须全程暂停用户应用程序才能进行;(“Stop The World”)
  • 但如果不移动和整理存活对象,堆中的空间碎片化问题就只能依赖更为复杂的内存分配器和内存访问器来解决。譬如通过“分区空闲分配链表”来解决内存分配问题(计算机硬盘存储大文件就不要求物理连续的磁盘空间,能够在碎片化的硬盘上存储和访问就是通过硬盘分区表实现的)。内存的访问是用户程序最频繁的操作,势必会直接影响应用程序的吞吐量。
           从整个程序的吞吐量来看,移动对象会更划算。
    “和稀泥式”的解决方案(你来设计垃圾收集)
           虚拟机平时都采用标记-清除算法,直到内存空间的碎片化程度已经大到影响对象分配时,再采用标记-整理算法收集一次,以获得规整的内存空间。
http://www.15wanjia.com/news/40613.html

相关文章:

  • html网站怎么做视频教程seo课程心得体会
  • 江苏天目建设网站网站页面怎么优化
  • 山东网站建设价格实惠seo推广有哪些公司
  • 抚州建设网站的公司山东seo推广
  • 为何建设银行网站无法登陆小红书推广运营
  • 网站建设开发模式h5石家庄百度关键词搜索
  • ppt汇报模板下载无线网络优化工程师
  • asp网站模版安装灰色行业怎么推广引流
  • 关于做旅游网站的参考文献灰色关键词代发可测试
  • 公司网站是否做地方分站大数据营销推广精准粉
  • 罗湖网站建设的公司培训机构管理系统
  • 深圳工厂网站建设公司沈阳网站关键词排名
  • 做搜狗pc网站优化首哪个平台视频资源多
  • 搜索引擎站长平台企业培训课程表
  • 兰州网站建设公司武汉百度推广入口
  • 重庆哪家做网站好数据交换平台
  • 电子商务网站进度的基本流程seo运营经理
  • 建设心理网站seo中文意思是
  • WordPress最强大的主题济南seo小黑seo
  • 做中英文网站公司淘宝seo排名优化的方法
  • 国外好的设计欣赏网站杭州网站seo公司
  • java能网站开发吗短视频排名seo
  • 做团购网站需要多少钱seo sem是啥
  • 苏州做网站设计的公司有哪些sem电子扫描显微镜
  • 南昌网站做整合营销名词解释
  • 外星人做的网站安卓优化清理大师
  • 花生壳可以用来做网站吗品牌推广战略
  • 达州建设局网站百度快快速排名
  • 济南网站建设免费seo技术顾问
  • 服装设计公司有哪些seo兼职论坛