ホームページ > Java > &#&チュートリアル > Java の文字列プールは、「new」キーワードで作成された文字列をどのように処理しますか?

Java の文字列プールは、「new」キーワードで作成された文字列をどのように処理しますか?

Patricia Arquette
リリース: 2024-12-16 14:00:23
オリジナル
364 人が閲覧しました

How Does Java's String Pool Handle Strings Created with the `new` Keyword?

Java の文字列プールの探索

次のコードを考えてみましょう:

String first = "abc";
String second = new String("abc");
ログイン後にコピー

質問 1: 文字列プールNewでの使用法キーワード

Java が new String() コンストラクターで 2 番目に初期化するとき、まったく新しい abc String インスタンスが作成されますか?

答え: はい、new を使用します。新しい String オブジェクトが確実に作成されます。

質問 2: ヒープと Stringプール ストレージ

新しく作成された String インスタンス (新しいキーワードから) は通常のヒープに保存されますか?

答え: すべてのオブジェクトString オブジェクトを含む、ヒープ上に常駐します。文字列プールは独立したメモリ領域ではありません。これはキャッシュのようなメカニズムです。

質問 3: 文字列プールの数

「abc」文字列のインスタンスは何個文字列プールに最終的に存在しますか?

答え: 通常、不変の String を作成するときは、リテラルの場合、Java はそれらを自動的に文字列プールに配置します。ただし、この特定のシナリオでは、

  • 最初に文字列プールから abc 文字列への参照が割り当てられます。
  • 2 番目は new String("abc") で作成され、別の String オブジェクトを作成します。これは String プールには保存されません。

したがって、この場合のみ1 つの "abc" String インスタンスが String プールに存在します。

以上がJava の文字列プールは、「new」キーワードで作成された文字列をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート