จ ava วี เสมือน M achine เป็นโปรแกรม/ซอฟต์แวร์ที่ใช้ Java bytecode (ไฟล์ .class) และแปลงรหัสไบต์ (บรรทัดต่อบรรทัด) เป็นรหัสที่เครื่องเข้าใจได้
JVM มีโมดูลที่เรียกว่าตัวโหลดคลาส ตัวโหลดคลาสใน JVM โหลด ลิงก์ และเริ่มต้นโปรแกรม มัน -
-
โหลดคลาสลงในหน่วยความจำ
-
ตรวจสอบคำสั่งไบต์โค้ด
-
จัดสรรหน่วยความจำสำหรับโปรแกรม
ตำแหน่งหน่วยความจำ JVM
JVM มีตำแหน่งหน่วยความจำห้าตำแหน่ง ได้แก่ −
-
กอง − การจัดสรรพื้นที่จัดเก็บรันไทม์สำหรับอ็อบเจ็กต์ (ประเภทการอ้างอิง)
-
กอง − การจัดเก็บตัวแปรท้องถิ่นและผลลัพธ์บางส่วน สแต็กประกอบด้วยเฟรมและจัดสรรหนึ่งเฟรมสำหรับแต่ละเธรด เมื่อเธรดเสร็จสิ้น เฟรมนี้จะถูกทำลายด้วย นอกจากนี้ยังมีบทบาทในการเรียกใช้และส่งคืนเมธอด
-
การลงทะเบียนพีซี − Program Counter Registers มีที่อยู่ของคำสั่งที่ JVM กำลังดำเนินการอยู่
-
เครื่องมือดำเนินการ − มีตัวประมวลผลเสมือน ล่ามเพื่อตีความคำสั่ง bytecode ทีละตัวและ JIT เพียงคอมไพเลอร์ทันเวลา
-
กลุ่มวิธีการดั้งเดิม − ประกอบด้วยวิธีการดั้งเดิมทั้งหมดที่แอปพลิเคชันใช้