一:java内存的分配;由栈、堆、方法区、本地方法栈、寄存器构成。
注意:从JDK8开始,取消方法区,新增元空间,把原来的方法区的多种功能进行拆分,有的功能放到了堆中,有的放到了元空间中。
二:介绍他们各自的功能
栈:方法运行时使用的内存,比如main方法运行,进入方法栈执行。
堆:储存对象或者数组,new来创建的,都存储在堆内存中。
方法区:存储可以运行的class文件
本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关。
寄存器:给cpu使用,和我们开发无关。