gpt4 book ai didi

java - 节省实例变量

转载 作者:行者123 更新时间:2023-12-01 06:48:04 25 4
gpt4 key购买 nike

我们的服务器最近出现了很多故障,我的任务是改善一组被确定为罪魁祸首的类的内存使用情况。

我有初始化对象实例的代码,如下所示:

boolean 值 var1; boolean 值 var2;。。。 boolean 值 var100;

void setup() {
var1 = map.hasFlag("var1");
var2 = map.hasFlag("var2);
.
.
.
if (map.hasFlag("some flag") {
doSomething();
}
if (var1) {
increment something
}
if (var2) {
increment something
}

}

设置代码大约需要 1300 行。我的问题是,在使用太多实例变量方面,此方法是否可能更有效。

顺便说一句,实例变量在“主”方法handleRow()中使用,例如:

handleRow(){
if (var1) {
doSomething();
}
.
.
.
if (var100) {
doSomething();
}
}

我正在考虑的一个解决方案是通过删除设置方法中的实例变量来更改实现,并在需要时直接从 map 中调用它:

handleRow(){
if (map.hasFlag("var1") {
doSomething();
}
.
.
.
if (map.hasFlag("var100") {
doSomething();
}
}

这是我正在考虑的一个解决方案,但我想听听社区的意见。 :)

最佳答案

如果这些确实都是 boolean 变量,请考虑使用 BitSet反而。您可能会发现,这会将内存占用量减少 8 倍,甚至可能减少 32 倍,具体取决于填充。

关于java - 节省实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3500288/

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