栈:调用方法将在栈中开辟内存,称为入栈(压栈)。
栈内存存放基本类型值和引用数据类型的地址。
栈内存中的数据,没有默认初始化值,需要手动设置。
方法调用完成,栈内存立即释放,称为出栈(弹栈)
堆:用于存放使用new创建的对象或数组。
所有的对象都有内存地址值。
数据都有默认初始化值。
堆内存中的对象不再被指向时,JVM启动垃圾回收机制,自动清除。
方法区:与Java堆一样,是各个线程共享的内存区域。
存储已被Java虚拟机加载的类信息、常量、静态变量、以及编译器编译后的代码等。
栈:调用方法将在栈中开辟内存,称为入栈(压栈)。
栈内存存放基本类型值和引用数据类型的地址。
栈内存中的数据,没有默认初始化值,需要手动设置。
方法调用完成,栈内存立即释放,称为出栈(弹栈)
堆:用于存放使用new创建的对象或数组。
所有的对象都有内存地址值。
数据都有默认初始化值。
堆内存中的对象不再被指向时,JVM启动垃圾回收机制,自动清除。
方法区:与Java堆一样,是各个线程共享的内存区域。
存储已被Java虚拟机加载的类信息、常量、静态变量、以及编译器编译后的代码等。
下一篇:【小程序】全局数据共享
首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆。在中文里,Stack可以翻译
发现的一短篇讲解堆栈的分配,写的还不错,只是我也不知道原出处是哪里,cpy下啦,多谢
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M