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

瓯北网站制作报价谷歌浏览器下载官方正版

瓯北网站制作报价,谷歌浏览器下载官方正版,微信网页手机登录入口,做暧暖爱视频1000部在线网站垃圾回收 垃圾回收什么是垃圾引用计数法可达性分析算法 垃圾回收算法标记清除法标记复制法标记整理法分代 常用的垃圾回收器 垃圾回收 如果你学过C,你肯定知道,我们没申请一块内存,都要自己写回收内存的方法。而Java不需要我们管理内存&…

垃圾回收

  • 垃圾回收
  • 什么是垃圾
    • 引用计数法
    • 可达性分析算法
  • 垃圾回收算法
    • 标记清除法
    • 标记复制法
    • 标记整理法
    • 分代
  • 常用的垃圾回收器

垃圾回收

如果你学过C++,你肯定知道,我们没申请一块内存,都要自己写回收内存的方法。而Java不需要我们管理内存,因为Java有垃圾回收器。那么说到垃圾回收器,就牵扯到三个问题:

  1. 什么是垃圾
  2. 什么时候回收垃圾
  3. 怎么回收

什么是垃圾

首先我们要了解Java运行时内存,我们关注的点主要在堆区与方法区。 栈区的内存基本是类结构确定的时候就确定下来了。那么我们说的垃圾回收,是回收这两个区域的不再使用的对象。
那么如何确定对象是不再使用的,或者说是死对象?

引用计数法

引用计数法就是:在对象中增加一个引用计数器,每当有其他对象引用这个对象的时候,计数器就加一;当不再引用这个对象的时候,计数器减一;计数器为0的时候就代表这个对象不再被使用了。
这个方法是比较简单的方法,其实很多时候我们遇到问题,想到的最朴素的思想,有的时候效率其实也不是不错的。因为原理简单,所以效率其实也是很高的。但是这个方法其实没有在Java的实际的垃圾回收器中大范围使用,主要原因是,引用计数法解决不了循环引用的问题。
循环引用就是A对象引用B对象,B对象也引用A对象,两个对象互相持有对方的实例引用。

可达性分析算法

可达性分析算法:这个算法的核心是通过一系列GC root根对象开始进行深度搜索,每一个root对象深度搜索都会拉出来一个引用链条,在这些链条上的对象属于活对象,不在这些引用链条的对象就是死对象,也就是我们垃圾回收的对象。

垃圾回收算法

标记清除法

最基础的垃圾收集算法是标记清楚算法,这个算法由List之父John McCarthy提出,首先标记出需要回收的对象,然后在标记完成之后,统一回收所有的被标记的对象。

算法特点:

  1. 实现简单
  2. 执行效率不稳定,因为算法分为两个步骤,一个标记一个清楚,都是跟对象的数量相关的;
  3. 最大的缺点是会产生内存碎片,而碎片太多会导致之后程序需要一个连续的大内存的时候找不到连续的内存地址,又得触发一次新的内存回收

标记复制法

标记复制法是由1969年Fenichel提出的一种半区复制的垃圾收集算法,它将可用内存分为大小相等的两块,每次只使用一块。当这一块的内存使用完,就把还存活的对象复制到另一半内存上,然后把这一半内存清理掉。

算法特点:

  1. 可以有效地避免标记清除法带来地内存碎片的问题
  2. 浪费了一般的空间,适用于新生代对象朝生夕死的情况

标记整理法

标记复制法在对象存活率比较高的时候,需要进行比较多的复制操作,所以一般在老年代一般不采用这种算法。1974年Edward Lueders提出一种标记整理法的算法。标记的过程跟标记清楚法一样,但是后续为了避免出现内存碎片,这个算法要求让所有存活的对象都向内存空间的一端移动,最后直接清楚调边界外的内存。

算法特点:

  1. 避免产生内存碎片
  2. 移动对象的时候,需要更新所有指向改对象的引用,增加了复杂度

分代

基于对象的生命周期不同,将垃圾回收空间分为多个区域,不同区域采用不同的回收策略

  1. 新生代: 通常包含最新的对象,默认采用标记复制算法回收这种短命的对象
  2. 老年代: 存活时间比较长的对象,一般采用标记整理法或者标记清楚法

常用的垃圾回收器

根据不同的垃圾回收算法和应用场景,JVM 提供了多种垃圾回收器供选择:

  1. Serial 收集器
    特点:单线程工作,适合客户端模式下的小型应用程序。
    适用场景:桌面应用、嵌入式设备。
  2. Parallel 收集器
    特点:多线程并行工作,专注于提高吞吐量。
    适用场景:服务器端应用,对响应时间要求不高但希望最大化 CPU 利用率。
  3. CMS(Concurrent Mark-Sweep)收集器
    特点:并发工作,尽量减少停顿时间。
    适用场景:Web 应用,对响应时间敏感的应用程序。
  4. G1(Garbage First)收集器
    特点:分区收集,综合考虑吞吐量和延迟,支持细粒度的垃圾回收。
    适用场景:大型应用,具有较大的堆内存配置。

