浅谈JAVA虚拟机 JVM内存分区

写一点关于对JVM相关知识的理解,没有规划学习路线,想到哪里写到哪里。

JVM内存分为以下几个区域

1.PC寄存器

可以理解为汇编语言中的PC,每个Java实例/进程独享,实例的多个线程共享PC寄存器。


2.方法区

方法区有时被称为永久区,是存放Class相关信息/对象的内存区域,包含运行时常量池。


3.Java虚拟机栈

程序运行的内存区域,线程独享,不存在线程安全的问题,对同一个栈来说,每次方法调用都会生成一个栈帧。


4.本地方法栈

Java本地方法运行的内存区域。


5.Java堆

存放java对象或数组的内存区域,分为新生代和老年代,垃圾回收最频繁也是最有效的区域,多个线程共享,存在线程安全问题。


6.直接内存

Java直接可以访问的宿主机内存。


接下来的博文会分别对这些区域进行分析理解。

你可能感兴趣的:(Java)