- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
663 :デフォルトの名無しさん[]:2015/09/17(木) 21:56:28.73 ID:v9PnBNai - >>656
定数プールよりコンスタントプールが一般的な呼び名だね static final String で定義された値ってよりは文字列リテラルで定義されたStringがプールされる 文字列リテラルは”hoge”の様に指定されたStringオブジェクト、つまりはクラス内の既知の文字列ってこと あと、String#intern()をするとコンスタントプールに新たに登録できる
|
- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
664 :デフォルトの名無しさん[]:2015/09/17(木) 22:27:03.83 ID:v9PnBNai - >>652
実行順序は正しい 補足するとstaticイニシャライザはstaticフィールド代入とstaticブロックに分かれるけど、この実行順序は定義順 static final int STATIC_FIELD = getStaticField(); static { System.out.println(“static block”); } private static int getStaticField() { System.out.println(“static field”); return 0; } ― 実行結果 ― static field static block ―――― インスタンスイニシャライザも同様にインスタンスフィールド代入とインスタンスブロックに分かれて、実行順は定義順
|
- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
667 :デフォルトの名無しさん[]:2015/09/17(木) 22:44:56.42 ID:v9PnBNai - >>665
言語仕様 http://docs.oracle.com/javase/specs/jls/se8/html/index.html VM仕様 http://docs.oracle.com/javase/specs/jvms/se8/html/index.html 言語仕様はJava認定資格関連のテキストとかがいいんじゃないかな http://www.oracle.com/jp/education/certification/jse8-2489021-ja.html&intcmp=JPOUSPOTBAN3 VM仕様の日本語は古いですがこれしかないです http://goo.gl/fIW55h ただ、最新VM仕様との違いはそんなにないはず(オペコードにInvokeDynamicが追加されたくらい?)
|