传智播客视频笔记(一)内存的划分
java程序在运行时,需要在内存中分配空间。为了提高运算效率,又对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式
1,栈内存
用于存储局部变量,当数据使用完,所占空间会自动释放。
主函数运行时会在栈中开辟空间,放全局变量等
当主函数调用别的函数时,该函数的局部变量也在栈中
2,堆内存
数组和对象,通过new建立的实例都存放在堆内存中
每一个实体都有内存地址值
实体中的变量都有默认初始化值
实体不再被使用,会在不确定的时间内被垃圾回收器回收
图例:
x指向了数组,或者,x引用了数组。x存放数组的首地址
3,方法区,本地方法区,寄存器(这三种以后再说)