传智播客视频笔记(一)内存的划分

java程序在运行时,需要在内存中分配空间。为了提高运算效率,又对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式

1,栈内存

  用于存储局部变量,当数据使用完,所占空间会自动释放。

  主函数运行时会在栈中开辟空间,放全局变量等

  当主函数调用别的函数时,该函数的局部变量也在栈中

2,堆内存

  数组和对象,通过new建立的实例都存放在堆内存中

  每一个实体都有内存地址值

  实体中的变量都有默认初始化值

  实体不再被使用,会在不确定的时间内被垃圾回收器回收

图例:

  x指向了数组,或者,x引用了数组。x存放数组的首地址

3,方法区,本地方法区,寄存器(这三种以后再说)

原文地址:https://www.cnblogs.com/bian1314yuan/p/4413979.html