Heap & Stack ใน Java คืออะไร

Java เป็นภาษาการเขียนโปรแกรมที่ใช้เป็นหลักในการจัดหาโปรแกรมขนาดเล็กเพื่อเพิ่มความสามารถของเว็บเพจและเบราว์เซอร์ที่แสดงผล “ ฮีป” และ“ สแต็ค” เป็นสองวิธีในการจัดระเบียบหน่วยความจำในคอมพิวเตอร์และภาษาโปรแกรม Java ใช้ทั้งสองอย่าง

กอง

หน่วยความจำถูกจัดระเบียบตามลำดับที่ใช้งานอยู่ หน่วยความจำฮีปไม่มีคำสั่ง มันเป็นเหมือนแถวของหลุมนกพิราบที่ไม่มีลำดับการใช้งาน - สล็อตที่อยู่ตรงกลางอาจได้รับค่าก่อนช่องแรกหรือช่องสุดท้าย เมื่อข้อมูลถูกเขียนและลบออกจากช่องเสียบต่าง ๆ หน่วยความจำที่ถูกครอบครองจะถูกแบ่งโดยช่องว่าง แต่ละสล็อตในหน่วยความจำฮีปมีที่อยู่และสามารถเข้าถึงได้ผ่านการสร้างดัชนีรูปแบบอื่นไปยังที่อยู่นั้นเท่านั้น

กอง

สแต็คและคิวมีคำสั่งที่แม่นยำ ในคิวข้อมูลชิ้นแรกที่จะป้อนนั้นเป็นรายการแรกเช่นเดียวกับการชำระเงินที่ซุปเปอร์มาร์เก็ต วิธีการสแต็กจะถือว่าไม่ยุติธรรมอย่างยิ่งถ้ามันจะถูกนำไปใช้กับคนที่รอการบริการเพราะคนสุดท้ายคือคนแรก สแต็คเป็นที่รู้จักกันโดยย่อ LIFO ซึ่งย่อมาจาก Last In, First Out ลองนึกภาพถาด In ในสำนักงาน มีคนวางไฟล์ไว้ที่ด้านบนของไฟล์ในถาด In และพนักงานออฟฟิศจะใช้ไฟล์นั้นจากด้านบนของถาด In และทำงานบนไฟล์นั้นก่อน นั่นคือไฟล์สุดท้ายที่จะใส่ในถาด นั่นคือวิธีการทำงานของสแต็ก

หน่วยความจำคอมพิวเตอร์

หน่วยความจำคอมพิวเตอร์ที่ใช้ในการเรียกใช้โปรแกรมเรียกว่า Random Access Memory หรือ RAM นี่คือพื้นที่สำหรับคิดของคอมพิวเตอร์และแบ่งออกเป็นสามส่วน ไม่มีส่วน "คิว" ของหน่วยความจำ แต่มีเซ็กเมนต์รหัสที่เก็บโปรแกรมคอมพิวเตอร์ คอมพิวเตอร์ทำงานผ่านโปรแกรมทีละบรรทัดดังนั้นสิ่งนี้จะทำหน้าที่เหมือนคิว อีกสองพื้นที่คือกองซ้อนและกอง

ตัวแปร

เช่นเดียวกับภาษาโปรแกรมอื่น ๆ Java ต้องการเก็บข้อมูลและจัดการมันในบางวิธี ยานพาหนะที่ใช้ในโปรแกรมเพื่อเก็บข้อมูลเรียกว่าตัวแปร ตัวแปรมีชื่อและประเภทและจากนั้นจะได้รับค่า โปรแกรม Java อ้างถึงชื่อของตัวแปรเพื่อเข้าถึงข้อมูลที่มี

ความสัมพันธ์

เมื่อโปรแกรมเมอร์ประกาศตัวแปรด้วยชนิดข้อมูลข้อมูลนั้นจะถูกเก็บไว้ในส่วนสแต็คของหน่วยความจำ เมื่อค่าถูกใส่ลงในตัวแปรนั้นค่าจะถูกเก็บไว้ในหน่วยความจำฮีป หน่วยความจำสแต็คเก็บที่อยู่สำหรับส่วนของหน่วยความจำฮีปที่มีค่านั้นอยู่ หน่วยความจำสแต็คยังคงมีค่าในช่วงระยะเวลาของการรันโปรแกรม มันเก็บชื่อตัวแปรและประเภทเช่นเดียวกับตัวชี้ไปยังที่ตั้งกอง ค่าในหน่วยความจำฮีปจะถูกลบและเขียนใหม่หลายครั้งในระหว่างหลักสูตรของโปรแกรม Java เนื่องจากตัวดำเนินการของโปรแกรมแก้ไขค่าของตัวแปร

โพสต์ยอดนิยม