栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆:存储对象或数组,new来创建,都存在对内存中
- 方法区:存储可以运行的class文件
- 本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关
- 寄存器:给CPU使用,和我们开发无关
- 程序的主入口(main方法)开始执行时会进入栈,代码执行完毕会出栈
- new出来的东西在堆内存中开辟一块空间,并产生地址
![]()
3. 每new出一个对象或者数组,他们的内存地址是不同的
有如下代码,看一下内存分配:
栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆:存储对象或数组,new来创建,都存在对内存中
- 方法区:存储可以运行的class文件
- 本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关
- 寄存器:给CPU使用,和我们开发无关
- 程序的主入口(main方法)开始执行时会进入栈,代码执行完毕会出栈
- new出来的东西在堆内存中开辟一块空间,并产生地址
![]()
3. 每new出一个对象或者数组,他们的内存地址是不同的
有如下代码,看一下内存分配: