
Java虚拟机
文章平均质量分 62
OwenFang123
这个作者很懒,什么都没留下…
展开
-
垃圾收集器与内存分配策略
知识点: 1.垃圾回收的主要区域是哪个区域? 2.判断对象已死的算法? 3.有哪些垃圾收集算法? 4.有哪些垃圾收集器? 5.内存分配与回收策略。 1.垃圾回收的主要区域是哪个区域? 垃圾回收的主要区域是Java堆和方法区,因为程序计数器,虚拟机栈,本机方法栈随线程而生随线程而灭,这几个区域的内存分配 和回收都具备确定性,方法结束或者线程结束,内存自然就跟着回收了,这几个原创 2017-11-05 22:26:14 · 224 阅读 · 0 评论 -
Java 内存区域与内存溢出异常
知识点: 1.JVM运行时数据区域以及内存溢出异常原因。 2.对象的创建过程。 1.JVM运行时数据区域以及内存溢出异常原因。 a.程序计数器 程序计数器是线程独有的,一个线程JVM会分配一个。它的作用是记录线程执行字节码的位置,我们知道对于单内核的系统,各个线程会不停的切换的,程序计数器会记录线程的执行位置。这个区域不会出现OutOfMemoryError的异常。 b原创 2017-10-18 22:11:46 · 313 阅读 · 0 评论 -
JVM内存溢出分析
我们在使用java开发程序的过程中,一定会碰到到内存溢出异常(java.lang.OutOfMemoryError)。下面我来看一下出现内存溢出的原因和解决办法。 1.启动参数内存值设定的过小。 调整JVM启动参数,-Xmx JVM使用的最大内存,运行过程中超过这个内存就会报内存溢出异常,-Xms JVM初始内存,启动的时候就占用的内存。如果机器内存够就加机器内存。 2.代码问题 我们重点...原创 2019-04-16 20:35:54 · 1275 阅读 · 0 评论 -
java进程CPU高分析
JVM导致系统CPU高的常见场景 内存不足,JVM gc频繁,一般会伴随OOM。 JVM某个线程死循环或者递归调用。 定位和解决 1.内存不足,gc频繁可参考我的这遍文章解决。https://blog.youkuaiyun.com/moranzi1/article/details/88670204 2.JVM某个线程死循环或者递归调用。这种情况关键是找到导致CPU高的线程。然后根据具体线程具体分析为什...原创 2019-04-16 21:50:59 · 958 阅读 · 0 评论