class CheckStore {
private String displayText;
private boolean state;
private String meaningfulText;
private URL url;
public CheckStore(String text, boolean state) {
this.displayText = text;
this.state = state;
}
:
:
}
Run Code Online (Sandbox Code Playgroud)
由于我只在构造函数中初始化两个变量(displayText和state),其余两个变量(meaningfulText以及url具有该值的变量null)是否需要内存空间来存储null值.
Q1.我认为他们需要空间.如果他们愿意,那么一个int值在内存中占用多少内存(比如displayText需要4个字节).
Q2.字符串在内存中占用多少空间.我想这将取决于字符串的长度.那么一个字符串需要多长的空间?
dsi*_*cha 58
在Java中,null只是一个引用(基本上是一个受限制的指针)可以拥有的值.这意味着参考没有任何意义.在这种情况下,您仍然占用参考空间.这是32位系统上的4个字节或64位系统上的8个字节.但是,在实际分配该类的实例以指向引用之前,您不会为引用指向的类消耗任何空间.
编辑:就字符串而言,StringJava中的每个字符需要16位(2个字节),加上少量的簿记开销,这可能是未记录的,并且是特定于实现的.
Jac*_*cky 12
我想补充一下:
JVM中只有一个空值.无论有多少变量引用null.
Object s =(String)null;
对象i =(整数)null;
System.out.println(s == i); // true
| 归档时间: |
|
| 查看次数: |
25500 次 |
| 最近记录: |