20 ก.ค. 2021 เวลา 05:40 • การศึกษา
สรุปกระบวนการ execution ของ java เกิดอะไรขึ้นในนั้นบ้าง
คอมพิวเตอร์เครื่องหนึ่งประกอบไปด้วย hardware ซึ่งถูกควบคุมการทำงานด้วย software ที่ถูกเขียนโดยมนุษย์อีกทีหนึ่ง
โดยภาษาที่ hardware ของเครื่องคอมพิวเตอร์สามารถเข้าใจได้เรียกว่า mahine code ซึ่งเป็นภาษาที่ยากต่อการเขียนและทำความเข้ามากๆ
ตัวอย่าง machine code อ้างอิง : https://en.wikipedia.org/wiki/File:W65C816S_Machine_Code_Monitor.jpeg
ในเวลาต่อมาจึงมีการพัฒนาภาษาในการเขียนโปรแกรมให้มนุษย์สามารถเข้าใจได้มากขึ้น เรียกว่า High level programming language ไม่ว่าจะเป็น C, C#, C++, Java, Javascript, Python, GO, Kotlin, อื่นๆ อีกมากมาย
แต่ภาษาที่เราจะมาพูดถึงในบทความนี้คือ Java
Java เองถูกพัฒนามาเพื่อแก้ปัญหา platform dependency ลดข้อจำกัดในการรันข้าม platform ให้สามารถรันได้ทุกๆ OS (Operating system) ที่ติดตั้ง JVM ได้ จึงทำให้ Java กลายเป็นภาษาที่ Pop มากๆ
จากที่กล่าวไว้ในตอนต้น การที่เครื่องคอมพิวเตอร์จะสามารถทำงานได้ จำเป็นจะต้องสั่งงานผ่าน machine code ดังนั้นเราจึงต้องแปลง code ที่เราเขียน จากภาษา Java ให้กลายเป็นภาษาเครื่องที่สามารถนำไปประมวลผลได้เสียก่อน
เราจึงอยากมาสรุปกระบวนการ execution code ของภาษา Java กันว่าจาก high level ไปจนถึงการประมวลผลบน hardware เกิดขึ้นได้อย่างไร
เริ่มแรกเรามารู้จักเครื่องมือในการช่วยพัฒนา Java กันก่อน หลายคนที่เคยใช้งาน Java น่าจะรู้จักเจ้า JDK หรือ Java development kits
ภายในเจ้า JDK ประกอบไปด้วยสองส่วนหลักๆคือ development tools และ JRE (Java runtime environment)
เมื่อเราทำการเขียน code ไฟล์ของเราจะอยู่ใน fomat .java ซึ่งเป็นภาษาที่อยู่ในรูปแบบ high level
ดังนั้นเมื่อเราต้องการ execute code ไฟล์ .java จะถูก load เข้า development tools เพื่อทำการตรวจสอบ syntax และ error ต่างๆ
จากนั้นจะถูกแปลงหรือ complie เป็นไฟล์ .class (bytecode) ซึ่งเป็นไฟล์ format สำหรับให้ JVM สามารถอ่านได้
เมื่อ bytecode ของเราออกจาก development tools แล้ว จะถูก load เข้าไปที่ JRE
โดยภายใน JRE จะประกอบไปด้วย JVM (Java virtual machine) และ Java library
ภายใน JVM bytecode ของเราจะถูกแปลคำสั่ง หรือ interpret ไปเป็น Native Machine Code ที่ละคำสั่ง จากนั้นคำสั่งที่แปลเสร็จจะถูกป้อนให้กับ OS เพื่อเอาไป execute ต่อใน machine hardware
เป็นอันจบการทำงานในกระบวนการ execution Java code
โฆษณา