Java Virtual Machine (JVM) เป็นสภาพแวดล้อมที่รันโปรแกรม Java โปรแกรม Java ถูกรวบรวมเป็นภาษาระดับกลางที่เรียกว่า bytecode ซึ่งเป็นสิ่งที่ JVM ดำเนินการ โปรแกรมใด ๆ ที่คอมไพล์ลงใน bytecode สามารถดำเนินการได้บนแพลตฟอร์มใด ๆ ที่ติดตั้ง JVM ไว้ สิ่งนี้ทำให้ซอฟต์แวร์ Java เข้ากันได้กับแพลตฟอร์มการคำนวณที่แตกต่าง JVM มีข้อดีและข้อเสียบางประการที่ผู้พัฒนาควรคำนึงถึงอย่างรอบคอบก่อนที่จะลงทุนในการพัฒนา Java

ความเป็นอิสระของแพลตฟอร์ม

Java bytecode สามารถเขียนได้หนึ่งครั้งจากนั้นรันบนหลายแพลตฟอร์ม Java bytecode ไม่จำเป็นต้องทำการพอร์ตเข้ากับสภาพแวดล้อมฮาร์ดแวร์เฉพาะเนื่องจากมันทำงานใน Java Virtual Machine แอปพลิเคชันใด ๆ ที่คอมไพล์ลงใน Java bytecode สามารถรันบนแพลตฟอร์มการคำนวณใด ๆ ที่มี Java Virtual Machine

ความปลอดภัย

Java เขียนด้วยความปลอดภัยในใจ Java Virtual Machine มีคุณสมบัติความปลอดภัยในตัวที่อนุญาตให้โปรแกรมเมอร์เขียนโปรแกรม Java ที่มีความปลอดภัยสูง นอกจากนี้ยังป้องกันซอฟต์แวร์ที่เป็นอันตรายไม่ให้โจมตีระบบปฏิบัติการ (OS) เพราะจะทำให้แอปพลิเคชัน Java ไม่สามารถโต้ตอบกับทรัพยากรระบบปฏิบัติการได้

ประสิทธิภาพ

โปรแกรม Java ที่ทำงานบน Java Virtual Machine มักจะทำงานช้ากว่าโปรแกรมเทียบเท่าที่เขียนใน C ++ ความเป็นกลางของระบบของ bytecode ทำหน้าที่เป็นข้อเสียที่เกี่ยวข้องกับประสิทธิภาพ นี่เป็นเพราะการปรับให้เหมาะสมของรหัสอาศัยคุณลักษณะของระบบเฉพาะอย่างมาก เนื่องจาก Java bytecode เป็นกลางระบบจึงไม่สามารถปรับให้เหมาะสมสำหรับชุดฮาร์ดแวร์เฉพาะ

ความถูกต้อง

โปรแกรมที่มีประสิทธิภาพตามที่คาดไว้มีการกล่าวว่าถูกต้อง เนื่องจากโปรแกรม Java อาศัย Java Virtual Machine ในการดำเนินการ JVM ต้องปราศจากข้อผิดพลาดเพื่อให้โปรแกรมทำงานอย่างถูกต้อง การพึ่งพา Java Virtual Machine นี้เป็นการแนะนำจุดที่เป็นไปได้ของความล้มเหลวสำหรับโปรแกรม โชคดีที่ซอฟต์แวร์ Java Virtual Machine ผลิตด้วยมาตรฐานที่สูงมากดังนั้นจึงไม่น่าจะมีข้อผิดพลาดเกิดขึ้น โดยไม่คำนึงถึงความล้มเหลวใน Java Virtual Machine เป็นไปได้ที่ควรพิจารณา