JVM คืออะไร ? 5 ส่วนสำคัญที่ต้องรู้เกี่ยวกับ JVM
💻 ภาษา Java คือ ภาษาโปรแกรมที่มีชื่อเสียงมาอย่างยาวนานด้านการทำงานบนแพลตฟอร์มที่หลากหลายตั้งแต่คอมพิวเตอร์ไปจนถึงโทรศัพท์มือถือ สิ่งสำคัญที่ทำให้ Java สามารถทำงานข้ามแพลตฟอร์มได้ก็คงหนีไม่พ้นกับ Java Virtual Machine (JVM) ที่ทำหน้าที่เป็นตัวกลางระหว่างโปรแกรม Java และระบบปฎิบัติการ (OS) ทำให้นักพัฒนาสามารถเขียนโค้ดเพียงครั้งเดียวและเรียกใช้งานได้ทุกที่ที่ต้องการ โดยในบทความนี้เราเจาะลึกเกี่ยวกับการทำงานของ JVM คืออะไร และส่วนสำคัญที่ต้องรู้อย่างไรบ้าง!!
Contents
JVM คืออะไร ?
👨💻 Java Virtual Machine (JVM) คือ ส่วนประกอบที่สำคัญของโปรแกรม Java โดย JVM จะทำหน้าที่เป็นเครื่องเสมือน (VM) ที่คอยแปล Java Bytecode ให้สามารถดำเนินการบนระบบปฎิบัติการ (OS) และฮาร์ดแวร์ที่ต้องการได้
5 ส่วนสำคัญที่ต้องรู้เกี่ยวกับ JVM
Java Virtual Machine (JVM) มีการทำงานหลักๆ 5 ส่วน ได้แก่
1. Class Loader Subsystem
มีหน้าที่นำไฟล์ .class เข้าสู่ JVM โดยจะทำการค้นหาตำแหน่งไฟล์และโหลดไฟล์ .class จากนั้นจะทำการยืนยันไฟล์และเตรียมการสำหรับการทำงาน
2. Runtime Data Areas
ในส่วนนี้จะแบ่งออกเป็น 5 ส่วน คือ
👉 Method Area
– เก็บรวบรวมข้อมูลระดับคลาสเช่น Method Code, Constant Pool และ Static Variables
👉 Heap
– จัดการเก็บ Object ทั้งหมดเช่น Instances และ Arrays
👉 Stack
– เก็บข้อมูลเฉพาะของ Method เช่น Local Variables, Operand Stack และ Frame Data
👉 PC Register
– ทำการติดตามคำสั่ง JVM ที่กำลังดำเนินการอยู่ ณ ปัจจุบัน
👉 Native Method Stack
– เก็บข้อมูลที่เกี่ยวข้องกับการดำเนินการของ Native Method หรือภาษาอื่นที่ไม่ใช่ Java เช่น C หรือ C++
3. Execution Engine
ทำหน้าที่แปลและประมวลผลคำสั่ง Bytecode หรือไฟล์ .class ซึ่งประกอบไปด้วย 3 ส่วน ได้แก่
👉 Interpreter
– แปลคำสั่ง Bytecode ทีละบรรทัดและทำการประมวลผล
👉 Just-in-Time (JIT) Compiler
– ทำการ Compiler ทั้ง Bytecode ที่ถูกใช้งานบ่อยหรือซ้ำกันให้เป็น Native Code เพื่อเพิ่มความเร็วในการทำงานและประสิทธิภาพมากขึ้น
👉 Garbage Collector
– จัดการหน่วยความจำและลบข้อมูลที่ไม่จำเป็นเพื่อเพิ่มพื้นที่การใช้งาน รวมถึงช่วยลดภาระของการจัดการหน่วยความจำด้วยตัวเองทำให้นักพัฒนาสามารถโฟกัสในการเขียนโค้ดได้มากขึ้น
บทความที่เกี่ยวข้อง : Java คืออะไร ? ทำไมนักพัฒนาหลายคนเลือกใช้ Java
4. Native Method Interface
ช่วยให้โค้ดของ Java ที่ทำงานใน JVM สามารถทำงานร่วมกับ Applications and Libraries ที่เขียนด้วยภาษาโปรแกรมอื่นๆ อย่าง C และ C++
5. Native Method Library
แหล่งรวบรวม Library ที่เขียนด้วยภาษาโปรแกรมอื่นๆนอกเหนือจาก Java ซึ่งจำเป็นต่อการใช้งาน Native Method Interface
สรุป
Java Virtual Machine (JVM) เป็นส่วนที่ช่วยให้โปรแกรมที่เขียนบน Java สามารถทำงานบนฮาร์ดแวร์และระบบปฏิบัติการ (OS) ที่แตกต่างกันได้อย่างเสถียรและมีประสิทธิภาพโดยไม่คำนึงถึงฮาร์แวร์และระบบปฎิบัติการ (OS) ที่กำลังรันโปรแกรมอยู่ ด้วยเหตุผลนี้เองจึงทำให้ภาษา Java เป็นที่นิยมอย่างมากในอุตสาหกรรมการพัฒนาซอฟแวร์
______________________________________________________________________________
💖 สำหรับใครที่ต้องการศึกษาเพิ่มเติมเกี่ยวกับการพัฒนาโค้ด ทาง ERT ศูนย์ฝึกอบรมของเราก็มีคอร์สมามากมายมาแนะนำให้เพื่อนๆเลือกกัน ซึ่งสามารถเลือกเรียนได้ทั้งแบบ Onsite และ Classroom มีทั้งแบบ Private และ Public ด้วยนะ
Ref: docs.oracle.com, phayao.medium.com
💬 🙋♀ สอบถามเพิ่มเติมสามารถติดต่อมาได้ที่
📞 Tel: 02-718-1599
💻 Website: https://www.ert.co.th
📱 Line: https://lin.ee/wtyQVtl