gpt4 book ai didi

Java - 字节数组使用的内存是设置的 4 倍

转载 作者:行者123 更新时间:2023-12-03 02:56:45 26 4
gpt4 key购买 nike

我玩了一下 Java 的数组,我意识到 1GB 大字节数组需要 4GB RAM。
这是我的代码(确保您至少有 4GB 未使用的 RAM,否则您的电脑可能会死机):

public static void main(String[] args) throws InterruptedException {
Byte[] array = new Byte[1073741823]; // Equals 1GB

System.out.println("Done");
Thread.sleep(10000);
System.out.println("Completely done");
}

那是我的机器:
MacBook Pro(64 位;运行 OS X 10.9)
Java:Java SE 6 (1.6.0_65-b14-462) 和 Java SE 7 (1.7.0_45)。内存:16
已用内存:约10GB

当我启动此应用程序时,它使用 4GB 而不是 1GB。我使用这些参数来启动该程序:-Xmx8g -d64

最佳答案

那是因为 Byte 是一个对象,它需要足够的内存来保存对象引用。您需要小写的“字节”作为原始类型。

关于Java - 字节数组使用的内存是设置的 4 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24233857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com