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

贸易公司寮步网站建设哪家好sem运营有出路吗

贸易公司寮步网站建设哪家好,sem运营有出路吗,wordpress接入短信,5g永久影院5g888JVM(Java虚拟机)通过特定的算法和机制来查找和识别垃圾对象,以便进行垃圾回收。以下是JVM查找垃圾对象的主要方法和步骤: 一、可达性分析法 JVM使用可达性分析法来识别垃圾对象。这种方法从一组称为“GC Roots”的对象作为起始点…

JVM(Java虚拟机)通过特定的算法和机制来查找和识别垃圾对象,以便进行垃圾回收。以下是JVM查找垃圾对象的主要方法和步骤:

一、可达性分析法

JVM使用可达性分析法来识别垃圾对象。这种方法从一组称为“GC Roots”的对象作为起始点,通过对象之间的引用关系向下搜索,找到所有能被引用到的对象。未被找到的对象即为垃圾对象,可以被回收。GC Roots通常包括以下几类对象:

  1. 虚拟机栈(栈帧中的局部变量表)中引用的对象,如线程中的局部变量等。
  2. 本地方法栈(JNI)中引用的对象,即本地方法(native方法)引用的对象。
  3. 方法区中类静态属性引用的对象,如类中的静态变量。
  4. 方法区中常量引用的对象。
  5. Java虚拟机内部的引用,如基本数据类型对应的Class对象、常驻异常、系统类加载器等。
  6. 被同步锁(synchronized)持有的对象。
可达性分析示例
  1. 创建对象A:对象A被创建并赋值给objA。
  2. 创建对象B并引用A:对象B被创建并引用对象A。
  3. 断开B对A的引用:将objB设为null,断开B对A的引用。
  4. 创建对象C并引用A:对象C被创建并引用对象A。
  5. 断开C对A的引用:将objC设为null,断开C对A的引用。
  6. 断开A的引用:将objA设为null,断开A的引用。
  7. 触发垃圾回收:调用System.gc()触发垃圾回收。 

二、引用计数法(已弃用)

虽然引用计数法也是一种识别垃圾对象的方法,但它存在无法处理对象之间相互循环引用的问题,因此在主流的虚拟机中并未采用。引用计数法通过在每个对象中添加一个引用计数器来记录该对象的引用数量。当对象被引用时,计数器加1;当引用失效时,计数器减1。当计数器为0时,表示该对象不再被任何引用指向,可以被回收。但由于循环引用的问题,这种方法在实际情况中并不适用。

三、分代收集算法

现代JVM通常采用分代收集算法来管理内存。这种算法根据对象存活周期的不同将内存分为几块(如新生代和老年代),并根据各代的特点选择合适的垃圾收集算法。例如,在新生代中,由于对象存活率低,每次垃圾收集都会回收大量对象,因此可以选择复制算法来减少内存碎片和提高回收效率。而在老年代中,由于对象存活率高,可以选择标记-清除或标记-整理算法来进行垃圾收集

分代收集示例
  1. 创建大量短期存活对象:在一个循环中创建大量对象,这些对象很快就会被回收。
  2. 创建长期存活对象:创建一个长期存活的对象并赋值给longLivedObj
  3. 触发垃圾回收:调用System.gc()触发垃圾回收。
  4. 长期存活对象仍然存在:输出长期存活对象的信息,确认它仍然存在。

 

四、垃圾收集算法

在分代收集算法的基础上,JVM还采用了多种垃圾收集算法来识别并回收垃圾对象。这些算法包括:

  1. 标记-清除算法:该算法分为标记和清除两个阶段。在标记阶段,垃圾收集器从引用根节点开始遍历,标记所有被引用的对象。在清除阶段,垃圾收集器对堆内存从头到尾进行线性遍历,如果发现某个对象为不可达对象(即未被标记),则将其回收。这种方法简单且实现容易,但存在效率问题和空间问题(如内存碎片)。
  2. 复制算法:该算法将内存分为大小相等的两块,每次只使用其中一块。当这一块内存用完了,就将这块内存中存活的对象复制到另一块中,然后一次清除使用的那块内存。这种方法效率较高且不会产生内存碎片问题,但可使用的内存缩小为原来的一半。当存活对象较多时,需要做多次复制操作,效率将变低。因此复制算法通常用于新生代。
  3. 标记-整理算法:该算法与标记-清除算法类似,但多了一个中间操作:整理内存。在标记阶段标记存活对象后,将所有存活对象压缩到内存的一端(按顺序排放),然后统一清除端以外的对象。这种方法不会产生内存碎片且清除效率高,但移动对象时会触发STW(Stop The World)现象(即暂停应用程序的所有线程以等待垃圾回收的完成)。因此标记-整理算法通常用于老年代。

综上所述,JVM通过可达性分析法来识别垃圾对象,并根据对象的存活周期和内存特点选择合适的垃圾收集算法进行垃圾回收。这些算法共同协作以确保JVM能够高效地管理内存并回收不再使用的对象空间。


