
JVM
文章平均质量分 93
0xac001d09
https://leetcode-cn.com/u/jerry_nju/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM学习笔记(7):G1垃圾回收器详解与回收性能优化
G1垃圾回收器详解与回收性能优化一、G1的引出1、G1与堆内存 新生代还是老年代,Stop the World是最大的痛点,它们都会产生这个现象,影响系统的运行,所有垃圾回收器的优化都是朝着减少STW的目标去做的,G1便应运而生了。G1可以同时回收新生代和老年代,它的最大特点,就是把Java堆内存拆分为多个大小相等的Region,如图,所以G1的新生代老年代是一种逻辑上的概念了,新生代可能...原创 2020-02-09 15:33:04 · 2973 阅读 · 2 评论 -
JVM学习笔记(6):新生代与老年代JVM参数优化
三、新生代JVM参数优化1、背景引入 假设我们的背景是每日上亿请求量的一个订单系统,按照每个用户每日访问次数为20次来算,大致有500万个用户(1亿/20),对这五百万个用户,假设付费转化率为10%,也就是有50万人会去下单,我们把这50万订单集中在4个小时的高峰期内,平均每秒钟也就几十个订单,感觉也没什么大的压力,因为几十个订单根本不需要对JVM做太多关注。 但是如果到了双十一这种活动...原创 2020-02-09 15:17:45 · 1479 阅读 · 0 评论 -
JVM学习笔记(5):CMS垃圾回收器工作原理详解
二、老年代回收容器——CMS1、CMS工作原理 一般老年代我们选择的垃圾回收器是CMS,他采用的是标记清理算法(不是标记整理)。之前提到过Stop the World状态,就是垃圾回收时停止一切线程的工作,如果在这个状态下再去慢慢执行标记清理算法,会导致系统卡死时间过长,所以CMS垃圾回收器采取的是垃圾回收线程和系统工作线程尽量同时执行的模式来处理的。 工作原理:为了避免长时间Stop ...原创 2020-02-08 17:24:29 · 1671 阅读 · 1 评论 -
JVM学习笔记(4):ParNew垃圾回收器工作原理
新生代回收器——ParNew1、工作原理 ParNew垃圾回收器如果一旦在合适的时机执行Minor GC的时候,就会把系统程序的工作线程全部停掉,禁止程序继续运行创建新的对象,然后自己就用多个垃圾回收线程去进行垃圾回收,回收的机制和算法就跟之前说的是一样的。我们启动系统的时候可以指定垃圾回收器,使用-XX:+UseParNewGC选项,只要加入这个选项,JVM启动之后对新生代进行垃圾回收的,...原创 2020-02-08 17:17:10 · 559 阅读 · 0 评论 -
JVM学习笔记(3):垃圾回收机制详解
JVM学习笔记(3):垃圾回收机制详解一、GC Roots的类型 JVM使用了可达性分析算法,该算法会分析每个对象,看有谁在引用他,一层层判断有没有一个GC Roots,在JVM规范中,局部变量是可以作为GC Roots的,只要一个类的对象被局部变量引用了,那就说明有一个GC Roots,就不能被回收...原创 2020-02-08 17:11:11 · 297 阅读 · 0 评论 -
JVM学习笔记(2):JVM分代模型与内存参数设置
JVM学习笔记(2):JVM分代模型与内存参数设置一、JVM分代模型1、背景public class Kafka { // 年轻代 public static void main(String[] args) throws InterruptedException { while (true) { loadReplicasFromDis...原创 2020-02-08 16:54:29 · 247 阅读 · 0 评论 -
JVM学习笔记(1):类加载机制与内存区域
JVM学习笔记一、初识JVM我们写好一份Java代码,要将其部署到线上的机器去运行,就要将其打包成.jar或.war后缀的包,再进行部署。其中关键的一步是**“编译”**,也就是要把.java文件编译成.class字节码文件,有了字节码文件可以通过java命令来启动一个JVM进程,由JVM来负责运行这些字节码文件。所以说,在某个机器上部署某个系统后,一旦启动这个系统,实际上就是启动了JVM。...原创 2020-02-06 19:56:55 · 730 阅读 · 0 评论