Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ทำไมโปรแกรม Java ที่ทำงานบนระบบ Android ไม่ใช้ Java API มาตรฐานและเครื่องเสมือน


Java API มาตรฐานและเครื่องเสมือนได้รับการออกแบบมาสำหรับเดสก์ท็อปและระบบเซิร์ฟเวอร์เป็นหลัก พวกมันเข้ากันไม่ได้กับอุปกรณ์มือถือ ด้วยเหตุนี้ Google จึงได้สร้าง API และเครื่องเสมือนที่แตกต่างกันสำหรับอุปกรณ์มือถือ สิ่งนี้เรียกว่าเครื่องเสมือน Dalvik

เครื่องเสมือน Dalvik เป็นองค์ประกอบหลักของรันไทม์ Android และเป็นส่วนหนึ่งของ JVM (Java Virtual Machine) ที่พัฒนาขึ้นสำหรับ Android โดยเฉพาะ เครื่องเสมือน Dalvik ใช้คุณลักษณะที่ค่อนข้างสำคัญใน Java เช่น การจัดการหน่วยความจำ มัลติเธรดดิ้ง เป็นต้น โปรแกรมใน Java จะถูกแปลงเป็น JVM ก่อน จากนั้นระบบจะตีความสิ่งนี้เป็นไบต์โค้ด DVM

รายละเอียดเกี่ยวกับทั้ง JVM และ DVM มีดังต่อไปนี้ -

Java Virtual Machine

Java Virtual Machine เป็นแอปพลิเคชันที่ให้สภาพแวดล้อมรันไทม์เพื่อรัน Java bytecode มันแปลง bytecode เป็นรหัสเครื่อง Java Virtual Machine สามารถดำเนินการได้หลายอย่าง เช่น โหลดโค้ด ยืนยันโค้ด รันโค้ด จัดเตรียมสภาพแวดล้อมรันไทม์ ฯลฯ

ไดอะแกรมที่แสดงการทำงานของ Java Virtual Machine มีดังนี้ -

ทำไมโปรแกรม Java ที่ทำงานบนระบบ Android ไม่ใช้ Java API มาตรฐานและเครื่องเสมือน

เครื่องเสมือน Dalvik

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

โปรแกรมที่มีไว้สำหรับ Android นั้นเขียนด้วยภาษา Java ก่อนแล้วจึงคอมไพล์เป็น bytecode สำหรับ JVM หลังจากนั้น bytecode นี้จะถูกแปลเป็น Dalvik bytecode และเก็บไว้ในไฟล์ .dex และ .odex ไฟล์เหล่านี้คือไฟล์เรียกทำงาน Dalvik และไฟล์เรียกทำงาน Dalvik ที่ปรับให้เหมาะสมตามลำดับ

ตัวเลขที่แสดงให้เห็นการทำงานของ Dalvik Virtual Machine มีดังนี้ −

ทำไมโปรแกรม Java ที่ทำงานบนระบบ Android ไม่ใช้ Java API มาตรฐานและเครื่องเสมือน