定数プールとは? わかりやすく解説

定数プール

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/23 05:01 UTC 版)

Javaクラスファイル」の記事における「定数プール」の解説

定数プールは、大部分リテラル定数値がストアされる場所である。ここには全ての種類の数、文字列識別子名、クラスおよびメソッドへの参照、そしてタイプデスクリプタといった値が含まれる定数テーブル内の明確な定数への全てのインデックス参照は、インデックステーブル内の最初定数を1に指し示すインデックス値0は不正)、16ビットu2型)数で与えられるファイルフォーマット開発中歴史的な選択のため、定数テーブル内の定数の数は、テーブル先にある定数テーブルカウントと実際には同じではない。最初にテーブルは(0ではなく)1で始まるようインデックス付けされ、そのためにカウント実際に最大インデックスとして解釈されるべきである。加えて定数2つの型longおよびdouble)は連続したスロットを取る。しかし二つ目のそのスロット決し直接使用されない幻のインデックスである。 定数テーブル内の各項目(定数)の型は、最初バイトであるタグ識別される。このタグに続く数とこれらの解釈は、それ以降タグの値に左右される正当な定数型とそのタグ以下の通りである: タグバイト追加バイト定数解説1 2+xバイト変数UTF-8 (Unicode) 文字列 : 直接続くエンコードされた文字列内の数を示す、16ビット数の接頭辞が付くキャラクタ文字列エンコーディング実際にUTF-8ではなくUnicode標準エンコーディング形式わずかな修正を含むことに注意すること。 3 4バイト Integer : ビッグエンディアンフォーマットによる符号付き32ビット2の補数 4 4バイト Float : 32ビット単精度IEEE 754浮動小数点数 5 8バイト Long : ビッグエンディアンフォーマットによる符号付き64ビット2の補数定数テーブル2つスロット占める) 6 8バイト Double : 64ビット倍精度IEEE 754浮動小数点数定数テーブル2つスロット占める) 7 2バイト クラス参照 : (内部フォーマットによる)完全修型クラス名を含むUTF-8文字列による定数テーブル内のインデックスビッグエンディアン8 2バイト 文字列参照 : UTF-8による定数プール内のインデックスビッグエンディアン9 4バイト フィールド参照 : 定数プール内にある2つインデックス最初クラス参照で次は名前および型の記述ビッグエンディアン10 4バイト メソッド参照 : 定数プール内にある2つインデックス最初クラス参照で次は名前および型の記述ビッグエンディアン11 4バイト インタフェース参照 : 定数プール内にある2つインデックス最初クラス参照で次は名前および型の記述ビッグエンディアン12 4バイト 名前および型の記述 : UTF-8による定数プール内のインデックス最初は名前(識別子)を表し次は特別にエンコードされた型 整数定数型はintegerlong2つしかないbooleanbyte、そしてshortといった上位レベル言語見られる他の定数型は、integer定数として表されなければならない。 完全修飾されたJavaクラス名は、「java.lang.Object」のように慣例的にドット区分けされる。しかしながら低レベルクラス参照定数においては内部形式は「java/lang/Object」のように、代わりにスラッシュ使用するUnicode文字列は、「UTF-8文字列」とあだ名されているにも係らず、実際にUnicode標準に従ってエンコードされておらずそれと似たような形式である。それら2つには違いがある(完全な議論についてはUTF-8参照すること)。最初にコードポイントU+0000は、標準的な1バイト00エンコードする代わりに2バイトシーケンスC0 80としてエンコードされる。2つ目の違いは、(U+10000および上記としてBasic Multilingual Plane外側にある)補足する文字が、UTF-8用いて直接エンコードするのではなくUTF-16似たサロゲートペア構造用いてエンコードすることである。この場合2つサロゲート各々UTF-8において分割してエンコードされる。例えU+1D11Eは、4バイトUTF-8エンコーディングF0 9D 84 9Eではなく、6バイトシーケンスED A0 B4 ED B4 9Eとしてエンコードされる。

※この「定数プール」の解説は、「Javaクラスファイル」の解説の一部です。
「定数プール」を含む「Javaクラスファイル」の記事については、「Javaクラスファイル」の概要を参照ください。

ウィキペディア小見出し辞書の「定数プール」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「定数プール」の関連用語

定数プールのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



定数プールのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのJavaクラスファイル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS