书籍:深入理解Java虚拟机
阳光101010101
java开发工程师
展开
-
深入理解Java虚拟机学习笔记:第二章,运行时数据区域
第二章 Java内存区域与内存溢出异常运行时数据区域程序计数器1.定义:程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 2.它是线程独有的 3.它是唯一一个在Java虚拟机规范中没有规定任何OutOfMe...原创 2018-07-02 08:24:45 · 202 阅读 · 0 评论 -
深入理解Java虚拟机学习笔记:第二章,HotSpot虚拟机对象探秘
第二章 Java内存区域与内存溢出异常HotSpot虚拟机对象探秘一、对象的创建虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号...原创 2018-07-02 08:35:59 · 294 阅读 · 0 评论 -
深入理解Java虚拟机学习笔记:第三章,垃圾收集器
第三章,垃圾收集器概述1.概述1.垃圾收集器(GC)需要思考的三件事情:哪些内存需要回收?什么时候回收?如何回收?2.Java内存运行数据区域中,程序计数器、虚拟机栈、本地方法栈、三个区域跟线程的声明周期相同。方法结束或者线程结束时,内存就跟着回收了。而Java堆和方法区不同,我们只有程序处于运行期间才会知道创建那些对象,这部分内存的分配和回收都是动态的。垃圾收集器所...原创 2018-07-12 09:15:32 · 417 阅读 · 2 评论