天天看点

JVM内存组成

JVM内存组成:

1、程序计数器:是一块较小的内存空间,它的作用是当前线程所执行的字节码的行号指示器。

2、Java虚拟机栈:存放每个线程执行方法的局部变量区、操作数栈。

   本地方法栈:执行Native方法。Sun Hotspot虚拟机把本地方法栈与虚拟机栈合二为一。

3、Java堆

4、方法区(Perm代)

5、直接内存(Direct Memory),NIO使用Native函数库直接分配堆外内存。直接内存的分配不受Java堆大小的限制,在32位操作系统上,如果Xmx+Perm+虚拟机栈+直接内存>2G,导致OOM,但在windows下,一般java内存分配不能超过1.3G左右,否则Java进程启动失败。

下一篇: MST算法