深入Java虚拟机
文章平均质量分 87
凌澜星空
这个作者很懒,什么都没留下…
展开
-
深入Java虚拟机——JVM内存详解
在C++中,程序员拥有每一个对象的所有权,但与此同时还肩负着释放对象内存空间的责任;而Java由于有了虚拟机的帮助,程序员拥有对象的所有权的同时不再需要释放对象的内存空间。由于是JVM自动进行对象内存的释放,所以内存泄漏和内存溢出的问题也很少出现。Java虚拟机在运行时将内存空间分成5个部分,分别是:方法区、虚拟机栈、本地方法栈、堆、程序计数器。程序计数器Java虚拟机栈原创 2015-05-12 22:55:55 · 1433 阅读 · 1 评论 -
深入Java虚拟机——JVM内存详解
在C++中,程序员拥有每一个对象的所有权,但与此同时还肩负着释放对象内存空间的责任;而Java由于有了虚拟机的帮助,程序员拥有对象的所有权的同时不再需要释放对象的内存空间。由于是JVM自动进行对象内存的释放,所以内存泄漏和内存溢出的问题也很少出现。Java虚拟机在运行时将内存空间分成5个部分,分别是:方法区、虚拟机栈、本地方法栈、堆、程序计数器。程序计数器本质 程序计数器本质上是一块较小的内存空原创 2015-05-15 18:53:16 · 2401 阅读 · 4 评论 -
深入JVM——OOM异常解析
JVM对象访问解析对象访问过程的内存情况public void function(){ Object obj = new Object();}function方法被执行的时候,JVM在JVM栈中为function创建一个栈帧,用于存放function在运行过程中的一些信息。 Object obj被执行时,JVM在function方法对应的栈帧中的本地变量表中创建Object类型的引用原创 2015-05-15 00:00:21 · 3852 阅读 · 0 评论 -
深入了解JVM垃圾收集器
程序计数器、JVM栈、本地方法栈这三个内存区域和线程是一一对应的,并且每一个线程的这三个区域相互独立互不干扰。他们都随着线程的产生而产生,线程的灭亡而灭亡。JVM栈和本地方法栈中的栈帧都随着方法的加载而入栈,随着方法的结束而出栈。栈帧的大小是在程序员写类的时候就确定下来的。因此这三种区域的内存大小都具备确定性,当方法结束或线程结束后,这些内存空间就会自动被回收掉,所以JVM无需考虑这些区域的内存回收原创 2015-05-28 21:24:30 · 1555 阅读 · 3 评论