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

广州开发网站设计qq网页版一键登录

广州开发网站设计,qq网页版一键登录,WordPress的文本编辑器,公司网站 备案本文主要介绍了JVM虚拟机中非常重要的两个部分#xff0c;GC 回收算法和垃圾收集器。从可回收对象的标记开始#xff0c;详细介绍 了四个主流的GC算法#xff0c;详细总结了各自的算法思路及优缺点#xff0c; 提出了何种情况下应该通常选用哪种算法。 目录 1 标记可回收对… 本文主要介绍了JVM虚拟机中非常重要的两个部分GC 回收算法和垃圾收集器。从可回收对象的标记开始详细介绍 了四个主流的GC算法详细总结了各自的算法思路及优缺点 提出了何种情况下应该通常选用哪种算法。 目录 1 标记可回收对象 1.1 引用计数器 1.2 可达性分析算法 2 垃圾回收算法 2.1 清除算法 2.2 复制算法 2.3 标记 - 整理算法 2.4 分代收集算法 3 结束语 1 标记可回收对象 堆中几乎放着所有的对象实例对堆垃圾回收前的第一步就是要判断哪些对象已经死亡即不能再被任何途径使用的对象。这个过程就是在后面垃圾收集器频繁涉及的标记过程。 1.1 引用计数器 这个方法简单易懂就是给对象添加一个引用计数器一 旦该对象被引用计数器 1当引用失效计数器就 -1。此 时计数器为 0 的对象就是不可用对象。现在几乎已经没有JVM使用引用计数法来判断对象是否可被回收了因其无法解决对象之间互相循环引用的问题。故现在一般使用下面的可达性分析算法。 1.2 可达性分析算法 可达性算法也叫根搜索法。这个算法的基本思想就是通过 一系列”GC Roots“对象作为起点从这些节点向下开始搜索 节点所走过的路径称为引用链当一个对象到GCRoots没有任何引用链相连的话则证明此对象是不可用的。 这里要注意的是即便在可达性算法中被判定为不可达对象该对象也不是要绝对被清除的还要经历再次被标记才能真正被回收。此时就需要调用 finalize() 方法最终判定对象是否存活。 首先要对第一次标记进行一次筛选以筛选出此对象是否有必要执行finalize() 方法。当这个对象没有覆盖finalize方法或者finzlize方法已经被虚拟机调用过则被视为“没有必要执行“对象被回收。 如果被判定为“有必要执行”则对象将会被放置在 F-Queue 队列之中在第二次GC对F-Queue中的对象进行标记的过程中 如果对象能够抓住最后一次机会与引用链上的某一对象建立联系便可被移出否则将被回收。 2 垃圾回收算法 垃圾回收算法又叫GC算法其中包含标记 - 清除算法、 复制算法、标记 - 整理算法和分代收集算法等。下面将详细分析一下这四种常用算法。 2.1 清除算法 这是一个最基础的收集算法这个算法分为标记”和”清 除“两个阶段。首先标记出所有需要回收的对象也就是用上面可达性分析算法进行的标记在标记完成后统一回收所有被标记的对象。它有两个不足的地方效率问题和空间问题。两个过程的效率都不高而且标记清除后会产生大量不连续的碎 片碎片过多会导致以后程序运行时需要分配较大对象时无法找到足够的连续内存而不得已再次触发GC会造成GC频繁故常用复制算法和标记 - 整理算法作为改进算法。 2.2 复制算法 复制算法的思路是把内存分为大小相同的两块每次只使用其中的一块。当这一块的内存使用完后就将还存活的对象复制到另一块区并且整齐排列好然后再把使用的空间一次清理掉。这样就使每次的内存回收都是对内存区间的一半进行回收也不用考虑内存碎片问题简单高效。 这个算法就和新生代的 from 区和 to 区的过程很像所以这个算法比较适合新生代。赋值的时候因为都是很小的对象空间所以效率还是比较高的但是缺点很明显只有一半的内存被利用起来浪费了内存空间。所以这个算法不适合老年代 因为老年代会存储大对象如果用这个算法就会导致内存不足次数变频繁会使 Major GC 变频繁导致效率降低。 2.3 标记 - 整理算法 标记 - 整理算法也叫标记 - 压缩算法标记过程和“标记 - 清除”算法一样基本思路是让所有存活的对象向一端移动然后直接清理掉边界以外的内存。这样做直接避免了标记 - 清除算法的碎片问题和复制算法所涉及的空间问题。这也是操作系统中常用的紧凑操作紧凑操作之后再执行动态重定位分区分配算法更新内存中存活对象的新地址。 2.4 分代收集算法 现在的商用虚拟机的垃圾收集器基本都采用 分代收集 算法这种算法就是根据对象存活周期的不同将内存分为几块。 一般将java堆分为新生代和老年代这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。其实就是上面几个算法的汇总。 3 结束语 本文主要介绍了怎样判定一个算法是否被回收以及四种常用的垃圾回收算法各自的思路及优缺点。 一般年轻代中执行 GC 后会有少量的对象存活就会选用复制算法只要付出少量的存活对象复制成本就可以完成收集。而老年代中因为对象存活率高没有额外过多内存空间对 它进行分配担保就需要使用标记 - 清理或者标记 - 整理算法来进行回收。
http://www.zqtcl.cn/news/868242/

相关文章:

  • 网站改版升级通知国外服务器公司有哪些
  • 做网站的s标的软件深圳网站建设 湖南岚鸿
  • 设计网站建设的合同书公司装修合同范本
  • 门户网站的好处企业邮箱系统
  • 重庆企业建站公司有那些网站做结伴旅游的
  • 创意营销策划案例网站网页制作及优化
  • 网站上动画视频怎么做的建设兵团12师教育局网站
  • 博客网站开发思维导图app网站制作公司
  • 池州网站建设有哪些公司兴义网站seo
  • seo优化网站模板网站建设的七大优缺点
  • 天猫国际采取的跨境电商网络营销方式关键词排名优化公司推荐
  • 亳州建设网站做网站文字怎么围绕图片
  • 网站开发 项目计划外链建设给网站起的作用
  • 你好南京网站网站开发实施步骤和说明
  • 文化共享工程网站建设情况wordpress菠菜插件
  • 网站大气是什么意思哈尔滨做网站电话
  • 公司网站站群是什么化妆品网站设计欣赏
  • 网站公司未来计划ppt怎么做平潭做网站
  • 做网站和推广工资多少招聘网站建设价格
  • 网站建设 响应式 北京网架公司十大排名榜
  • 网站推广目标关键词是什么意思网站推广软件工具
  • 哪里可以做免费的物流网站wordpress为什么放弃
  • 做网站需要多少钱 都包括什么高端大气的网站首页
  • 黄石做网站联系最近的国际新闻
  • 网站建设与运营的预算方案淘宝禁止了网站建设类
  • 做网站的顺序编写app的软件
  • 站长联盟个人网站不备案
  • 惠州建设工程交易网站网站服务器失去响应
  • 网站下拉广告iphone app wordpress
  • 网站图片怎样做seo优化如何重新安装wordpress