这期内容当中小编将会给大家带来有关Java中的栈和堆,进而衍生到值传递,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联公司专注于东河网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供东河营销型网站建设,东河网站制作、东河网页设计、东河网站官网定制、成都小程序开发服务,打造东河网络公司原创品牌,更为您提供东河网站排名全网营销落地服务。首先记住结论:
基本数据类型、局部变量、String类型的直接赋值都是存放在栈内存中的,用完就消失。
new创建的实例化对象、String类型的构造方法new出来的对象及数组,是存放在堆内存中的,用完之后靠垃圾回收机制不定期自动消除。
地址是栈,就是静态绑定机制,执行完值不变化;地址是堆(对象在堆内储存,一般也会在栈里分配一个空间,去指向堆里的对象的地址)就是动态绑定机制,执行完值变化。
栈和堆
栈:基本类型变量,String类型的直接赋值变量,对象的实例变量都在函数的栈内存中分配。栈内存特点,数据一执行完毕,变量会立即释放,节约内存空间;并且必须初始化变量的值。
堆:堆内存用来存放new创建的对象、String类型的构造方法new出来的对象和数组。堆内存中所有的实体都有内存地址值,系统会自动初始化变量的值;当堆内存中的实体不再被指向时,JVM启动垃圾回收机制,自动清除。
举例1:
public static void main(String[] args) { int sum = 0; String str = "abc"; for(int i =1 ; i
本文题目:Java中的栈和堆,进而衍生到值传递-创新互联
文章链接:http://cxhlcq.cn/article/dsdgpc.html