Java は、高度な機能を備えているため、現在最も一般的に使用されているプログラミング言語の 1 つです。 Java の新しいバージョンごとに、開発者は新しい機能を追加します。整数キャッシュは Java 5 で導入された機能です。このチュートリアルでは、Java における整数キャッシュとは何か、またプログラミングにおけるその重要性について理解します。 p>
「キャッシュ」という言葉から、読者は整数をメモリに保存し、必要なときに再利用することについて話していると推測できます。はい、ご想像のとおりです。しかし、私の頭に浮かぶ疑問は、なぜ整数キャッシュが必要なのかということです。
整数キャッシュがどのように機能するのか、またサンプル コードを通じて Java で整数キャッシュが必要な理由を理解しましょう。
###例###さらに、3 番目と 4 番目の整数変数を定義し、-128 ~ 127 の範囲にない 130 個の値で初期化します。さらに、それらを比較し、結果の値を出力に表示しました。
リーリー ###出力### リーリー出力を推測すると、オブジェクトへの参照を照合するために「==」演算子が使用されるため、どちらも「false」出力を返すはずです。 「==」演算子は、2 つのオブジェクトが同じ参照を持つ場合にのみ true を返します。ただし、Java でオブジェクトの値を比較する必要がある場合、equals() メソッドを使用できますが、「==」演算子を使用してオブジェクトの値を照合することはできません。
つまり、問題は、「first」、「next」、「three」、「fourth」がすべて整数オブジェクトであるにもかかわらず、「first」と「next」の比較の場合にのみ true を返し、「thirth」の場合は true を返すということです。 「四代目」との比較。
ここでは整数キャッシュの概念を紹介します。
-128 ~ 127 (両端を含む) は、最も一般的に使用される整数値です。したがって、プログラマが -128 ~ 127 の範囲の値を持つ新しい整数オブジェクトを作成すると、JVM はまず同じ値を持つオブジェクトがメモリ内に存在するかどうかを確認します。存在する場合、同じオブジェクトへの参照が返されます。それ以外の場合は、新しいオブジェクトを作成し、そのオブジェクトへの参照を返します。
これで、プログラマにとって、なぜ「最初」のオブジェクトと「2 番目」のオブジェクトを比較するとキャッシュが原因で true が返されるのかは明らかです。
ただし、「new」キーワードを使用してオブジェクトを作成すると、常にメモリ内に新しいオブジェクトが作成されます。したがって、この場合、整数のキャッシュは機能しません。
リーリー上記のコードでは、オブジェクトの値は -128 ~ 127 です。ただし、コンストラクターを使用してオブジェクトを作成するときに 2 つのオブジェクトを比較すると、false が返されます。
整数キャッシュの利点
メモリ最適化
パフォーマンス
###結論は### 簡単に言えば、整数キャッシュ機能は、最もよく使用される整数オブジェクトを再利用できるようにメモリにキャッシュすることです。既存のオブジェクトを使用することで、メモリの最適化とアプリケーションのパフォーマンスが向上します。
以上がJava での整数キャッシュの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。