JVM
LupuX
种一棵树最好的时间是10年前,其次是现在。
展开
-
线程安全与锁优化入门
Come from OneNote…原创 2019-04-28 23:31:22 · 141 阅读 · 0 评论 -
JVM - 内存区域与内存溢出异常
程序计数器:一块较小的内存空间,当前线程所执行的字节码的行号指示器。Java栈也称作虚拟机栈、栈内存,为JVM执行Java方法(也就是字节码)服务。 Ø 本地方法栈(native)。Java堆(Heap)。 方法区(Non-Heap)原创 2019-05-06 11:01:43 · 139 阅读 · 0 评论 -
JVM - 垃圾回收
1. 对象已死吗? 引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时就减1。无法解决对象之间循环引用的问题。 可达性分析算法:通过一系列的“GC Roots”的对象作为起始点,从这些起始点向下搜索,走过的路径称为引用链,当一个对象到GC Roots没有任何引用链时,则证明此对象是不可用的。可作为GC Roots的对象包括以下几种: 虚拟机栈(栈...原创 2019-07-18 22:51:40 · 113 阅读 · 0 评论 -
JVM - 常量池理解
1. 字符串常量池 Heap中,在编译阶段就把所有的字符串文字放进去 是一个StringTable类,它是一个哈希表,里面存的是字面值(也就是我们常说的用双引号括起来的)的引用(而不是字面值实例本身) 字符串常量池的位置 在JDK6.0及之前版本,字符串常量池是放在Perm Gen区(也就是方法区)中 在JDK7.0版本及之后,字符串常量池被移到了堆中 1.1 String str = n...原创 2019-07-19 21:35:33 · 135 阅读 · 0 评论 -
Java内存区域初识
Java虚拟机在执行Java程序的过程中会把它管理的内存划分为几个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。原创 2017-07-06 12:43:14 · 236 阅读 · 0 评论