Apa konsep String Pool di java?



String Pool di Java adalah kumpulan Strings yang disimpan di Java Heap Memory. Tutorial ini akan membantu Anda dengan pendekatan mendetail ke Java String Pool dengan contoh.

Pernahkah Anda mendengar istilah tersebut “Kumpulan string di Java?” Nah, jika tidak, Anda telah mendarat di tempat yang tepat. String Pool di Java adalah kumpulan String yang disimpan di Memori Heap. Mari kita menggali lebih dalam dan memahami konsep kumpulan String Java ini secara mendetail.

Petunjuk berikut akan dibahas dalam artikel ini:





Mari kita mulai!

Pertama-tama, mari kita pahami bagaimana tepatnya objek string dibuat!



Bagaimana cara membuat string?

Untuk membuat objek String di Java, ada dua cara:

  • Menggunakan operator baru. Sebagai contoh,
String s1 = String baru ('Joey')
  • Menggunakan string literal atau ekspresi konstan. Sebagai contoh,
String s1 = 'Joey' (string literal) atau String s1 = 'Joe' + 'y' (string ekspresi konstan)

Sekarang, apa kolam String yang saya bicarakan ini dan bagaimana pembuatan string di Java terkait dengan ini. Biarkan saya mengurangi kekacauan!

Apa itu String Pool di Java?

String Pool adalah tempat penyimpanan di heap Java.



casting ganda ke int di java

Alokasi string, seperti semua alokasi objek , terbukti menjadi urusan yang mahal baik dalam hal waktu maupun ingatan. JVM melakukan beberapa langkah saat menginisialisasi string literal untuk meningkatkan kinerja dan mengurangi overhead memori. Untuk mengurangi jumlah objek String yang dibuat di JVM, kelas String menyimpan kumpulan string.

Setiap kali string literal dibuat, file JVM periksa kumpulan string literal terlebih dahulu. Jika string sudah ada di kumpulan string, referensi ke instance gabungan akan dikembalikan. Jika string tidak ada di kumpulan, objek String baru diinisialisasi dan ditempatkan di kumpulan.

Setelah mempelajari konsep secara teoritis, izinkan saya memberi tahu Anda bagaimana cara kerja String pool di Java selangkah demi selangkah dengan bantuan contoh sederhana!

Bagaimana cara kerja String pool di Java?

Saat Anda membuat string baru seperti ini:

String s1 = “Rachel”

JVM secara otomatis memeriksa apakah nilai yang sama ada di kumpulan konstan string atau tidak.

  • jika ya, itu menempati nilai yang sudah ada.
  • Jika tidak, ini membuat string baru dengan sendirinya dan menambahkannya ke kumpulan string.

Jika Anda ingin menghentikan perilaku ini, buat string menggunakan operator baru:

String s1 = string baru ('Rachel')

Sekarang, jika Anda ingin menambahkan string ini ke , Java memberi Anda metode yang disebut, metode intern (), Anda bisa memanggil metode native intern () seperti ini:

S1. Internal ()

Sekarang, saya akan menunjukkan kepada Anda implementasi dan cara kerja kumpulan string melalui sebuah contoh.

Tapi sebelum itu, pengingat singkat!

Seperti yang Anda ketahui jika Anda membandingkan 2 objek menggunakan == operator, ini membandingkan alamat di memori.

Jadi kami akan membandingkan string menggunakan == untuk benar-benar yakin bahwa itu adalah objek yang sama atau tidak.

Sekarang, mari kita lanjutkan ke proses penerapan kita.

belajar ssis langkah demi langkah

String Pool di Java: Diagram Alir

String-pool - Edureka

Sekarang mari kita pahami apa yang terjadi di sini selangkah demi selangkah:

  • Kelas dimuat saat dipanggil.
  • JVM mencari semua literal string dalam program
  • Pertama, ia menemukan variabel s1 yang mengacu pada 'Apple' literal dan dibuat dalam memori
  • Referensi untuk 'Apple' literal kemudian ditempatkan dalam memori kumpulan konstan string.
  • Kemudian ia menemukan variabel lain s2 yang mengacu pada string literal yang sama 'Mango'.
  • Kemudian ia menemukan variabel lain s3 yang mengacu pada 'Apple' literal
  • Sekarang JVM telah menemukan string literal 'Apple', baik variabel s1 dan s3 akan merujuk ke objek yang sama yaitu 'Apple'.

Program Java untuk String Pool

public class StringPoolExperiment {public static void main (String [] args) {String s1 = 'Rachel' String s2 = 'Rachel' String s3 = new String ('Rachel') String s4 = new String ('Rachel'). intern ( ) System.out.println (s1 == s2) // benar System.out.println (s1 == s3) // false System.out.println (s1 == s4) // true}}

Keluaran:

Benar
Salah
Benar

Dalam contoh di atas, Anda dapat dengan jelas melihat penggunaan inisialisasi string dalam ketiga cara yaitu

String s1 = 'Rachel' String s2 = 'Rachel' String s3 = new String ('Rachel') String s4 = new String ('Rachel'). Intern ()

Pekerjaan internal program mungkin harus jelas sekarang.

Dengan ini, saya telah mencapai akhir blog saya. Saya harap konten yang diuraikan di sini membantu Anda dalam memperluas basis pengetahuan Anda. Kami akan terus menyelam ke dunia Jawa. Tetap disini!

Lihat 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. Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Java dan melatih Anda untuk konsep Java inti dan lanjutan bersama dengan berbagai kerangka kerja Java seperti Hibernate & Musim semi .

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'Kumpulan String di Java' dan kami akan menghubungi Anda kembali secepatnya.