Rumah > Java > javaTutorial > Mengapa Caching Integer Java Mempengaruhi Perbandingan `==`?

Mengapa Caching Integer Java Mempengaruhi Perbandingan `==`?

Susan Sarandon
Lepaskan: 2024-12-18 14:30:12
asal
934 orang telah melayarinya

Why Does Java's Integer Caching Affect `==` Comparisons?

Mengapa Integer Kecil Dicache dalam Java?

Masalah:

Pertimbangkan kod Java berikut:

Integer a = 1000, b = 1000;  
System.out.println(a == b); // false  
Integer c = 100, d = 100;  
System.out.println(c == d); // true
Salin selepas log masuk

Mengapa perbandingan a dan b mengembalikan palsu manakala c dan d kembali benar, walaupun kedua-duanya pasangan yang mempunyai nilai berangka yang sama?

Jawapan:

Untuk mengoptimumkan memori dan prestasi, Java Virtual Machine (JVM) cache integer integer dalam julat tertentu.

JVM mengiktiraf bahawa nilai integer kecil (biasanya dari -128 hingga 127) kerap digunakan dalam program. Memperuntukkan objek Integer baharu untuk setiap nilai tersebut akan menggunakan memori yang berlebihan. Oleh itu, JVM mengekalkan cache kejadian Integer yang telah diperuntukkan dalam julat ini. Apabila autoboxing berlaku, atau apabila nilai integer literal diberikan kepada pembolehubah Integer (cth., Integer c = 100;), JVM mendapatkan semula tika yang sepadan daripada cache.

Pengoptimuman ini mengurangkan overhed memori dengan ketara dan meningkatkan kecekapan cache . Dengan menyimpan berbilang rujukan kepada objek Integer yang sama, JVM boleh mengelakkan penciptaan objek berlebihan dan mengoptimumkan penggunaan memori.

Atas ialah kandungan terperinci Mengapa Caching Integer Java Mempengaruhi Perbandingan `==`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan