[解決済み] Java の文字列プールとは何ですか?また、"s" と new String("s") とはどう違うのですか?重複
質問
の意味するところは 文字列プール ? また、以下の宣言の違いは何ですか。
String s = "hello";
String s = new String("hello");
JVMによるこれら2つの文字列の保存に違いはありますか?
どのように解決するのですか?
文字列プールは、JVMの特殊な実装であり、その概念は 文字列インターン :
<ブロッククオートコンピュータサイエンスにおいて、文字列インターン を1つだけ保存する方法です。 を保存する方法です。 は不変でなければなりません。文字列のインターン 文字列をインターンすることで、文字列処理タスクの一部 文字列を内部化することで、文字列処理タスクの時間効率や空間効率を向上させることができます。 文字列をインターンすることで、ある種の文字列処理タスクは時間的または空間的に効率的になりますが、その代償として 文字列の作成時やインターン時に多くの時間を必要とします。このような場合 は,文字列 インターンプールに格納されます。
基本的に、文字列インターンプールは、アプリケーションの領域が複数のインスタンスを作成する代わりに、共通の文字列のインスタンスを再利用できるように、ランタイムがプール内に不変の文字列を保存することによってメモリを節約することを可能にします。
興味深い余談ですが、文字列インターンは フライウェイトデザインパターン :
Flyweightは、ソフトウェアのデザインパターン パターンです。フライウェイトとは、以下のようなオブジェクトのことです。 他のオブジェクトとできるだけ多くのデータを共有することで、メモリの使用を最小限に抑えることができます。 他の類似のオブジェクトとできるだけ多くのデータを共有することで を使用する方法です。 オブジェクトを大量に使用する方法です。 オブジェクトを大量に使用する方法です。 大量に使用する方法です。
関連
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み] StringBuilderとStringBufferの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
メモ帳でJavaプログラムをコンパイルして実行すると、Could not find or load main class ...というエラーが表示される。解決方法
-
セミコロン期待値エラー解決
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
FindBugの使用概要
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
API の戻り値を処理するために ResponseEntity を使用する
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
代入の左辺は変数でなければならない 解答
-
ApiModel と @ApiModelProperty の使用法
-
[解決済み】"text "とnew String("text")の違いは?)