Dalam string literal Java hanya disimpan dalam string pool konstan? [duplikat]
Apakah string literal hanya disimpan dalam kumpulan konstan string? Bukankah itu disimpan di kolam konstan? Atau keduanya disimpan?
Jawaban
Dalam komentar , Anda menambahkan link ke pertanyaan " Kumpulan string - apakah String selalu ada di kumpulan konstan? ". Karena Anda tampaknya tidak mengerti awal dari jawabannya, izinkan saya merangkum:
Kolam konstan adalah bagian dari sebuah
.classfile.The pool String merupakan bagian dari memori JVM untuk menyimpan diinternir string.
Tidak ada "kumpulan konstan string" di mana pun.
Literal string disimpan dalam .classfile di bagian kumpulan konstan file. Ketika sebuah .classfile dimuat ke dalam memori, literal string dimuat ke dalam string internal , dan karenanya disimpan di kumpulan string .
Jadi, untuk menjawab pertanyaan: String literal adalah toko di kedua yang konstan kolam renang (pada disk) dan di tali kolam renang (dalam memori).