ความแตกต่างระหว่างหน่วยความจำสแต็คและ RAM คืออะไร


ตอบ 1:

Stack เป็นพื้นที่ฟิสิคัลที่จัดสรรให้กับแต่ละเธรดในรันไทม์ พื้นที่ถูกจัดสรรโดยระบบปฏิบัติการและขนาดที่กำหนดไว้ล่วงหน้า สแต็คจัดเก็บตัวแปรโลคัลที่ไม่ใช่ไดนามิกทั้งหมดที่สร้างขึ้นในเธรด / ฟังก์ชัน การจัดการสแต็คเสร็จสิ้นสมบูรณ์โดยระบบปฏิบัติการเช่นการสร้างสแต็คการแนบตัวแปรและ popping out ตัวแปรเมื่อฟังก์ชั่นเสร็จสมบูรณ์ผ่านตัวชี้สแต็คที่มีค่าจะถูกเก็บไว้ใน CPU Register สแต็คนั้นเข้าถึงได้เร็วมากเมื่อเทียบกับหน่วยความจำฮีปที่สร้างขึ้นแบบไดนามิกเนื่องจากหน่วยความจำที่มีโครงสร้างและการจับคู่ที่น่าจะเป็นไปได้สูงกับแคช CPU

RAM เพื่อนรักของฉันเป็นเพียงพื้นที่ทางกายภาพซึ่งประกอบด้วยสแต็คกอง ฯลฯ