gpt4 book ai didi

java - ENUM 存储(内存等)

转载 作者:搜寻专家 更新时间:2023-11-01 01:36:11 25 4
gpt4 key购买 nike

我只是在问自己一个小问题,我不确定我是否能找到正确的答案:

如果我在 Java 中使用一个 ENUM,它有一个自己的构造函数(以及很多很多 maaaaany 参数)- 是每次程序执行时存储在内存中的那些,还是它们只是在内存中“加载”,如果他们得到用过吗?

我的意思是,如果我有一个包含 400 个条目的 ENUM,并且只使用其中一个条目 - 所有其他条目是否仍然存在于内存中?

一些伪代码:

public enum Type {
ENTRY_A(val1, val2, val3, val4, new Object(val5, val6, val7, ...)),
ENTRY_B(val1, val2, val3, val4, new Object(val5, val6, val7, ...)),
ENTRY_C(val1, val2, val3, val4, new Object(val5, val6, val7, ...)),
...
}

如果我只使用 ENTRY_A,而不触及 ENTRY_B、ENTRY_C 等 - Java 将如何准确处理?

感谢您的回答 - 是的,这主要是出于好奇

最佳答案

是的,即使您只使用一个 ENUM 常量,所有内容都会加载到内存中。

枚举是一种特殊类型的类,所有字段都是常量,因此当您加载枚举时,它本身会将所有内容加载到内存中。

关于java - ENUM 存储(内存等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13051223/

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