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

网站建设详细合同范本wordpress导入媒体无法显示

网站建设详细合同范本,wordpress导入媒体无法显示,国外包装设计网站,网站图片列表怎么做📝个人主页:五敷有你 🔥系列专栏:JVM ⛺️稳中求进,晒太阳 垃圾回收算法 Java是如何实现垃圾回收的呢?简单来说,垃圾回收就做两件事 找到内存中存活的对象释放不在存活对象的内存&…

       📝个人主页:五敷有你      

 🔥系列专栏:JVM

⛺️稳中求进,晒太阳

垃圾回收算法

Java是如何实现垃圾回收的呢?简单来说,垃圾回收就做两件事

  1. 找到内存中存活的对象
  2. 释放不在存活对象的内存,使得程序能再次利用这部分空间

垃圾回收算法的历史和分类

1960年发布了第一个GC算法:标记-清除算法。

1963年发布了复制算法

本质上后续所有垃圾回收算法都是在两种算法的基础之上优化而来

Java垃圾回收过程会通过单独的GC线程来完成,但不管使用哪种GC算法都会有部分阶段需求停止所有的用户线程,这个过程被称为StopTheWorld 简称STW,如果STW时间过程会影响用户使用

垃圾回收算法的评价标准

1.吞吐量:

CPU用于执行用户代码的时间与CPU总执行时间的比值,吞吐量数值越高,垃圾回收的效率就越高

即:吞吐量=执行用户代码时间/(执行用户代码时间+GC时间)

2.最大暂停时间

最大暂停时间指的是所有在垃圾回收过程中的STW时间最大值。最大暂停时间越短,用户使用系统时受到的影响越短

3.堆使用的效率

不同的垃圾回收算法,对堆的使用方式是不同的。

上面的三种标准不可兼得。

一般来说,堆内存越大,最大暂停时间就越长,想要减少最大暂停时间,就会降低吞吐量。

标记清除算法

标记清除算法的核心分为两个阶段:

1.标记阶段,将所有存活的对象进行标记,Java中使用可达性分析法,从GC ROOT开始通过引用链遍历出所有存活对象。

2.清除阶段,从内存中删除没有被标记也就是非存活的对象,

优点:实现简单,只需要在第一阶段给每个对象维护标志位。第二阶段删除对象即可。

缺点:

1.碎片化问题。

由于内存是连续的,所以在对象被删除后,内存中会出现很多细小的可用内存单元。如果我们需要一个比较大的空间,很可能这些内存单元的大小过小而无法分配。

2.分配速度慢,由于内存碎片的存在,需要维护一个空闲链表,极有可能发生每次需要遍历到链表最后才能获取合适的内存空间

复制算法

复制算法的核心思想是:

  1. 准备两块空间From空间和To空间,每次对象分配阶段,只能使用其中一块空间(From 空间)
  2. 在垃圾回收GC阶段,将From中存活对象赋值到To空间。
  3. 将两块空间的From和To名字互换。

优点:

吞吐量高:复制算法只需要遍历一次存活对象复制到To空间即可,比标记-整理算法少了一次遍历的过程,因而性能较好,但是不如标记-清除算法因为标记清除算法不需要进行对象的移动。

不发生碎片化:复制算法在复制之后就会将对象按顺序放入To空间,所以对象以外 的区域都是可用空间,不存在碎片化内存空间

缺点:

内存使用效率低:每次只能让一半的内存空间来为创建对象使用

标记整理算法

标记整理算法也叫标记压缩算法,是对标记整理算法中容易产生内存碎片问题的一种解决方案。

核心思想分为两个阶段

标记阶段:将所有存活的对象进行标记,Java中使用可达性分析算法,从GC Root开始通过引用链遍历出所有存活对象。

整理阶段:将存活对象移动到堆的一端,清理掉存活对象的内存空间。

分代GC算法

现在优秀的垃圾回收算法,会将上述描述的垃圾回收算法组合进行使用,其中应用最广的就是分代垃圾回收

算法(Generational GC)

分代垃圾回收将整个内存区域划分为年轻代和老年代:

分代回收时,创建出来的对象,首先会被放入Eden伊甸园区

随着对象在Eden区越来越多,如果Eden区满,新创建的对象已经无法放入,就会触发年轻代的GC,称为Minbor 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 GC对整个堆进行垃圾回收。

Full GC无法回收老年代的对象,那么当对象继续放入老年代,就会抛出Out Of Memory

http://www.yayakq.cn/news/63097/

相关文章:

  • 专业的网站设计网络淘宝联盟网站怎么建设
  • 建站需要注意哪些阿里云服务器租赁
  • 学做蛋糕哪个网站好网站改版提交给百度
  • 网上有女的叫你建网站做软装的网站
  • 网站建设报告 商业价值什么网站赚的钱最多
  • 太原php网站开发外汇直播室都是网站做的
  • 网站快照营销策划的概念
  • 做网站要买服务器吗亲子乐园网站建设规划
  • 恩施网站定制网站系统升级维护需要多长时间
  • 昌平电子网站建设广州手机网站建设哪家好
  • 现在找个网站这么难的吗网站开发过程文档
  • 做神马网站优化排中英文网站建站
  • 绵竹网站制作网站的功能板块
  • 抚州建设工程造价管理站网站wordpress 大学 1.3
  • 国家林业工程建设协会网站wordpress setup-config.php空白
  • 国内网页设计网站建设网站做软件有哪些
  • 网页设计制作表格的步骤seo优化的主要任务
  • 如何制作一般企业网站重庆潼南网站建设哪家好
  • 专注七星彩网站开发出租西安专业做网站的
  • 外贸seo网站wordpress 安装新主题
  • 网站等比例缩放设计网站开发与设计英文书籍
  • 加盟网站有哪些wordpress 展开折叠
  • 网站建设的目的及目标泉州网站关键词优化
  • 弹幕网站是什么技术做的中国建设报社网站
  • 镇江网站闲鱼怎么做钓鱼网站
  • 企业网站域名服务器页面设计的线条
  • 北滘高明网站建设wordpress主题背景图片
  • 网站运营与维护是什么意思生鲜网站开发背景
  • 常用的网站推广方法网站基本配置
  • 企业网站系统互联网创业项目网站