相关疑难解决方法(0)

java如何在引擎盖下实现字符串的flyweight模式?

如果你有两个String实例,并且它们是相同的,那么在Java中它们将共享相同的内存.这是如何在引擎盖下实施的?

编辑:我的应用程序使用大量的String对象,其中许多是相同的.使用Java String常量池的最佳方法是什么,以避免创建自定义flyweight实现?

java design-patterns flyweight-pattern

17
推荐指数
4
解决办法
1万
查看次数

当我有一个类的集合时,内存中存储了多少个静态final属性的副本

假设我有这个简单的类:

public class Car {
  public static final int TYPE_SUV = 1;
  public static final int TYPE_TRUCK = 2;
  public String name;
  public int carType;
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我有这些的集合,我知道我正在为集合中的每个元素分配一个String和一个int,但我是否也int多次存储静态?这个设计的示例类代表了我在几年前写的那种Java之前,我才知道像这样的幻想数字更好地服务enum于一个单独的类中定义,但我总是想知道这个代码的副作用是什么.

java memory

0
推荐指数
1
解决办法
1276
查看次数

标签 统计

java ×2

design-patterns ×1

flyweight-pattern ×1

memory ×1