JVM
小小小小小码农。
这个作者很懒,什么都没留下…
展开
-
JVM 4 方法区
Java虚拟机有一个在所有JavaVirtualMachine线程之间共享的方法区域,该方法区域类似于用于编译常规语言代码的存储区域,或类似于操作系统进程中的“文本”段。它存储每个类的结构,例如运行时常量池、字段和方法数据,以及方法和构造函数的代码,包括类和实例初始化和接口初始化中使用的特殊方法(2.9)。本规范没有规定方法区域的位置或用于管理编译代码的策略,方法区域可以是固定大小的,也可以根据计算的要求进行扩展,如果不需要更大的方法区域,则可能会收缩。方法区域的内存不需要是连续的。Java虚拟机实现可以原创 2021-09-25 18:05:21 · 96 阅读 · 0 评论 -
JVM 3 堆
堆 Heap通过new关键字创建的对象都要使用堆。堆中容易出现线程安全问题。堆中有垃圾回收机制。堆内存溢出Java.lang.OutOfMemoryError : Java heap spaceimport java.util.ArrayList;public class T { static int wu,tu = 0; public static void main(String[] args) { ArrayList<Obje原创 2021-09-25 16:58:37 · 83 阅读 · 0 评论 -
JVM 2.3 本地方法栈
本地方法就是被native修饰的方法。(6条消息) Java的native方法是什么_itmrchen的博客-CSDN博客_native方法是什么意思原创 2021-09-25 16:07:13 · 123 阅读 · 0 评论 -
JVM 2.2 栈
Java Virtual Machine Stacks(Java虚拟机栈)栈的本质 线程运行时的需要的内存空间栈的结构栈。栈帧 每个方法运行时需要的内存。如用来储存参数,局部变量和返回地址等。 比如方法1对应栈帧1,当方法1中调用方法2,此时栈帧2会被压入栈中,方法2调用方法3,栈帧3又入栈。 方法执行完就出栈,出栈顺序是 3先出, 2再出, 1最后。活动栈帧: 每个栈中正在执行的方法对应的栈帧...原创 2021-09-25 15:41:14 · 62 阅读 · 0 评论 -
JVM 2.1 程序计数器
Program Counter Register程序计数器(寄存器)。程序计数器作用 如图最上放代码,PrintStream out = System.out; 代码所对应的二进制字节码为0和3,当解释器执行了0,此时程序计数器储存的值变为3,以便记录下一步需要执行字节码的位置。 JVM的此功能本质上通过寄存器实现。...原创 2021-09-25 14:58:02 · 61 阅读 · 0 评论