回答編集履歴

3

文字列リテラルを追加

2016/10/22 14:25

投稿

退会済みユーザー
test CHANGED
@@ -371,3 +371,7 @@
371
371
  ###追記
372
372
 
373
373
  質問が「定数を利用するクラスのサイズを減らすために、定数クラスをスタティックイニシャライズすべきか」ならば、はい、そのとおりです。
374
+
375
+ ###文字列リテラル
376
+
377
+ 定数が文字列リテラルの場合は、リテラルが初めて使用された時、String.internが実行され、唯一つのインスタンスへの参照に置き換わります。ただし、これが行われるのはクラスのロード時ではありません。

2

追記します。

2016/10/22 14:25

投稿

退会済みユーザー
test CHANGED
@@ -367,3 +367,7 @@
367
367
  SourceFile: "ConsumerB.java"
368
368
 
369
369
  ```
370
+
371
+ ###追記
372
+
373
+ 質問が「定数を利用するクラスのサイズを減らすために、定数クラスをスタティックイニシャライズすべきか」ならば、はい、そのとおりです。

1

一部変更します

2016/10/22 13:50

投稿

退会済みユーザー
test CHANGED
@@ -150,7 +150,7 @@
150
150
 
151
151
  $ javap -v -p -c ConsumerA.class
152
152
 
153
- Classfile /home/yasushi/NetBeansProjects/HalfWidthKatakana/build/classes/constants/ConsumerA.class
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 /home/yasushi/NetBeansProjects/HalfWidthKatakana/build/classes/constants/ConsumerB.class
263
+ Classfile build/classes/constants/ConsumerB.class
264
264
 
265
265
  Last modified 2016/10/22; size 646 bytes
266
266