回答編集履歴
3
文字列リテラルを追加
test
CHANGED
@@ -371,3 +371,7 @@
|
|
371
371
|
###追記
|
372
372
|
|
373
373
|
質問が「定数を利用するクラスのサイズを減らすために、定数クラスをスタティックイニシャライズすべきか」ならば、はい、そのとおりです。
|
374
|
+
|
375
|
+
###文字列リテラル
|
376
|
+
|
377
|
+
定数が文字列リテラルの場合は、リテラルが初めて使用された時、String.internが実行され、唯一つのインスタンスへの参照に置き換わります。ただし、これが行われるのはクラスのロード時ではありません。
|
2
追記します。
test
CHANGED
@@ -367,3 +367,7 @@
|
|
367
367
|
SourceFile: "ConsumerB.java"
|
368
368
|
|
369
369
|
```
|
370
|
+
|
371
|
+
###追記
|
372
|
+
|
373
|
+
質問が「定数を利用するクラスのサイズを減らすために、定数クラスをスタティックイニシャライズすべきか」ならば、はい、そのとおりです。
|
1
一部変更します
test
CHANGED
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
$ javap -v -p -c ConsumerA.class
|
152
152
|
|
153
|
-
Classfile
|
153
|
+
Classfile build/classes/constants/ConsumerA.class
|
154
154
|
|
155
155
|
Last modified 2016/10/22; size 617 bytes
|
156
156
|
|
@@ -260,7 +260,7 @@
|
|
260
260
|
|
261
261
|
$ javap -v -p -c ConsumerB.class
|
262
262
|
|
263
|
-
Classfile
|
263
|
+
Classfile build/classes/constants/ConsumerB.class
|
264
264
|
|
265
265
|
Last modified 2016/10/22; size 646 bytes
|
266
266
|
|