หน่วยความจำฮีป
- หน่วยความจำฮีปเป็นพื้นที่ข้อมูลรันไทม์ซึ่งหน่วยความจำสำหรับอินสแตนซ์คลาส Java และอาร์เรย์ทั้งหมดจะได้รับการจัดสรร
- ฮีปจะถูกสร้างขึ้นเมื่อ JVM เริ่มทำงาน และอาจเพิ่มหรือลดขนาดในขณะที่แอปพลิเคชันทำงาน
- ขนาดของฮีปสามารถระบุได้โดยใช้ตัวเลือก –Xms VM ฮีปสามารถมีขนาดคงที่หรือขนาดแปรผันได้ ขึ้นอยู่กับกลยุทธ์การรวบรวมขยะ ขนาดฮีปสูงสุดสามารถตั้งค่าได้โดยใช้ตัวเลือก –Xmx
- โดยค่าเริ่มต้น ขนาดฮีปสูงสุดถูกตั้งค่าเป็น 64 MB
สตริงค่าคงที่ของสตริง
- สตริงใช้ตำแหน่งหน่วยความจำพิเศษเพื่อนำออบเจ็กต์สตริงกลับมาใช้ใหม่ที่เรียกว่า String Constant Pool
- อ็อบเจ็กต์สตริงที่สร้างขึ้นโดยไม่ต้องใช้คีย์เวิร์ดใหม่จะถูกเก็บไว้ในส่วนสตริงค่าคงที่ของฮีป
- ลักษณะเฉพาะที่สำคัญอย่างหนึ่งของพูลค่าคงที่ของสตริงคือจะไม่สร้างออบเจ็กต์ String เดียวกันหากมีค่าคงที่สตริงในพูลแล้ว