![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 93
信仰不悔
JAVA Developer
展开
-
JVM内存区域与HotSpot虚拟机对象详解
一、Java内存区域与内存溢出异常 1.运行时数据空间 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 线程共享区域:堆,方法区 线程私有区域:虚拟机栈,本地方法区,程序计数器 1.1 线程私有区域 1.1.1 程序计数器 程序计数器是一块比较小的内存空间,它可以看作是当前线程说执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的区域。 作用:通原创 2021-02-09 01:57:34 · 7662 阅读 · 1 评论 -
JVM垃圾收集策略
JVM垃圾收集策略 1.垃圾收集 1.1 垃圾回收策略 对内存要求苛刻的场景:想办法提高对象的回收效率,多回收掉一些对象,腾出更多内存 在CPU使用率高的情况下:降低高并发时垃圾回收的频率,让CPU更多地去执行业务而不是垃圾回收 1.2 垃圾回收区域 堆:回收对象 方法区:回收常量和类(回收频率低) 1.3 对象回收的时机 1.3.1 引用计数算法 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时候计数器值为零的对象就是不可能再被使用的。 引原创 2021-02-09 22:05:40 · 7451 阅读 · 0 评论