加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 空间 > 正文

一文带你深入理解JVM

发布时间:2019-10-12 06:44:50 所属栏目:空间 来源:java互联网架构
导读:一、什么是JVM JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是平台无关性。而使用Java虚拟机是实现

新生代并行的多线程收集器,追求高吞吐量,高效利用CPU。吞吐量一般为99%, 吞吐量= 用户线程时间/(用户线程时间+GC线程时间)。适合后台应用等对交互相应要求不高的场景。是server级别默认采用的GC方式,可用-XX:+UseParallelGC来强制指定,用-XX:ParallelGCThreads=4来指定线程数。

5) Parallel Old收集器(停止-复制算法)

老年代并行的多线程收集器,Parallel Scavenge收集器的老年代版本,并行收集器,吞吐量优先。

6) CMS(Concurrent Mark Sweep)收集器(标记-清除算法)

CMS收集器是一种以获取最短回收停顿时间为目标的收集器,CMS收集器是基于“标记--清除”(Mark-Sweep)算法实现的,整个过程分为四个步骤:

  • 初始标记: 标记GC Roots能直接关联到的对象,速度很快;
  • 并发标记: 进行GC Roots Tracing的过程;
  • 重新标记: 修正并发标记期间因用户程序继续运作而导致标记产生变动的那一部分对象的标记记录,这个阶段的停顿时间一般会比初始标记阶段稍长一些,但比并发标记时间短;
  • 并发清除: 整个过程中耗时最长的并发标记和并发清除过程收集器线程都可以与用户线程一起工作,所以,从总体上来说,CMS收集器的内存回收过程是与用户线程一起并发执行的。
  • 优点:并发收集、低停顿
  • 缺点:对CPU资源非常敏感、无法处理浮动垃圾、产生大量空间碎片。

7) G1(Garbage First)收集器(标记-整理算法)

G1是一款面向服务端应用的垃圾收集器,是基于“标记-整理”算法实现的,与其他GC收集器相比,G1具备如下特点:

  • 并行与并发
  • 分代收集
  • 空间整合
  • 可预测性的停顿

G1运作步骤:

  • 初始标记(stop the world事件,CPU停顿只处理垃圾)
  • 并发标记(与用户线程并发执行)
  • 最终标记(stop the world事件,CPU停顿处理垃圾)
  • 筛选回收(stop the world事件,根据用户期望的GC停顿时间回收)

3.4.5 垃圾收集结构图

一文带你深入理解JVM

【编辑推荐】

  1. 几大开源虚拟机管理程序技术
  2. Tomcat 和 JVM 的性能调优经验总结!拿走不谢
  3. Jvm内部缓存选型?一篇文章为你解答疑惑
  4. 对JVM还有什么不懂的?带你深入浅出JVM!
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读