Java хэл дээрх string pool гэж юу вэ?
Java хэл дээрх string pool гэж юу вэ?
Anonim

Нэрнээс нь харахад Java хэл дээрх String Pool нь усан сан -ийн Мөр -д хадгалагдаж байна Java Бөөн санах ой. Бид үүнийг мэднэ Мөр тусгай анги юм java мөн бид бүтээж чадна Мөр объектуудыг шинэ оператор ашиглахаас гадна давхар хашилтаар утгыг өгнө.

Ийм маягаар Java-д string pool-ийг юунд ашигладаг вэ?

The Java мөр тогтмол усан сан нь овоолгын санах ойн хэсэг юм Java шууд утгыг хадгалдаг мөр үнэт зүйлс. Нуруу бол санах ойн хэсэг юм ашигласан ажиллах цагийн үйл ажиллагаанд зориулагдсан. Шинэ хувьсагч үүсгэж, утга өгөхөд, Java дотор яг тэр утга байгаа эсэхийг шалгана усан сан.

Дээрхээс гадна стринг санд хэрхэн ажилладаг вэ? тоог багасгахын тулд Мөр JVM дээр үүсгэсэн объектууд, the Мөр анги хадгалдаг усан сан -ийн утаснууд . Тэр болгонд а мөр literal үүсгэсэн бол JVM нь үүнийг шалгадаг мөр шууд утгаар усан сан эхлээд. Хэрэв мөр -д байхгүй усан сан , шинэ Мөр объектыг эхлүүлж, дотор байрлуулна усан сан.

Үүнтэй холбогдуулан string pool яагаад шаардлагатай вэ?

Энэ нь аюулгүй учраас Мөр Java хэл дээр өөрчлөгддөггүй. Үүний үр дүнд s ба t хоёулаа ижил объект руу чиглэж, бага зэрэг санах ой хадгалагдана. нэр ' утас сан ' гэдэг нь бүгдийг аль хэдийн тодорхойлсон гэсэн санаанаас үүдэлтэй мөр заримд хадгалагддаг усан сан ' мөн шинээр үүсгэхээс өмнө Мөр Объект хөрвүүлэгч ийм эсэхийг шалгадаг мөр аль хэдийн тодорхойлогдсон байна.

Java дээр үндсэн санах ой гэж юу вэ?

Нэгдүгээрт, " үндсэн санах ой "Бид" гэсэн үг Java JVM-ээс харахад овоолго. JVM нь хувьсагчийн дотоод хуулбар дээр ажиллахад ерөнхийдөө үнэ төлбөргүй байдаг. Жишээлбэл, JIT хөрвүүлэгч нь a-ийн утгыг ачаалах код үүсгэж болно Java хувьсагчийг регистрт оруулаад дараа нь тэр бүртгэл дээр ажиллана.

Зөвлөмж болгож буй: