Java虚拟机
Eragon伊拉龙
这个作者很懒,什么都没留下…
展开
-
《深入理解Java虚拟机之栈帧的结构》
Java虚拟机栈是线程私有的,它描述的是Java方法执行的内存模型:每个方法在执行的同时会创建一个栈帧用于存局部变量表、操作数栈、动态链接、方法返回地址等信息。每一个方法从调用到执行完毕的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。 每一个栈帧都包含了局部变量表、操作数栈、动态链接、方法返回地址和一些额外的附加信息。在编译成class文件后,栈帧中需要多大的局部变量表和多深的操作数原创 2017-08-31 15:19:33 · 1555 阅读 · 0 评论 -
《深入理解Java虚拟机学习笔记之垃圾收集器与内存分配策略》
Java运行时内存区域分为5个部分,其中程序计数器、虚拟机栈、本地方法栈都是随线程而生,随线程而灭,所以这个3个区域不需要过多考虑回收内存的问题。而堆内存和方法区则不一样,一个接口中的多个实现类 需要的内存可能不一样一个方法中的多个分支需要的内存也不可能一样,只要在程序处于运行期间才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的也就是这部分对象。 Java的垃...原创 2017-08-16 21:44:26 · 293 阅读 · 0 评论 -
《深入理解Java虚拟机学习笔记之Java内存区域与内存溢出异常》
1.Java虚拟机运行时内存结构 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间。Java1.7的虚拟机运行时数据区域结构如下图所示: 程序计数器 程序计数器是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程原创 2017-08-12 17:28:04 · 203 阅读 · 0 评论