java堆栈详解Java教程

java虚拟机栈

栈是线程私有,他的生命周期和线程的相同。用于存储局部变量,操作数栈,动态链接,方法出口等。他会抛出两种异常,stackoverflowerror异常和outofmemoryerror异常。

java虚拟机堆

堆是线程共有的一块内存区域,在虚拟机启动时创建,为了存放对象实例。java堆是垃圾收集器管理的主要区域,因此很多时候被称为“GC堆”。java堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可,会抛出outofmemoryerror异常。

1.方法区:

方法区是共享内存,他用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

1.1运行时常量池

运行时常量池是方法区的一部分,用于存储常量。

1.1.2 直接内存

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注