Java - 关于性能和内存使用,为什么最好在静态字段中使用字符串而不是每次需要时都声明它?
Java - Regarding performance and memory use, why it's better to use a string into a static field instead of declaring it every time it's needed?
为什么最好在静态字段中使用字符串而不是每次需要时都声明它?
// Old scenario
Person p = new Person("Charles", "Xavier");
Person p = new Person("Charles", "Doe");
Person p = new Person("Charles", "Johnson");
// New scenario
private static String name = "Charles"
Person p = new Person(name, "Xavier");
Person p = new Person(name, "Doe");
Person p = new Person(name, "Johnson");
我有一个很好的做法,就是用静态字段替换 "Charles" 等相同的字符串,但是关于内存使用和性能,这样更好吗?
对于JVM来说,两者是一样的,都进入了String pool。
但是,从代码质量的角度来看,最好将其定义为常量,这样您可以在以后需要时查看和更改一个点。
为什么最好在静态字段中使用字符串而不是每次需要时都声明它?
// Old scenario
Person p = new Person("Charles", "Xavier");
Person p = new Person("Charles", "Doe");
Person p = new Person("Charles", "Johnson");
// New scenario
private static String name = "Charles"
Person p = new Person(name, "Xavier");
Person p = new Person(name, "Doe");
Person p = new Person(name, "Johnson");
我有一个很好的做法,就是用静态字段替换 "Charles" 等相同的字符串,但是关于内存使用和性能,这样更好吗?
对于JVM来说,两者是一样的,都进入了String pool。
但是,从代码质量的角度来看,最好将其定义为常量,这样您可以在以后需要时查看和更改一个点。