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

wordpress 不带主题显示链接优化方法

wordpress 不带主题显示,链接优化方法,大型网站seo方案,深圳网建公司JVM的垃圾回收机制 对象死亡判断方法引用计数算法可达性分析算法 垃圾回收算法标记清除法复制算法标记整理算法分代算法 Java运行时内存的各个区域,对于程序计数器,虚拟机栈,本地方法栈这三个部分区域而言,其生命周期与相关线程有关,随线程而生,随线程而灭,并且这三个区域的内存…

JVM的垃圾回收机制

  • 对象死亡判断方法
    • 引用计数算法
    • 可达性分析算法
  • 垃圾回收算法
    • 标记清除法
    • 复制算法
    • 标记整理算法
    • 分代算法

Java运行时内存的各个区域,对于程序计数器,虚拟机栈,本地方法栈这三个部分区域而言,其生命周期与相关线程有关,随线程而生,随线程而灭,并且这三个区域的内存分配与回收具有确定性,因为当方法结束或者线程结束时,内存就自然跟着线程回收了

所以此时垃圾回收关注的就是堆和方法去这两个区域

对象死亡判断方法

引用计数算法

给对象增加一个引用计数器,每当有一个地方引用它时,此时计数器就+1,当引用失效时,计数器就-1 在任何时候计数器为0,此时这个对象就是不能在被使用的,所以此时这个对象就应该被回收

但是在JVM中没有采用引用计数法来管理内存,最主要的原因就是无法解决对象的循环引用问题
在这里插入图片描述

可达性分析算法

JVM首先会从现有的代码中能直接访问的到的引用出发,尝试遍历所有能访问的对象,只要对象能访问到,就会标记成可达,完成整个遍历之后,可达之外的对象,也就是不可达,也就当成垃圾了

此算法的核心就是找到一系列GC roots对象作为起点开始搜索可达对象

Java中,可作为GC roots的对象包含

  1. 虚拟机栈中引用的对象
  2. 方法区中静态属性引用的变量
  3. 方法区中,常量引用的对象
  4. 本地方法栈中native引用的对象

垃圾回收算法

标记清除法

标记清除算法是最基础的收集算法,算法分为标记和清除两个阶段,首先标记出所有需要回收的对象,在标记完成后统一回收已经标记的对象

标记清除算法的不足主要有两个

  1. 效率问题:标记和清除这两个过程的效率都不高
  2. 空间问题:标记清除后会产生大量不连续的内存碎片, 空间碎片太多可能会导致以后在程序运行中需要分配较大对象时,无法找到足够连续的内存而不得不提前出发另一次GC

复制算法

复制算法是为了解决标记清除算法的效率问题,他将内存按容量划分为大小相同的两块,每次只使用其中一块,当这块内存需要进行垃圾回收时,会将这个区域内还活着的对象复制到另一块上面,然后再把已经使用过的内存区域一次性清理

标记整理算法

复制收集算法在对象存活率较高时会进行比较多的复制操作,效率会变低。因此在老年代一般不能使用复制算法。

针对老年代的特点,提出了一种称之为"标记-整理算法"。标记过程仍与"标记-清除"过程一致,但后续步骤不是直接对可回收对象进行清理,而是让所有存活对象都向一端移动,然后直接清理掉端边界以外的内存。

分代算法

分代算法和上面讲的 3 种算法不同,分代算法是通过区域划分,实现不同区域和不同的垃圾回收策略,从而实现更好的垃圾回收。这就好比中国的一国两制方针一样,对于不同的情况和地域设置更符合当地的规则,从而实现更好的管理,这就时分代算法的设计思想

当前JVM垃圾收集都是采用的分代收集算法

这个算法并没有新思想,只是根据对象存活周期的不同将内存划分为几块。一般是把Java堆分为新生代和老年代。在新生代中,每次垃圾回收都有大批对象死去,只有少量存活,因此我们采用复制算法;而老年代中对象存活率高、没有额外空间对它进行分配担保,就必须采用"标记-清理"或者"标记-整理"算法。

Java代码中,对象纷呈大体两类

  1. 生命周期特别长的
  2. 生命周期特别短的

分代回收按照对象的年龄,来制定不同的回收策略

我们将这个堆分为新生代和老年代,新生代中保存年纪小的对象,老年代中存放年纪大的对象

在新生代区分为伊甸区和幸存区,对象被创建的时候,大部分都进入了伊甸区,这里面存储的是年龄最小的对象,这里面的对象大部分都撑不过第一轮GC,当第一轮GC扫描到达的时候,这个对象就已经是垃圾了,在第一轮GC过后,剩下还没有成为垃圾的对象,就会被通过复制算法,复制到幸存区

幸存区分为两个大小相同空间,在每次GC后,幸存的对象都会移动到另一块大小相同的空间中,下次GC如果还没有成为垃圾,再次返回,循环往复

如果一个对象在经过很多轮GC之后,仍然存活,说明这个对象的生命周期很长了,这个时候,这个对象就来到了老年代

老年代的扫描频次是比较高的,老年代,扫描频次就降低了因为老年代中,不会有太多的对象销毁,因此使用标记整理算法

在上述过程中,有一个特殊情况,如果对象的体积特别大,就会直接进入到老年代,因为大对象不适合进行复制算法

http://www.shuangfujiaoyu.com/news/52490.html

相关文章:

  • 中徽园林建设有限公司网站合肥网站设计
  • 电影里的做视频在线观看网站软文网站推广
  • 汉堡只做网站青岛网站推广系统
  • 夜晚很晚视频免费素材网站全国疫情防控最新数据
  • 南京做征信服务的公司网站百度一下手机版网页
  • 网站的售后服务互联网营销具体做什么
  • 电子商务基础网站建设与维护单项选择题2022网络热词30个
  • 27寸显示器网站建设大数据获客系统
  • 品牌型网站制作哪湖南网站设计
  • 网站黑链怎么做的南宁网站建设服务公司
  • 专业的网站开发建设文案代写
  • 网站设计需要学什么软件seo互联网营销培训
  • 做淘宝客为什么要建网站长沙优化科技有限公司正规吗
  • 网站关键词设几个手机网络优化
  • wordpress如何设置用户登陆公司网站怎么优化
  • b2b免费发布企业网站大全百度推广客户端app
  • 做网站的图片需要多少钱网络营销的概念和特点是什么
  • 学习做网站的孛校网推资源渠道
  • 福州网站制作建设南宁关键词优化软件
  • 淘宝的好券网站怎么做百度手机助手app安卓版官方下载
  • 谁可以做网站优化排名推广餐饮培训
  • 做网站的费用怎么做账揭阳百度快照优化排名
  • 网站怎样制作 优帮云淘宝补流量平台
  • 凡科做 淘宝客网站如何做网络营销推广
  • 怎么做可以访问网站产品推广文章
  • 炫酷网站界面设计公司网站建设北京
  • 上海工程技术大学金华seo扣费
  • 百度容易收录哪些网站今日新闻最新头条
  • 大网站有哪些网上推广产品哪个网好
  • 自适应手机网站 css2021最近比较火的营销事件