String yang Tidak Dapat Diubah di Java: Semua yang Perlu Anda Ketahui



Artikel ini akan memberi Anda pengetahuan terperinci dan komprehensif tentang String yang Tidak Dapat Diubah di Java, Mengapa Penting?

Berurusan dengan String yang Tidak Dapat Diubah dalam adalah Aspek yang sangat penting dalam bahasa pemrograman apa pun. Pada artikel ini, kita akan membahas beberapa petunjuk berikut:

Pengantar String yang Tidak Dapat Diubah di Java

Kumpulan string memiliki objek string yang di-cache karena string tersebut tidak dapat diubah. Beberapa klien berbagi literal string yang di-cache. Risiko yang terlibat dalam tindakan satu klien akan memengaruhi semua klien lainnya.





Misalnya, ketika klien mengubah nilai String 'Test' menjadi 'TEST', semua klien lain akan melihat nilai yang berubah. Karena cache objek string penting untuk kinerja, kelas String yang Tidak Dapat Diubah menghindari risiko. Juga, String dibuat final sehingga invarian dari kelas String tidak akan dikompromikan. Contoh Immutability, Caching, kalkulasi kode hash yang dilakukan oleh extension dan override of behaviors.

boneka vs koki vs jenkins

Kunci Hashmap

Kunci HashMap sangat populer, kekekalan sangat penting agar objek nilai dapat diambil dari HashMap. Hashing adalah prinsip HashMap, yang membutuhkan nilai yang sama agar berfungsi dengan baik. Dua kode hash yang berbeda dihasilkan satu pada saat penyisipan dan lainnya pada saat pengambilan ketika konten diubah setelah penyisipan, berpotensi kehilangan objek nilai peta di peta.



String Hashtable-Immutable di Java
Kelas String yang tidak dapat diubah di Java adalah yang paling sering ditanyakan .Diskusi dimulai dengan, apa itu String, apa bedanya dengan String di C ++, dan kemudian pertanyaan berikut adalah objek yang tidak dapat diubah di Java, manfaat dari objek yang tidak dapat diubah, apa kegunaannya dan skenario untuk menggunakannya.

Need for Immutable String di Java

Dua alasan penting untuk mengatakan mengapa kelas String yang Tidak Dapat Diubah dibuat di Java:

1. Tidak mungkin sama sekali dalam kasus memiliki satu objek string / literal.



Mari kita simak contoh di bawah ini:

'Uji' dapat dirujuk oleh banyak variabel referensi. Jika salah satu dari mereka mengubah nilai untuk orang lain, ini juga akan terpengaruh. Mari kita lihat caranya.

String A = 'Uji'
String B = 'Uji'


String A memanggil, 'Test' .toUpperCase () yang mengubah objek yang sama menjadi,'UJI'jadi B juga akan menjadi “TEST” yang tidak diperlukan. Di bawah ini adalah diagram yang memberi tahu kita bagaimana String dibuat dalam memori heap dan kumpulan literal String.

apa itu java instance

2. String telah banyak digunakan sebagai parameter untuk banyak kelas Java. Misalnya, ketika kita membuka koneksi jaringan, kita dapat mengirimkan nama host dan nomor port sebagai string, untuk membuka koneksi database kita dapat mengirimkan URL database sebagai string.


String yang tidak dapat diubah akan menyebabkan ancaman keamanan yang serius. Misalnya, seseorang dapat mengakses file, yang dia miliki aksesnya dan kemudian mengubah nama dari nama file untuk mendapatkan akses ke file lain. Dalam kasus kekekalan, tidak perlu khawatir tentang ancaman ini.

String yang tidak dapat diubah juga dapat berbagi utas dengan aman, yang penting untuk pemrograman multithread. Instance string yang tidak dapat diubah adalah thread-safe di Java sehingga tidak perlu menyinkronkan operasi String secara eksternal untuk menghindari masalah sinkronisasi di Java. Hal penting lainnya yang perlu diperhatikan adalah kebocoran memori yang disebabkan oleh Substring, yang bukan merupakan masalah terkait utas tetapi sesuatu yang harus diperhatikan.

Dengan ini, kita sampai pada bagian akhir artikel 'String yang Tidak Dapat Diubah di Java' ini. C lihat saja oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar blog ini dan kami akan menghubungi Anda kembali secepatnya.