当前位置: 首页 > 面试题库 >

Java-空变量是否需要内存空间

越学文
2023-03-14
问题内容

考虑以下代码块:

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;
    }
    :
    :
}

当我在构造函数中初始化两个变量(displayTextstate)时,其他两个变量(meaningfulTexturl)是否需要内存中的空间来存储null值?

Q1。如果它们确实需要空间,那么null值将占用多少内存?(例如,int占用4个字节)。

Q2。字符串在内存中占用多少空间?字符串需要多少存储空间?它取决于字符串的长度吗?


问题答案:

在Java中,null它只是引用(基本上是受限制的指针)可以具有的值。这意味着引用没有任何意义。在这种情况下,你仍然会占用参考空间。在32位系统上为4字节,在64位系统上为8字节。但是,在你实际分配该类的实例以将引用指向之前,你不会占用该引用所指向的类的任何空间。

编辑:就String而言,StringJava中的a 每个字符占用16位(2字节),加上少量簿记开销,这可能是未记录的且特定于实现的。



 类似资料:
  • 问题内容: 有什么最短的方法吗? 如果我是正确的,应该用? 有可能,并且在一行中写(也许是数组?)而不重复? 问题答案: 如果要测试变量是否 确实 是,请使用标识运算符: 如果要检查是否未设置变量: 或者,如果变量不为空,则为空字符串,零,..: 如果要测试变量是否不是空字符串,也将足够:

  • 我想检查变量是否为空: 此代码基于:https://www.thomasmaurer.ch/2010/07/powershell-check-variable-for-null/,但这不起作用。 我该怎么解决这个问题? ps。堆栈中有东西

  • 问题内容: 我有一个带有静态实例的android java类,其中包含一个用户信息。但是,在极少数情况下,当用户使用我的应用程序时,该静态实例中的变量之一会在一段时间后变为null。该Java类是全局的(未附加到任何活动)。是什么原因造成的? 编辑:该变量永远不会更改,除非在应用程序启动期间。我已经检查过调用它的函数永远不会被调用一次以上(adb logcat证明了当我添加一条日志表明正在被调用时

  • 问题内容: 假设我使用以下参数启动Java VM: 512m PermGen空间是 添加 到1024m内存还是它们的 一部分 ?换句话说,我的总内存消耗是1536m还是1024m?在后一种情况下,这是否意味着该应用程序仅具有512m的空间用于PermGen空间? 如果这个问题表明您对PermGen空间缺乏了解,请告诉我。;-) 问题答案: 的和参数是指 堆 内存,而PermGen的空间是一个单独的

  • 问题内容: 我想根据变量是否为null显示/隐藏div。 注意:在我的情况下,变量是一个对象。 这是一个非常简单的问题,但我似乎无法使其正常工作。 谢谢。 问题答案: 需要澄清的是,上面的示例确实有效,示例中的代码由于不相关的原因而无法正常工作。 如果myvar为false,null或之前从未使用过(即从未调用过$ scope.myvar或$ rootScope.myvar),则div将不会显示。

  • 在我的代码中,我循环遍历字符串中的每个字符。我需要测试该字符是否是空格。 这是我的代码: 我也尝试过: 两者都给出了错误 或 我在测试字母或数字时没有错误。我做错了什么? 谢谢, 扎克