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

网站收录低夸克资源搜索引擎

网站收录低,夸克资源搜索引擎,专业做网站费用,江苏建设教育网官网目录 1.垃圾回收算法发展简介2.垃圾回收算法的评价标准1.吞吐量2.最大暂停时间3.堆使用效率 3.垃圾回收算法01-标记清除算法垃圾回收算法-标记清除算法的优缺点 4.垃圾回收算法02-复制算法垃圾回收算法-复制算法的优缺点 5.垃圾回收算法03-标记整理算法标记整理算法的优缺点 6.… 目录 1.垃圾回收算法发展简介2.垃圾回收算法的评价标准1.吞吐量2.最大暂停时间3.堆使用效率 3.垃圾回收算法01-标记清除算法垃圾回收算法-标记清除算法的优缺点 4.垃圾回收算法02-复制算法垃圾回收算法-复制算法的优缺点 5.垃圾回收算法03-标记整理算法标记整理算法的优缺点 6.垃圾回收算法04-分代垃圾回收算法 1.垃圾回收算法发展简介 ⚫ Java是如何实现垃圾回收的呢简单来说垃圾回收要做的有两件事 1、找到内存中存活的对象 2、释放不再存活对象的内存使得程序能再次利用这部分空间 ⚫ 1960年John McCarthy发布了第一个GC算法标记-清除算法。 ⚫ 1963年Marvin L. Minsky 发布了复制算法。 本质上后续所有的垃圾回收算法都是在上述两种算法的基础上优化而来。 2.垃圾回收算法的评价标准 Java垃圾回收过程会通过单独的GC线程来完成但是不管使用哪一种GC算法都会有部分阶段需要停止所有的用户线程。这个过程被称之为Stop The World简称STW如果STW时间过长则会影响用户的使用。 所以判断GC算法是否优秀可以从三个方面来考虑 1.吞吐量 吞吐量指的是 CPU 用于执行用户代码的时间与 CPU 总执行时间的比值即吞吐量 执行用户代码时间 /执行用户代码时间 GC时间。吞吐量数值越高垃圾回收的效率就越高。 比如虚拟机总共运行了 100 分钟其中GC花掉 1 分钟那么吞吐量就是 99% 2.最大暂停时间 最大暂停时间指的是所有在垃圾回收过程中的STW时间最大值。比如如下的图中黄色部分的STW就是最大暂停时间显而易见上面的图比下面的图拥有更少的最大暂停时间。最大暂停时间越短用户使用系统时受到的影响就越短。 3.堆使用效率 不同垃圾回收算法对堆内存的使用方式是不同的。比如标记清除算法可以使用完整的堆内存。而复制算法会将堆内存一分为二每次只能使用一半内存。从堆使用效率上来说标记清除算法要优于复制算法。 上述三种评价标准堆使用效率、吞吐量以及最大暂停时间不可兼得。 一般来说堆内存越大最大暂停时间就越长。想要减少最大暂停时间就会降低吞吐量。 不同的垃圾回收算法适用于不同的场景 3.垃圾回收算法01-标记清除算法 标记清除算法的核心思想分为两个阶段 1.标记阶段将所有存活的对象进行标记。Java中使用可达性分析算法从GC Root开始通过引用链遍历出所有存活对象。2.清除阶段从内存中删除没有被标记也就是非存活对象。 垃圾回收算法-标记清除算法的优缺点 优点实现简单只需要在第一阶段给每个对象维护标志位第二阶段删除对象即可。 缺点 1.碎片化问题 由于内存是连续的所以在对象被删除之后内存中会出现很多细小的可用内存单元。如果我们需要的是一个比较大的空间很有可能这些内存单元的大小过小无法进行分配。2.分配速度慢。由于内存碎片的存在需要维护一个空闲链表极有可能发生每次需要遍历到链表的最后才能获得合适的内存空间 4.垃圾回收算法02-复制算法 复制算法的核心思想是 1.准备两块空间From空间和To空间每次在对象分配阶段只能使用其中一块空间From空间。 2.在垃圾回收GC阶段将From中存活对象复制到To空间。 3.将两块空间的From和To名字互换。 完整的复制算法的例子 1.将堆内存分割成两块From空间 To空间对象分配阶段创建对象。 2.GC阶段开始将GC Root搬运到To空间 3.将GC Root关联的对象搬运到To空间 4.清理From空间并把名称互换 垃圾回收算法-复制算法的优缺点 优点 1.吞吐量高 复制算法只需要遍历一次存活对象 复制到To空间即可比标记-整理 算法少了一次遍历的过程因而性 能较好但是不如标记-清除算法 因为标记清除算法不需要进行对象 的移动 2.不会发生碎片化 复制算法在复制之后就会将对象按顺序放 入To空间中所以对象以外的区域都是可 用空间不存在碎片化内存空间。 缺点 内存使用效率低 每次只能让一半的内存空间来为创建对象使用内存使用效率低 5.垃圾回收算法03-标记整理算法 标记整理算法也叫标记压缩算法是对标记清理算法中容易产生内存碎片问题的一种解决方案。 核心思想分为两个阶段 1.标记阶段将所有存活的对象进行标记。Java中使用可达性分析算法从GC Root开始通过引用链遍历出所有存活对象。 2.整理阶段将存活对象移动到堆的一端。清理掉存活对象的内存空间。 标记整理算法的优缺点 优点 1.内存使用效率高 整个堆内存都可以使用不会像复 制算法只能使用半个堆内存2.不会发生碎片化 在整理阶段可以将对象往内存的一侧进行 移动剩下的空间都是可以分配对象的有 效空间 缺点 整理阶段的效率不高 整理算法有很多种比如Lisp2整 理算法需要对整个堆中的对象搜索3 次整体性能不佳。可以通过TwoFinger、 表格算法、ImmixGC等高效的 整理算法优化此阶段的性能 6.垃圾回收算法04-分代垃圾回收算法 现代优秀的垃圾回收算法会将上述描述的垃圾回收算法组合进行使用其中应用最广的就是分代垃圾回收算法(Generational GC)。 分代垃圾回收将整个内存区域划分为年轻代和老年代 arthas查看分代之后的内存情况 ⚫ 在JDK8中添加-XX:UseSerialGC参数使用分代回收的垃圾回收器运行程序。 ⚫ 在arthas中使用memory命令查看内存显示出三个区域的内存情况。 垃圾回收算法-分代垃圾回收算法 分代回收时创建出来的对象首先会被放入Eden伊甸园区。 随着对象在Eden区越来越多如果Eden区满新创建的对象已经无法放入就会触发年轻代的GC称为Minor GC或者Young GC。 Minor GC会把需要eden中和From需要回收的对象回收把没有回收的对象放入To区。 垃圾回收算法-分代垃圾回收算法 接下来S0会变成To区S1变成From区。当eden区满时再往里放入对象依然会发生Minor GC。 此时会回收eden区和S1(from)中的对象并把eden和from区中剩余的对象放入S0。 注意每次Minor GC中都会为对象记录他的年龄初始值为0每次GC完加1。 垃圾回收算法-分代垃圾回收算法 如果Minor GC后对象的年龄达到阈值最大15默认值和垃圾回收器有关对象就会被晋升至老年代。 当老年代中空间不足无法放入新的对象时先尝试minor gc如果还是不足就会触发Full GCFull GC会对整个堆进行垃圾回收。 如果Full GC依然无法回收掉老年代的对象那么当对象继续放入老年代时就会抛出Out Of Memory异常。
http://www.dnsts.com.cn/news/7750.html

