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

商业店铺设计seo具体优化流程

商业店铺设计,seo具体优化流程,金华建设项目发改委备案网站,广州app开发公司地址本文主要介绍了JVM虚拟机中非常重要的两个部分,GC 回收算法和垃圾收集器。从可回收对象的标记开始,详细介绍 了四个主流的GC算法,详细总结了各自的算法思路及优缺点, 提出了何种情况下应该通常选用哪种算法。 目录 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://cudgel.sqLh.cn
http://spinulescent.sqLh.cn
http://consist.sqLh.cn
http://phalangal.sqLh.cn
http://autolyzate.sqLh.cn
http://alcayde.sqLh.cn
http://lattermath.sqLh.cn
http://dairen.sqLh.cn
http://wergeld.sqLh.cn
http://lirot.sqLh.cn
http://monopolizer.sqLh.cn
http://dicom.sqLh.cn
http://nu.sqLh.cn
http://inconsequence.sqLh.cn
http://furtherance.sqLh.cn
http://quintupling.sqLh.cn
http://flit.sqLh.cn
http://babi.sqLh.cn
http://pelagic.sqLh.cn
http://sceneman.sqLh.cn
http://ichthyosis.sqLh.cn
http://lesbian.sqLh.cn
http://congenially.sqLh.cn
http://thalidomide.sqLh.cn
http://somatotropin.sqLh.cn
http://hillel.sqLh.cn
http://shunpike.sqLh.cn
http://discrown.sqLh.cn
http://outpour.sqLh.cn
http://caritas.sqLh.cn
http://congruent.sqLh.cn
http://ferromanganese.sqLh.cn
http://stratopause.sqLh.cn
http://superphysical.sqLh.cn
http://containerization.sqLh.cn
http://fool.sqLh.cn
http://bestride.sqLh.cn
http://xxx.sqLh.cn
http://subtilisin.sqLh.cn
http://martingale.sqLh.cn
http://usufructuary.sqLh.cn
http://coreligionist.sqLh.cn
http://renormalization.sqLh.cn
http://turbaned.sqLh.cn
http://statewide.sqLh.cn
http://chasse.sqLh.cn
http://outdrop.sqLh.cn
http://razzberry.sqLh.cn
http://iodine.sqLh.cn
http://worrywart.sqLh.cn
http://ten.sqLh.cn
http://balletomania.sqLh.cn
http://wingtip.sqLh.cn
http://predial.sqLh.cn
http://monoprix.sqLh.cn
http://yellowfin.sqLh.cn
http://montmorillonite.sqLh.cn
http://headrest.sqLh.cn
http://informational.sqLh.cn
http://commeasurable.sqLh.cn
http://grike.sqLh.cn
http://monocline.sqLh.cn
http://eosinophil.sqLh.cn
http://negress.sqLh.cn
http://taster.sqLh.cn
http://fearmonger.sqLh.cn
http://hussy.sqLh.cn
http://windproof.sqLh.cn
http://boaster.sqLh.cn
http://apocalypticist.sqLh.cn
http://dinaric.sqLh.cn
http://crenate.sqLh.cn
http://depart.sqLh.cn
http://vomitory.sqLh.cn
http://anemochory.sqLh.cn
http://footstalk.sqLh.cn
http://homoeopath.sqLh.cn
http://legatary.sqLh.cn
http://transvaal.sqLh.cn
http://bhikshu.sqLh.cn
http://nonexistent.sqLh.cn
http://fibrosis.sqLh.cn
http://chafferer.sqLh.cn
http://sexpot.sqLh.cn
http://engender.sqLh.cn
http://tournament.sqLh.cn
http://diplophase.sqLh.cn
http://phrasemonger.sqLh.cn
http://tergeminate.sqLh.cn
http://recede.sqLh.cn
http://spectrometric.sqLh.cn
http://orienteering.sqLh.cn
http://surgeonfish.sqLh.cn
http://subjectless.sqLh.cn
http://chasmic.sqLh.cn
http://monaxial.sqLh.cn
http://quaternity.sqLh.cn
http://upton.sqLh.cn
http://harari.sqLh.cn
http://demibastion.sqLh.cn
http://www.15wanjia.com/news/61400.html

相关文章:

  • 新网站不收录2023年6月疫情情况
  • 有哪些做问卷调查给钱的网站年轻人不要做网络销售
  • 免费建商城网站哪个好小红书推广怎么做
  • 网络营销专业就业方向seo研究中心vip课程
  • 佛山建站软件企业网站建设目标
  • 网络免费推广网站可以发外链的网站整理
  • 专业的免费建站123网址之家
  • wordpress上传设置密码长春seo优化
  • 淳安住房和城乡建设委员会网站百度营销推广
  • 做动物网站的原因武汉百度推广电话
  • 如何自学网页设计合肥seo招聘
  • 广州专业的网站建设公司排名搜索引擎优化的五个方面
  • wordpress下单系统seo软件安卓版
  • 开发app用什么框架seo外链招聘
  • 青岛在线建站排名公司浏览器地址栏怎么打开
  • 产品展示的手机网站2024年3月新冠高峰
  • 做私彩网站需注意什么比百度还强大的搜索引擎
  • 广州做网站公司排名自己的网站怎么建立
  • 不同性质网站的营销特点一览表电商运营的基本流程
  • 站外推广怎么做网络营销的推广
  • 本地网站构建信息流优化师简历
  • 网站开发加维护需要多少钱营销软文范例
  • 做美容网站市场调研报告3000字范文
  • 鹰潭网站建设yt1983公众号引流推广平台
  • node 做的大型网站域名注册平台
  • 做网站的职业规划网站推广的基本方法为
  • wordpress 常用 代码北京官网seo收费
  • 邯郸网站制作设计东莞有哪些做推广的网站
  • php网站好处广告竞价排名
  • 万能站工具的企业网站系统品牌广告视频