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

做水军那些网站好/抖音搜索引擎优化

做水军那些网站好,抖音搜索引擎优化,html5网站优点,做下载网站有哪些问题:谈谈你了解的垃圾回收算法 1、标记-清除算法(Mark and Sweep) 标记:从跟集合进行扫描,对存活的对象进行标记 清除:对堆内存从头到尾进行线性遍历,回收不可达对象内存 优点:简单…

问题:谈谈你了解的垃圾回收算法

1、标记-清除算法(Mark and Sweep)

  标记:从跟集合进行扫描,对存活的对象进行标记

  清除:对堆内存从头到尾进行线性遍历,回收不可达对象内存

优点:简单

缺点:容易出现碎片

这个算法会导致出现大量的不连续的内存碎片,可能会导致在之后的分配较大的对象时,无法找到足够的连续内存,会触发另外一次垃圾回收。上图就出现了三个内存碎片块

 

2、复制算法(copying 适用于对象存活率低的场景,年轻代)

   2.1 分为对象面和空闲面

  2.2 对象在对象面上创建

  2.3 存活的对象被对象面复制到空闲面

  2.4 将对象面所有对象内存清除

优点:

1、解决碎片化问题

2、顺序分配内存,简单高效

3、适用于对象存活率低的场景

缺点:

1、在面对对象回收率高的情况下,就显得力不从心了。要进行较多的复制操作,效率将会变低,

2、更关键的是:如果不想浪费50%的空间,就需要额外的空间进行分配和担保,为应对对象面中对象100%存活的极端情况。

 

3、标记-整理算法(Compacting,适用于老年代中)

  标记:从根集合进行扫描,对存活的对象进行标记

  清除:移动所有存活的对象,且按照内存地址次序依次排列,然后将末端内存地址以后的内存全部回收

 

优点:

解决了标记-清除算法导致的碎片化问题(避免了内存的不连续性)

不用设置两块内存互换

适用于存活率高的场景

 

4、分代收集算法(Generational Collector)

  4.1 垃圾回收算法的组合拳

  4.2 按照对象生命周期的不同划分区域以采用不同的垃圾回收算法(怎样判断对象的生命周期?)

  4.3 目的:提高JVM的回收效率

(三个模块,年轻代,老年代,永久代)

-------------------------------------------

(永久代被取消了,只剩下,年轻代----》复制清除算法  和   老年代---》标记清除算法或标记整理算法)

 

分代收集算法的GC分类

Minor GC---->采用复制算法,用于年轻代中

Full GC ------>

 

年轻代:尽可能快速地收集掉那些生命周期短的对象

  Eden区----》对象刚刚被创建就是放在这里,当然,如果这里不够放,就会放到survivro或老年代上

  两个Survivor区---》

 

-XX: MaxTenuringThreshold  这个参考可以设置对象的“岁数”,默认对象的岁数是15岁,超过这个值就被转移到老年代---》经过15次minor gc回收之后,还存活下来的对象

 

问题:对象如何晋升到老年代中?

   1、经历一定Minor次数依然存活的对象

   2、Survivor区中放不下的对象

   3、新生成的大对象(-XX: +PretenuerSizeThreshold )

 

常用的调优参数:

  -XX:SurvivorRatio: Eden 和其中一个Survivor的比值,默认8:1

  -XX:NewRatio :老年代和年轻代内存大小的比例

  -XX: MaxTenuringThreshold :对象从年轻代晋升到老年代经过GC次数的最大阀值

 

老年代:存放生命周期较长的对象----》采用标记-清理算法 或  标记-整理算法

  1、Full GC 和 Major GC(一般的理解是Full GC等于 Major GC,收集整个GC堆。注意:如果有人问你Major GC的时候,一定要问清楚是Full GC 还是仅仅指老年代的GC

  2、Full GC 比 Minor GC 慢,但执行频率低

 

问题:什么时候触发Full GC?什么条件?

  1、老年代空间不足(为了避免Full GC的发生,就避免产生大对象的生成)

  2、永久代空间不足(这个只是针对JDK7和以前的版本,这也是为什么用元空间替代永久代的原因,为了降低Full GC的频率!!!!

  3、CMS GC时出现 promotion failed ,concurrent mode failure 

  4、Minor GC晋升到老年代的平均大小大于老年代的剩余空间

  5、调用System.gc()----->注意:这只是码农提醒虚拟机进行Full GC操作,实际上还是在不确定的时上进行Full GC

  6、使用RMI 进行RPC或管理的JDK应用,每小时执行1次Full GC

  (一般能说出三点就可以,三点以上就更好)

 

转载于:https://www.cnblogs.com/vingLiu/p/10657458.html

http://www.lbrq.cn/news/1363087.html

相关文章:

  • 公司培训网站建设/google应用商店
  • 动态ip做网站影响seo吗/宁波seo网络推广定制多少钱
  • wordpress 做音乐网站/想做网络推广如何去做
  • 网上哪个网站做的系统好用吗/网页代码
  • 做国际网站的流程/长春seo排名扣费
  • node做网站/软文网
  • rss 网站插件/网站优化培训
  • 可以挣钱的网站/网站的搜索引擎
  • 吴中企业建设网站报价/网站推广技巧和方法
  • 企业网站优化外包/自媒体135的网站是多少
  • 深圳专业商城网站设计制作/网站更新seo
  • 什么语言网站比较安全/今天的新闻摘抄
  • 专业代做时时彩网站/优化快速排名公司
  • 淘宝客网站建站源码/个人网页制作完整教程
  • 一站式企业服务平台是什么/外包平台
  • 作品集的个人网站怎么做/上海关键词优化的技巧
  • 用美国服务器做钓鱼网站/西安优化seo托管
  • 政府网站集约化建站/网络推广和运营的区别
  • 广州建站优化/雅诗兰黛网络营销策划书
  • 制作俄语网站/营销咨询公司排名前十
  • wordpress 限制 不能 使用 特定 分类/百度推广的优化软件
  • 做 直销网站 公司吗/球队世界排名榜
  • 春风家教营销型网站建设/游戏推广话术
  • wordpress网站模板/郑州网络推广哪家口碑好
  • 演示网站怎么做/什么是网站推广
  • 为什么网站建设要将access数据库文件变成asa/网站制作公司咨询
  • 网站建设站点无法发布/杨谦教授编的营销课程
  • 拉新app推广/河南seo推广
  • 北京网站建设培训/2345网址导航官网下载
  • 企业年报查询网站/免费访问国外网站的app
  • 倒排索引:Elasticsearch 搜索背后的底层原理
  • LeetCode 132:分割回文串 II
  • 国产化Word处理控件Spire.Doc教程:Python提取Word文档中的文本、图片、表格等
  • 复现论文《A Fiber Bragg Grating Sensor System for Train Axle Counting》
  • Dify中自定义工具类的类型
  • 洛谷 P3870 [TJOI2009] 开关-普及+/提高