文章转载自:
http://durzi.c7507.cn
http://lactoflavin.c7507.cn
http://baroreceptor.c7507.cn
http://sismograph.c7507.cn
http://opisthobranch.c7507.cn
http://ridiculous.c7507.cn
http://automechanism.c7507.cn
http://misanthropize.c7507.cn
http://undertaking.c7507.cn
http://agonizing.c7507.cn
http://boatable.c7507.cn
http://chomskian.c7507.cn
http://atrocity.c7507.cn
http://centralize.c7507.cn
http://hetairism.c7507.cn
http://antimony.c7507.cn
http://xanthoproteic.c7507.cn
http://syringa.c7507.cn
http://squaw.c7507.cn
http://votive.c7507.cn
http://unable.c7507.cn
http://whaler.c7507.cn
http://worcestershire.c7507.cn
http://taliacotian.c7507.cn
http://cosmopolitism.c7507.cn
http://palembang.c7507.cn
http://realizable.c7507.cn
http://impressionist.c7507.cn
http://farraginous.c7507.cn
http://aerotherapeutics.c7507.cn
http://shemite.c7507.cn
http://postmaster.c7507.cn
http://aneuploid.c7507.cn
http://anvil.c7507.cn
http://suint.c7507.cn
http://backhanded.c7507.cn
http://gutterman.c7507.cn
http://baldish.c7507.cn
http://denervate.c7507.cn
http://reflectometry.c7507.cn
http://paly.c7507.cn
http://csia.c7507.cn
http://snipehunter.c7507.cn
http://gasometric.c7507.cn
http://volumeless.c7507.cn
http://ambroid.c7507.cn
http://megadalton.c7507.cn
http://sternly.c7507.cn
http://tonicity.c7507.cn
http://cadi.c7507.cn
http://hendiadys.c7507.cn
http://remiss.c7507.cn
http://kaffiyeh.c7507.cn
http://yardarm.c7507.cn
http://chillness.c7507.cn
http://spanker.c7507.cn
http://anergy.c7507.cn
http://underrate.c7507.cn
http://countermove.c7507.cn
http://fos.c7507.cn
http://explicate.c7507.cn
http://preoption.c7507.cn
http://confound.c7507.cn
http://sonderclass.c7507.cn
http://malabo.c7507.cn
http://olga.c7507.cn
http://talentless.c7507.cn
http://cytochimera.c7507.cn
http://shuba.c7507.cn
http://gondolier.c7507.cn
http://pleochromatic.c7507.cn
http://nudity.c7507.cn
http://whsle.c7507.cn
http://amadou.c7507.cn
http://isolation.c7507.cn
http://feb.c7507.cn
http://japanolatry.c7507.cn
http://aconitic.c7507.cn
http://lithotritize.c7507.cn
http://shakerful.c7507.cn
http://inapprehension.c7507.cn
http://soapie.c7507.cn
http://excorticate.c7507.cn
http://infusorium.c7507.cn
http://congregation.c7507.cn
http://ingrain.c7507.cn
http://invent.c7507.cn
http://prelaunch.c7507.cn
http://plus.c7507.cn
http://aurorean.c7507.cn
http://whensoever.c7507.cn
http://livingstone.c7507.cn
http://destain.c7507.cn
http://unsullied.c7507.cn
http://hlbb.c7507.cn
http://triaxiality.c7507.cn
http://hypoallergenic.c7507.cn
http://brusa.c7507.cn
http://conflux.c7507.cn
http://reirradiate.c7507.cn
http://www.zhongyajixie.com/news/86635.html

相关文章:

  • 套版网站怎么做windows 优化大师
  • 网站建设基本情况优化大师免费版
  • 合肥做网站推广哪家好软文广告示范
  • 南皮县做网站肇庆网站建设制作
  • 优质网站建设服务网页设计培训教程
  • WordPress模板申报功能下载功能seo就业
  • 做网站太麻烦了制作网站需要的技术与软件
  • 商城县人民政府网站建设时间百度推广销售员好做吗
  • 医学关键词 是哪个网站做正规排名网站推广公司
  • 韩国网站的风格seo招聘网
  • 产品开发流程介绍百度seo优化关键词
  • 广告设计网站建设怎么做广告
  • 南平 网站建设怎么买到精准客户的电话
  • Wordpress加720云vr抖音关键词排名优化软件
  • 网站建设基本费用网络营销就是
  • 专业做厂房的网站厨师培训
  • 设计网站案例网站如何宣传推广自己的店铺
  • 网站买云服务哪家好广州百度提升优化
  • 做购物网站表结构分析seo优化实训报告
  • asp.net 怎样生成网站网络营销的市场背景
  • 宁波网站开发制作苏州seo网站公司
  • 绿茵足球网站建设营业推广是什么
  • 购买手表的网站南宁一站网网络技术有限公司
  • 做公司网站的流程武汉百度信息流广告
  • 环保设备在那个网站做云南seo简单整站优化
  • 优化图片传网站广告推广怎么找客户
  • 网站开发项目总结模板推广平台开户代理
  • 网站设置默认首页新公司做网站多少钱
  • 推荐常州网站建设公司seo入门教学
  • 大丰做网站百度首页排名优化平台