Java 内存分配
Java 程序在运⾏时,需要在内存中分配空间。为了提⾼运算效率,就对空间进⾏了不同区域的划分,因为每⼀片区域都有特定的处理数据⽅式和内存管理⽅式。
栈:所有局部变量都会在栈内存中创建
- 局部变量:定义在方法中的变量或者方法声明上的变量
- 方法执行都会加载到栈中进行
- 局部变量特点:随着方法的调用而存在,随着方法的调用完毕而消失
堆:所有对象及其对应的实例变量和数组都将存储在此处
- 简单理解为:new出来的东西,都存储在堆内存
- 每一个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收
- 实例变量(成员变量)有初始化值:
- 基本数据类型:整数:0,浮点数:0.0,布尔:false,字符:空字符
- 引用数据类型:null
代码:Student s = new Student();
单个对象
多个对象指向不同
多个引⽤指向相同