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 ด้วยนะ สนใจสามารถคลิกลิงก์เพื่อดูรายละเอียดคอร์สเรียนได้เลย! 👉 https://www.ert.co.th/it-training/
Ref: docs.oracle, phayao.medium
💬🙋♂️ สอบถามเพิ่มเติมสามารถติดต่อมาได้ที่
☎ Tel: 02-718-1599
✉ Email: info@ert.co.th
📱 Line: https://lin.ee/wtyQVtl