Java Compiler และ Java Virtual Machine

| ไอที | Java | 16643

Java Compiler และ Java Virtual Machine

เมื่อคุณได้เขียนโปรแกรมภาษาจาวาขึ้น คุณจะเขียนในคอมพิวเตอร์ และเซฟเป็นไฟล์ โดยใช้โปรแกม Text Editor เขียนขึ้น ซึ่งมีลักษณะเป็นคำ พวกนักเขียนโปรแกรมจะเรียกมันว่า source code และพวกเขาจะเซฟไฟล์เหล่านั้น แล้วเรียกไฟล์เหล่านั้นว่า source file โดยพวกเขาจะเซฟไฟล์เหล่านั้นในนามสกุล .java  เมื่อพวกเขาเซฟ source code เป็นไฟล์ พวกเขาจะทำการรัน Java Compiler

Compiler คือโปรแกรมที่แปล source code เป็นรูปแบบที่ทำงานได้ ระหว่างการ Compiler กำลังทำการแปลง source code อยู่นั้น ถ้าหากเจอการเขียนโปรแกรมที่ผิดไวยากรณ์ของภาษา(Syntex error) ทำให้ Compiler ไม่สามารถแปลต่อไปได้ Compiler จะบอกรายละเอียดของข้อผิดพลาดที่ได้เขียนขึ้น และจะหยุดแปลทันที error เหล่านั้นต้องได้รับการแก้ไขถึงจะแปลต่อไปได้

ส่วนใหญ่ Compiler ภาษาต่าง ๆ จะทำการแปล source code ไปเป็นไฟล์ที่เป็นภาษาเครื่องโดยตรง พวกเขาจะเรียกมันว่า executable file เพราะว่าพวกมันอาจจะได้เรียกใช้งานโดยตรงจาก CPU ในเครื่องคอมพิวเตอร์ แต่ Java Compiler จะทำการแปล source code ไปเป็นไฟล์ที่ประกอบด้วยคำสั่ง byte code คำสั่ง byte code ไม่ได้เป็นภาษาเครื่อง ด้วยเหตุนี้จึงไม่ได้เรียกใช้งานจาก CPU ที่อยู่ในเครื่องคอมพิวเตอร์โดยตรง แต่คำสั่ง byte code จะถูกเรียกใช้งานจาก Java Virtual Machine(JVM) แทน

Java Virtual Machine(JVM) คือโปรแกรมที่ใช้อ่านคำสั่ง Java byte code และจะดำเนินการตามที่อ่านได้ ด้วยเหตุผลนี้ Java Virtual Machine จึงมักถูกเรียกบ่อย ๆ ว่า interpreter(ล่าม) และมักจะเรียกภาษาจาวาว่า interpreted language ถึงแม้ว่า Java byte code จะไม่ใช่ภาษาของเครื่องที่ CPU สามารถอ่านได้ แต่มันถือได้ว่าเป็นภาษาเครื่องสำหรับ Java virtual Machine คุณสามารถคิดได้ว่า Java Virtual Machine คือโปรแกรมที่จำลองเครื่องคอมพิวเตอร์ที่มีภาษาเครื่องเป็น Java byte code

 

Portability

Portability คือ โปรแกรมที่อาจเขียนเป็นชนิดใดชนิดหนึ่งบนคอมพิวเตอร์ จากนั้นก็รันบนคอมพิวเตอร์ได้หลากหลายชนิด โดยไม่มีการแก้ไข หรือมีการแก้ไขน้อยมากในส่วนที่จำเป็น Java byte code จะเหมือนกันในทุก ๆ อย่างในแต่ละเครื่องคอมพิวเตอร์ ฉะนั้น compiler ภาษาจาวาจึงมีความเป็น Portability อย่างสูง แต่ในความเป็นจริง compiler ภาษาจาวาจะรันได้ในทุก ๆ เครื่อง จำเป็นต้องมี Java Virtual Machine ของแต่ละครื่องเสียก่อน

comments




เว็บเพื่อนบ้าน
DoesystemDevcodeMathMySelfHowToClicksBlogJavaExample