JVM
文章平均质量分 77
苹水相峰
我一个工作10年的软件开发工作者,现在想写一专业相关的文章,希望可以帮助大家,文章是根据自己的理解写的,若有不正确定的地方,请广大网友指出,我会虚心接受并加以修改,谢谢大家。
展开
-
7.5系统频繁FullGC导致系统卡顿实战调优
分析,定位系统频繁FullGC导致系统卡顿情况,并讲解下内存泄露的事情。原创 2022-09-23 11:18:29 · 1039 阅读 · 3 评论 -
7.4Jstat命令详解及预估JVM运行情况
jstat -gc pid 最常用,查看堆内存各部分的使用量,以及加载类的数量 ,查看java应用jvm参数是否合理,主要用于JVM运行情况预估。原创 2022-09-23 10:58:17 · 888 阅读 · 0 评论 -
7.3CPU飙高或100%快速定位
先用top查看cpu 100% 的进程,在用top -p 进程id 查看单个进程的详情,在按H查看具体哪个线程是cpu最高的,在通过 jstack 进程Id |grep -A 10 线程id(16进制),定位具体类的信息原创 2022-09-23 10:26:15 · 173 阅读 · 0 评论 -
7.1Jmap,Jstack,Jinfo 命令详解
上面几个命令是JDK自带,可以查看一些项目运行情况,jps 查看应用进程ID,jmap 查看内存信息,实例个数及占用内存大小,jstack 找进程死锁,jinfo查看jvm相关参数,这几个命令最常用的是jps。原创 2022-09-21 19:21:24 · 1106 阅读 · 0 评论 -
5.3亿级流量电商系统如何优化JVM参数设置(ParNew+CMS)
亿级流量电商系统如何优化JVM参数设置(ParNew+CMS)原创 2022-09-21 18:15:34 · 210 阅读 · 0 评论 -
5.2垃圾收集器Serial&Parallel&ParNew&CMS详解
Serial收集器主要用于JDK1.5及以前版本,所以这收集器现在使用的应该很少了,缺点是一个单线程收集器;Parallel收集器是JDK1.8默认的收集器,关注点是吞吐量(高效利用CPU-cpu中用于运行用户代码的时间和cpu总消耗时间的比值),适用于内存为2-3G,太大效率不高。CMS收集器更多关注点是用户线程停顿时间(提高用户体验),配置复杂,适用于大内存。ZGC是JDK11版本的,Serial串行->Parallet并行->CMS->G1,G1推荐内存为8G以上到几百G。原创 2022-09-21 17:59:13 · 1388 阅读 · 1 评论 -
5.1垃圾收集算法详情
三种算法,各自有自己的特点;标记复制算法速度比较宽,内存利用率低,最大能使用内存的一半空间。标记清除和标记整理算法速度比较慢,空间利用率高。标记清除后剩余的空间分布比较乱,比较整理后剩余的空间比较规整。原创 2022-09-21 15:55:13 · 157 阅读 · 0 评论 -
3.JVM对象创建于内存分配机制深度剖析
1、JVM对象创建过程详解对象创建1)类加载检查2)分配内存3)初始化2、对象头与指针压缩详解4)设置对象头5)执行方法3、JVM对象内存分配详解对象栈上分配对象在Eden区分配Eden与Survivor区默认8:1:1大对象直接进入老年代长期存活的对象将进入老年代对象动态年龄判断老年代空间分配担保机制4、对象内存回收机制详解5、亿级流量电商系统JVM参数设置实例原创 2022-09-01 19:27:40 · 386 阅读 · 0 评论 -
2.JVM内部模型及优化
JVM内部模型原创 2022-09-01 18:49:50 · 167 阅读 · 0 评论 -
1、从JDK源码级别剖析JVM核心类加载器
参照类运行加载过程图可知其中会创建JVM启动器实例sun.misc.Launcher。sun.misc.Launcher初始化使用了单例模式,保证JVM虚拟机内只有一个sun.misc.Launcher实例。在Launcher构造方法内部,其创建了量类加载器,分别是sun.misc.Launcher.ExtClassLoader(扩展类加载器)和sun.misc.Launcher.AppClassLoader(应用类加载器)。原创 2022-08-23 08:53:13 · 357 阅读 · 0 评论