Apakah konsep String Pool di java?



String Pool di Java adalah kumpulan String yang tersimpan di Java Heap Memory. Tutorial ini akan membantu anda dengan pendekatan terperinci ke Java String Pool dengan contoh.

Adakah anda pernah mendengar mengenai istilah tersebut 'Kolam renang di Jawa?' Jika tidak, anda telah mendarat di tempat yang betul. String Pool di Java adalah kolam String yang disimpan di Ingatan Tumpukan. Mari kita menggali sedikit lebih mendalam dan memahami konsep kumpulan Java String ini secara terperinci.

Petunjuk berikut akan dibincangkan dalam artikel ini:





Mari kita mulakan!

Pertama sekali, mari kita fahami bagaimana sebenarnya objek rentetan dibuat!



Bagaimana membuat rentetan?

Untuk membuat objek String di Java, ada dua cara:

  • Menggunakan pengendali baru. Sebagai contoh,
String s1 = String baru ('Joey')
  • Menggunakan rentetan literal atau ungkapan malar. Sebagai contoh,
String s1 = 'Joey' (string literal) atau String s1 = 'Joe' + 'y' (ungkapan malar string)

Sekarang, apakah kumpulan String ini yang saya bicarakan dan bagaimana penciptaan tali di Java berkaitan dengan ini. Biarkan saya mengurangkan kekacauan!

Apa itu String Pool di Jawa?

String Pool adalah kawasan penyimpanan timbunan Java.



Peruntukan rentetan, seperti semua peruntukan objek , terbukti menjadi urusan yang mahal dalam kedua-dua masa dan ingatan. JVM melakukan beberapa langkah sambil memulakan literal string untuk meningkatkan prestasi dan mengurangkan overhead memori. Untuk mengurangkan bilangan objek String yang dibuat di JVM, kelas String menyimpan kumpulan rentetan.

Setiap kali literal string dibuat, the JVM periksa kumpulan literal rentetan terlebih dahulu. Sekiranya rentetan sudah ada di kumpulan string, rujukan ke contoh gabungan dikembalikan. Sekiranya tali tidak ada di kolam, objek String baru akan dimulakan dan diletakkan di kolam.

Setelah mempelajari konsep secara teori, izinkan saya memberitahu anda bagaimana kolam String berfungsi di Java selangkah demi selangkah dengan bantuan contoh mudah!

pengenalan ringkas mengenai sains data

Bagaimana kolam String berfungsi di Jawa?

Apabila anda membuat rentetan baru seperti ini:

Rentetan s1 = 'Rachel'

JVM secara automatik memeriksa sama ada nilai yang sama wujud dalam kumpulan pemalar rentetan atau tidak.

  • jika ya, ia merangkumi nilai yang sudah ada.
  • Sekiranya tidak, ia membuat rentetan baru dengan sendirinya dan menambahkannya ke kumpulan rentetan.

Sekiranya anda ingin menghentikan tingkah laku ini, buat rentetan menggunakan operator baru:

String s1 = String baru ('Rachel')

Sekarang, jika anda bersedia menambahkan rentetan ini ke , Java memberi anda kaedah yang disebut, kaedah intern () anda boleh memanggil kaedah intern () seperti ini:

S1. Dalaman ()

Sekarang, saya akan menunjukkan kepada anda pelaksanaan dan kerja kumpulan string melalui contoh.

Tetapi sebelum itu, peringatan ringkas!

Seperti yang anda ketahui jika anda membandingkan 2 objek menggunakan operator == ia membandingkan alamat dalam memori.

Oleh itu, kita akan membandingkan rentetan menggunakan == untuk memastikan sepenuhnya objek itu sama atau tidak.

Sekarang, mari kita lihat proses pelaksanaan kita.

String Pool di Java: Diagram Alir

String-pool - Edureka

Sekarang mari kita memahami apa yang berlaku di sini langkah demi langkah:

  • Kelas dimuat ketika dipanggil.
  • JVM mencari semua literatur rentetan dalam program ini
  • Pertama, ia menemui pemboleh ubah s1 yang merujuk kepada 'Apple' harfiah dan ia dibuat dalam memori
  • Rujukan untuk 'Apple' harfiah kemudian dimasukkan ke dalam memori kumpulan rentetan rentetan.
  • Kemudian ia mencari satu lagi variabel s2 yang merujuk kepada string yang sama 'Mango'.
  • Kemudian ia menjumpai variabel s3 lain yang merujuk kepada 'Apple'
  • Sekarang JVM telah menemukan string harfiah 'Apple', kedua variabel s1 dan s3 akan merujuk ke objek yang sama yaitu 'Apple'.

Program Java untuk String Pool

kelas awam 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) // true System.out.println (s1 == s3) // false System.out.println (s1 == s4) // benar}}

Pengeluaran:

Betul
Salah
Betul

kod java untuk menyambung ke mysql

Dalam contoh di atas, anda dapat dengan jelas melihat penggunaan inisialisasi rentetan dalam ketiga cara tersebut

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

Kerja dalaman program mungkin sudah jelas sekarang.

Dengan ini, saya telah sampai ke penghujung blog saya. Saya harap kandungan yang dihuraikan di sini dapat membantu anda dalam meluaskan pengetahuan anda. Kami akan terus menyelami dunia Jawa. Nantikan!

Lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar yang berpuas hati tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi anda permulaan dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate Musim bunga .

Ada soalan untuk kami? Sila sebutkan di bahagian komen dari blog 'String Pool in Java' ini dan kami akan menghubungi anda secepat mungkin.