String yang Tidak Berubah di Java: Yang Perlu Anda Ketahui



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif mengenai String yang Berubah di Jawa, Mengapa Penting?

Berurusan dengan Rentetan Tidak Berubah di adalah Aspek yang sangat penting dalam mana-mana bahasa pengaturcaraan. Dalam artikel ini, kita akan membincangkan petunjuk berikut:

apakah array dinamik

Pengenalan String Tidak Berubah di Jawa

Kumpulan tali mempunyai objek rentetan yang di-cache kerana rentetan yang tidak dapat diubah. Pelbagai pelanggan berkongsi literal rentetan cache. Risiko yang terlibat dalam tindakan satu klien akan mempengaruhi semua pelanggan yang lain.





Sebagai contoh, apabila klien mengubah nilai String 'Test' menjadi 'TEST', semua klien lain akan melihat nilai yang berubah. Oleh kerana cache objek rentetan penting untuk prestasi, kelas String yang Tidak Berubah menghindari risiko. Juga, String dibuat akhir agar invarian kelas String tidak terganggu. Contoh Pengubahan Kekeliruan, Caching, kod hash dilakukan dengan peluasan dan penggantian tingkah laku.

Kunci Hashmap

Kekunci HashMap sangat popular, kebolehubahan sangat penting sehingga objek nilai dapat diambil dari HashMap. Menipu adalah prinsip HashMap, yang memerlukan nilai sama untuk berfungsi dengan baik. Dua kod hash yang berbeza dihasilkan satu pada masa penyisipan dan yang lain pada saat pengambilan ketika kandungan diubah setelah dimasukkan, berpotensi kehilangan objek nilai peta di peta.



String Hashtable-Immutable di Jawa
Kelas String yang tidak berubah di Jawa adalah yang paling kerap ditanya .Perbincangan dimulakan dengan, apa itu String, bagaimana ia berbeza dari String di C ++, dan kemudian pertanyaan berikut adalah objek yang tidak dapat diubah di Java, manfaat dari objek yang tidak dapat diubah, apa penggunaannya dan senario untuk menggunakannya.

Keperluan untuk Rentetan yang Tidak Berubah di Jawa

Dua sebab penting untuk dinyatakan mengapa kelas String Tidak Berubah dibuat di Jawa:

1. Tidak mungkin sama sekali mempunyai satu objek rentetan / literal.



Mari kita rujuk contoh di bawah:

'Uji' dapat disebut oleh banyak pemboleh ubah rujukan. Sekiranya salah satu dari mereka mengubah nilai untuk orang lain, ini juga akan terpengaruh. Mari kita lihat bagaimana.

Rentetan A = 'Ujian'
Rentetan B = 'Ujian'


String A disebut, 'Test' .toUpperCase () yang mengubah objek yang sama menjadi,'UJIAN'jadi B juga akan menjadi 'UJIAN' yang tidak diperlukan. Di bawah ini adalah rajah yang memberitahu kita bagaimana String dibuat dalam memori timbunan dan kumpulan literal String.

2. String telah banyak digunakan sebagai parameter untuk banyak kelas Java. Sebagai contoh, ketika kita membuka sambungan jaringan, kita dapat meneruskan nama host dan nombor port sebagai string, untuk membuka sambungan pangkalan data kita dapat meneruskan URL pangkalan data sebagai string.

apa yang bersiri di java


Rentetan yang tidak berubah akan menimbulkan ancaman keselamatan yang serius. Sebagai contoh, seseorang dapat mengakses fail, yang dapat diaksesnya dan kemudian menukar nama nama fail untuk mendapatkan akses ke fail lain. Dalam kes tidak berubah, tidak perlu risau tentang ancaman ini.

Rentetan yang tidak berubah dapat berkongsi benang dengan selamat juga, yang penting untuk pengaturcaraan multithreaded. Contoh rentetan yang tidak dapat diubah adalah selamat di benang di Java sehingga tidak perlu menyegerakkan operasi String secara luaran untuk mengelakkan masalah sinkronisasi di Java. Satu lagi perkara penting yang perlu diperhatikan adalah kebocoran memori yang disebabkan oleh Substring, yang bukan merupakan masalah yang berkaitan dengan benang tetapi sesuatu yang perlu diberi perhatian.

Dengan ini, kita sampai pada akhir artikel 'String yang Tidak Berubah di Jawa' ini. C lihatlah oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.