相关文章:

  • 惠州市跨境电子商务网站开发谷德设计网入口
  • 做网站租服务器一年多少钱wordpress404页面
  • 襄阳网站建设公司辽阳企业网站建设服务
  • 内蒙古企业网站制作modal log in for wordpress
  • python做网站和phpwordpress更换主题 小工具
  • 亚马逊产品备案网站建设要求开江网站建设
  • 在川航网站购票后怎么做青岛公司注册网站
  • php 网站cookieseo关键词优化如何
  • 做网站做什么类型 比较赚钱直播视频怎么下载
  • 无锡哪里有做网站希爱力双效片的作用与功效
  • 已备案网站数量织梦本地安装网站
  • seo优秀网站没有网站可以做百度快照怎么做
  • 如何用wordpress快速建站wordpress 导入工具插件
  • 网站源码整站下载做电影网站需要注意什么软件
  • 个人建网站允许吗深圳品牌营销网站建设
  • 公司静态网站模板下载上海建网站公司排名
  • 做移动网站网页设计报告论文
  • 浙江高端网站建设做公司网站哪家 上海
  • 接单子做网站徐州好点的做网站的公司
  • 东莞网站建设怎么收费做翻译网站 知乎
  • 白云网站建设公司有网站代码怎么建站
  • 网站建设公司排网店装修的主要内容有哪些
  • 常用网站开发工具山东省建设工程电子信息网站
  • 青岛手机建站公司西安直播网站开发
  • 重新做网站企业徽章设计
  • 南宁网站设计方案莱芜高端网站设计建设
  • 陕西网站备案 多久山东网站建设好不好
  • 搜狗网站优化软件门户网站 建设 如何写
  • 网站的发展前景做搜狗手机网站点击软
  • 学校网站建设成功龙华网页设计公司网站