
Jvm
文章平均质量分 50
开着奥迪卖小猪
走在成为大牛的路上!
展开
-
Java进程CPU使用率过高 排查
简要步骤:top (找到最耗cpu的进程) top -Hp 1 (找到最耗cpu的进程的最耗cpu的线程) top -H -p PID printf "%x\n" 10854 (将线程pid转换为16进制,结果2a66) /opt/jdk1.8.0_231/bin/jstack 1|grep '0x2a66' -C20 --color (查看进程堆栈,找到最耗cpu的那个线程在干嘛 20行) 背景某服务器上部署了若干tom...原创 2021-04-11 11:01:11 · 933 阅读 · 0 评论 -
JVM性能优化
直接上图原创 2020-02-17 17:12:23 · 353 阅读 · 0 评论 -
GC算法 (标记清除、复制、标记整理、 分代收集) 、 新生代 老年代
一、标记-清除算法(Mark-Sweep) 1标记阶段:首先通过根节点,标记所有从根节点开始的可达对象。未被标记的对象就是未被引用的垃圾对象 2清除阶段:清除所有未被标记的对象。 不足:1效率问题:标记和清除两个过程的效率都不高。 2空间问题:标记清除后会产生大量不连续的内存碎片,空间碎片太多可能会导致以...原创 2019-07-20 11:39:12 · 12377 阅读 · 3 评论 -
JVM垃圾收集算法——分代收集算法
分代收集算法(Generational Collection): 当前商业虚拟机的垃圾收集都采用“分代收集算法”。 这种算法并没有什么新的思想,只是根据对象存活周期的不同将内存划分为几块, 一般是将Java堆分为新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。 在新生代中,每次垃圾收集时都发现有大批对象死去,只有少量存活,那就选用“复制算法”,只需要付出...原创 2017-06-30 15:00:29 · 396 阅读 · 0 评论 -
JVM垃圾收集算法(标记-清除、复制、标记-整理)
【JVM垃圾收集算法】1)标记-清除算法: 标记阶段:先通过根节点,标记所有从根节点开始的对象,未被标记的为垃圾对象(错了吧?) 清除阶段:清除所有未被标记的对象2)复制算法: 将原有的内存空间分为两块,每次只使用一块,在垃圾回收时,将正在使用的内存中的存活对象复制到未被使用的内存块中,然后清除正在使用的内存块中的所有对象。3)标记-整理算法: 标记阶段:先通...原创 2017-06-30 10:15:20 · 1508 阅读 · 0 评论