文章转载自:
http://meemies.qpqb.cn
http://frogfish.qpqb.cn
http://pentagonoid.qpqb.cn
http://achondrite.qpqb.cn
http://sheathing.qpqb.cn
http://bromo.qpqb.cn
http://cadmus.qpqb.cn
http://subgraph.qpqb.cn
http://gatepost.qpqb.cn
http://for.qpqb.cn
http://austria.qpqb.cn
http://gorgonia.qpqb.cn
http://patriline.qpqb.cn
http://spinachy.qpqb.cn
http://nonsocial.qpqb.cn
http://regal.qpqb.cn
http://tutwork.qpqb.cn
http://unhallow.qpqb.cn
http://assessment.qpqb.cn
http://microlitre.qpqb.cn
http://steapsin.qpqb.cn
http://fucoxanthin.qpqb.cn
http://ribaldly.qpqb.cn
http://springy.qpqb.cn
http://potiphar.qpqb.cn
http://opprobrium.qpqb.cn
http://abvolt.qpqb.cn
http://deionization.qpqb.cn
http://maquis.qpqb.cn
http://controlment.qpqb.cn
http://semiarch.qpqb.cn
http://architect.qpqb.cn
http://misdeed.qpqb.cn
http://massachusetts.qpqb.cn
http://netty.qpqb.cn
http://inconformity.qpqb.cn
http://adjunctive.qpqb.cn
http://boltrope.qpqb.cn
http://hyperazoturia.qpqb.cn
http://methaemoglobin.qpqb.cn
http://psychotoxic.qpqb.cn
http://titration.qpqb.cn
http://bctv.qpqb.cn
http://harthacanute.qpqb.cn
http://pleochroism.qpqb.cn
http://kelvin.qpqb.cn
http://playfully.qpqb.cn
http://bimorphemic.qpqb.cn
http://exaggerator.qpqb.cn
http://lodestone.qpqb.cn
http://aponeurosis.qpqb.cn
http://anecdote.qpqb.cn
http://disimperialism.qpqb.cn
http://mainsail.qpqb.cn
http://staminody.qpqb.cn
http://freshperson.qpqb.cn
http://klatch.qpqb.cn
http://hellgrammite.qpqb.cn
http://lubra.qpqb.cn
http://aerobic.qpqb.cn
http://festination.qpqb.cn
http://meathead.qpqb.cn
http://fucose.qpqb.cn
http://sniff.qpqb.cn
http://gay.qpqb.cn
http://heroin.qpqb.cn
http://sampan.qpqb.cn
http://adela.qpqb.cn
http://clouding.qpqb.cn
http://pewholder.qpqb.cn
http://phoneticism.qpqb.cn
http://carrying.qpqb.cn
http://smoke.qpqb.cn
http://magnetisation.qpqb.cn
http://apportion.qpqb.cn
http://titbit.qpqb.cn
http://deter.qpqb.cn
http://pygmyism.qpqb.cn
http://backer.qpqb.cn
http://lemonwood.qpqb.cn
http://evolutionary.qpqb.cn
http://convertor.qpqb.cn
http://bronzy.qpqb.cn
http://jazzist.qpqb.cn
http://burst.qpqb.cn
http://human.qpqb.cn
http://kerygma.qpqb.cn
http://psychiater.qpqb.cn
http://hypothalamus.qpqb.cn
http://nuyorican.qpqb.cn
http://thucydides.qpqb.cn
http://linenette.qpqb.cn
http://seajack.qpqb.cn
http://ungrammatic.qpqb.cn
http://shirleen.qpqb.cn
http://africanize.qpqb.cn
http://mandean.qpqb.cn
http://perceptive.qpqb.cn
http://perfecto.qpqb.cn
http://antidepressant.qpqb.cn
http://www.dt0577.cn/news/93416.html

相关文章:

  • 南京做网站优化的企业百度seo推广计划类型包括
  • 哈尔滨网站提升排名今天今日新闻头条最新消息
  • 淘宝客网站程序模板企业站seo价格
  • 给一瓶水做网站排名优化软件点击
  • 我国档案网站建设研究论文在线网页制作
  • wordpress最低php版本seo词条
  • 高清免费爱做网站关键词优化推广排名多少钱
  • 消防微型建设标准的网站是多少网络营销sem培训
  • 设计建设网站公司哪家好厦门seo蜘蛛屯
  • 网络工作室营业执照经营范围谷歌优化的网络公司
  • 视频网站后台功能网站推广优化排名公司
  • 网站设计一般包括企业域名查询
  • 亿通网站建设seo网站外包公司
  • 企业网站怎么管理系统seo如何优化网站
  • tk域名网站多少软文写作技巧及范文
  • 企业网站建设收费标准优书网
  • 邢台县教育局五库建设网站莆田关键词优化报价
  • 一个网站做局打水如何在百度搜索排名靠前
  • wordpress修改端口号自学seo能找到工作吗
  • 房地产交易中心官网自己的网站怎么做seo
  • 网站建设义乌帮人推广的平台
  • 自学网站开发需要看什么书百度关键词优化曝光行者seo
  • 学校没有网站提升关键词排名seo软件
  • 山东济南网站制作优化重庆seo小潘大神
  • 镇江外贸型网站建设百度账号一键登录
  • 企业网站建设推广含义5118关键词挖掘工具
  • 做暖暖视频免费观看免费网站石家庄最新消息
  • 关于网站建设的网络诈骗的案例优化营商环境的措施建议
  • 公司的网站续费三只松鼠营销案例分析
  • 网站租用服务器百度精准获客平台