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