Java ialah salah satu bahasa pengaturcaraan yang paling banyak digunakan hari ini kerana ia merangkumi ciri dan fungsi lanjutan. Dalam setiap versi baharu Java, pembangunnya menambah ciri dan fungsi baharu, dan caching integer ialah ciri yang diperkenalkan dalam Java 5. Dalam tutorial ini, kita akan memahami apa itu cache integer dalam Java dan kepentingannya dalam pengaturcaraan. p>
Daripada perkataan "cache", pembaca boleh meneka bahawa kita bercakap tentang menyimpan integer dalam ingatan dan menggunakannya semula apabila diperlukan. Ya, anda menekanya. Tetapi persoalan yang terlintas di fikiran saya ialah mengapa kita memerlukan cache integer.
Mari kami memahami cara caching integer berfungsi dan sebab kami memerlukannya dalam Java melalui kod sampel.
Dalam contoh di bawah, kami telah mentakrifkan pembolehubah integer pertama dan kedua dan memulakannya kepada 100 dalam julat -128 hingga 127. Selepas itu, kami membandingkan kedua-dua pembolehubah ini dan berdasarkan hasil perbandingan.
Selain itu, kami mentakrifkan pembolehubah integer ketiga dan keempat dan memulakannya dengan 130 nilai yang tidak berada dalam julat -128 hingga 127. Selain itu, kami membandingkannya dan memaparkan nilai yang terhasil dalam output.
import java.io.*; public class Main { public static void main(String[] args) { Integer first = 100; Integer second = 100; // It prints true only when both objects have the same reference if (first == second) { System.out.println("true"); } else { System.out.println("false"); } Integer third = 130; Integer fourth = 130; if (third == fourth) { System.out.println("true"); } else { System.out.println("false"); } } }
true false
Jika kita meneka output, kedua-duanya harus mengembalikan output "false" kerana operator "==" digunakan untuk memadankan rujukan kepada objek. Operator "==" mengembalikan benar hanya jika dua objek mempunyai rujukan yang sama. Walau bagaimanapun, jika kita perlu membandingkan nilai objek dalam Java, kita boleh menggunakan kaedah equals() tetapi tidak boleh menggunakan operator '==' untuk memadankan nilai objek.
Jadi, dijelaskan bahawa "==" kembali benar apabila dua objek mempunyai rujukan yang sama, dan mengembalikan benar untuk perbandingan objek "pertama" dan "kedua". Ini bermakna objek "pertama" dan "kedua" mempunyai rujukan yang sama.
Jadi, masalahnya ialah 'pertama', 'kedua', 'ketiga' dan 'keempat' adalah semua objek integer tetapi ia kembali benar hanya pada perbandingan 'pertama' dan 'kedua' tetapi untuk 'ketiga' dan 'Keempat" perbandingan.
Konsep caching integer diperkenalkan di sini.
-128 hingga 127 (termasuk) ialah nilai integer yang paling biasa digunakan. Jadi, apabila pengaturcara mencipta objek integer baharu dengan nilai dalam julat -128 hingga 127, JVM mula-mula menyemak sama ada objek dengan nilai yang sama wujud dalam ingatan. Jika ya, rujukan kepada objek yang sama dikembalikan. Jika tidak, ia mencipta objek baharu dan mengembalikan rujukan kepada objek itu.
Kini jelas kepada pengaturcara mengapa membandingkan objek "pertama" dan "kedua" kembali benar kerana caching.
Tetapi jika kita mencipta objek menggunakan kata kunci "baru", ia sentiasa mencipta objek baharu dalam ingatan. Oleh itu, caching integer tidak berfungsi dalam kes ini.
Integer first = new Integer(13); Integer second = new Integer(13);
Dalam kod di atas, nilai objek adalah antara -128 dan 127. Tetapi apabila kita membandingkan dua objek semasa mencipta objek menggunakan pembina, ia mengembalikan palsu.
Pengoptimuman Memori - Jika objek wujud, cache integer akan menggunakan objek yang sama untuk menyimpan integer antara -128 dan 127 dan bukannya mencipta objek baharu. Ia menjimatkan memori peranti.
Prestasi - Penciptaan objek memerlukan peruntukan memori dan permulaan objek. Oleh itu, menggunakan penciptaan objek sedia ada boleh meningkatkan prestasi aplikasi anda.
Ringkasnya, ciri cache integer adalah untuk cache objek integer yang paling biasa digunakan dalam ingatan untuk digunakan semula. Ia meningkatkan pengoptimuman memori dan prestasi aplikasi dengan menggunakan objek sedia ada.
Atas ialah kandungan terperinci Caching integer dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!