gpt4 book ai didi

java - 尝试节省内存有意义吗?

转载 作者:行者123 更新时间:2023-11-30 05:56:12 24 4
gpt4 key购买 nike

public class KGEntry {

private String sku;
private String question;
private String answer;
private String brand;

public static final class KGEntryKey {
private String sku;
private String question;

public KGEntryKey(String sku, String question) {
this.sku = sku;
this.question = question;
}

// hash and equals
}
}

现在我想创建:

 Map<KGEntryKey, KGEntry> map = new HashMap<>();

由于 KGEntry 和 KGEntryKey 中的“sku”和“问题”相同,如果我将设计更改为:是否会减少内存使用量:

public class KGEntry {

private String answer;
private String brand;

public static final class KGEntryKey {
private String sku;
private String question;

public KGEntryKey(String sku, String question) {
this.sku = sku;
this.question = question;
}

// hash and equals
}
}

现在填充 map :

Map<KGEntryKey, KGEntry> map = new HashMap<>();

在我看来,这并不能节省内存。在这种情况下有没有办法节省内存使用?

最佳答案

KGEntryKey 和 KGEntry 这两个类在任何方面都彼此无关,只是其中一个类的定义在另一个类中。它们的内存消耗互不影响。

如果您有一个对另一个的引用,例如 KGEntry 中 KGEntryKey 类型的实例字段,如果 KGEntryKey 不是 static (在这种情况下,KGEntryKey 实例将引用其包含的 KGEntry 实例),那么您的问题可能更有意义。

关于java - 尝试节省内存有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53129157/

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