jvm学习-2

JVM学习-2

堆:又称gc堆,是存放对象实例的地方,是jvm内存最大的一块了,gc回收主要是在这里回收的,如果无法分配新的内存给对象实例,报outofmemory 

 

方法区:存放已经加载的类的类信息,常量、静态变量等信息。我理解就像是人体的dna,方法区分配不了内存,也是报outofmemory

 程序计数器:标记线程执行的字节码的行号,保存线程执行行号的指针

jvm栈:用来保存线程执行的信息,一个线程开始执行的时候, 每进入一个方法就会创建一个栈帧,用来保存局部变量、程序出口等信息,每个方法从执行到结束,就在jvm栈中入栈以及出栈,如果线程的深度超过栈深度,会报stackoverflow

原文地址:https://www.cnblogs.com/zhangchiblog/p/11852958.html