java - 初始化变量就是为这个变量 分配内存,这句话对不?
本文介绍了java - 初始化变量就是为这个变量 分配内存,这句话对不?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
Java程序中的引用变量并不需要进行所谓的初始化操作,需要进行的是引用变量所引用的对象。
解决方案
初始化变量分:
声明变量
给变量赋值
分配内存也分:
分配堆里的内存
分配栈里的内存
所以呢,这个问题比较泛。
首先来个栗子:
int a;//分配jvm中的栈内存,形成一个引用
a = 1;//分配jvm中的堆内存
再举个栗子:
String str = new String(hello);
str 这个引用放在栈上
new 创建出来的对象实例放在堆上
hello这个字面量放在静态存储区
继续上面的栗子:
String str1 = str;//此时,str1也是一个引用,放在栈上。指向堆里的hello
想了解更多,可以看看我的一篇专栏文章。开头简单的讲到了 Java Memory Model。
这篇关于java - 初始化变量就是为这个变量 分配内存,这句话对不?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文