JDK, JVM, JRE ในสภาพแวดล้อม Java
เมื่อเร็ว ๆ นี้ฉันประเมิน Android ต่ำเกินไปและมาถึงใบหน้าของฉันด้วยแนวคิดมากมาย JDK, JVM, JRE, SDK, NDK และ ADT หลังจากนิดหน่อย JDK, JVM และ JRE เป็นสิ่งต่าง ๆ ในสภาพแวดล้อม Java ในขณะที่ SDK, NDK และ ADT เป็นสิ่งที่ใช้ในการพัฒนา Android มาแยกความแตกต่างของ JDK, JVM และ JRE
เคล็ดลับ: ติดตั้ง Mac บน Java ที่ไหน? ดูภาพด้านล่าง
ก่อนอื่นมาพูดถึง JDK
JDK (Java Development Kit) เป็นชุดเครื่องมือพัฒนาซอฟต์แวร์ (SDK) สำหรับภาษา Java
JDK เป็นแกนหลักของ Java ทั้งหมดรวมถึงสภาพแวดล้อม Java Runtime, เครื่องมือ Java (Java/Java/JDB ฯลฯ ) และ Java Basic Class Libraries (เช่น Java API)
มีสามรุ่น:
SE (J2SE), Standard Edition, Standard Edition เป็นรุ่นที่เรามักใช้ เริ่มต้นจาก JDK 5.0 มันถูกเปลี่ยนชื่อ Java SE
EE (J2EE), Enterprise Edition, Enterprise Version ใช้ JDK นี้เพื่อพัฒนาแอปพลิเคชัน J2EE เริ่มต้นด้วย JDK 5.0 และเปลี่ยนชื่อเป็น Java EE
ME (J2ME), Micro Edition ส่วนใหญ่ใช้สำหรับแอปพลิเคชัน Java บนอุปกรณ์มือถือและอุปกรณ์ฝังตัว มันถูกเปลี่ยนชื่อ Java Me ตั้งแต่ JDK 5.0
มาพูดถึง JRE กันเถอะ
JRE เป็นตัวย่อของสภาพแวดล้อม Java Runtime Java Runtime Environment (รวมถึง Java Plug-in) เป็นผลิตภัณฑ์ของ Sun ซึ่งรวมถึงสองส่วน: Java Runtime Environment และ Java Plug-in Javaruntimeenvironment (JRE) เป็นแพลตฟอร์ม Java ที่แอปพลิเคชันสามารถเรียกใช้ทดสอบและถ่ายโอน มันมี Java Virtual Machine (JVM), ไลบรารีคลาส Java Core และไฟล์สนับสนุน ไม่รวมถึงเครื่องมือพัฒนา (JDK) -compilers, debuggers และเครื่องมืออื่น ๆ JRE ต้องใช้ซอฟต์แวร์เสริม-Java Plug-in-เพื่อเรียกใช้ Applets ในเบราว์เซอร์
หากไม่มี JDK โปรแกรม Java ไม่สามารถรวบรวมได้ แต่โปรแกรมสามารถทำงานบนระบบด้วยสภาพแวดล้อม JRE ดังนั้นเมื่อคุณต้องการเรียกใช้โปรแกรม Java หรือ Applet ให้ดาวน์โหลดและติดตั้ง JRE หากคุณต้องการพัฒนาซอฟต์แวร์ Java ด้วยตัวเองโปรดดาวน์โหลด JDK
สุดท้ายมาเรียนรู้เกี่ยวกับ JVM
JVM เป็นเครื่องเสมือน Java (Java Virtual Machine) JVM เป็นข้อกำหนดสำหรับอุปกรณ์คอมพิวเตอร์ มันเป็นคอมพิวเตอร์สมมติที่นำมาใช้โดยการเลียนแบบและจำลองฟังก์ชั่นคอมพิวเตอร์ต่าง ๆ บนคอมพิวเตอร์จริง
คุณสมบัติที่สำคัญมากของภาษา Java คือความไม่สอดคล้องกับแพลตฟอร์ม การใช้เครื่องเสมือน Java เป็นกุญแจสำคัญในการบรรลุคุณสมบัตินี้ หากภาษาระดับสูงทั่วไปคือการทำงานบนแพลตฟอร์มที่แตกต่างกันจะต้องรวบรวมไว้ในรหัสวัตถุที่แตกต่างกัน หลังจากแนะนำเครื่องเสมือนภาษา Java แล้วภาษา Java ไม่จำเป็นต้องคอมไพล์ใหม่เมื่อทำงานบนแพลตฟอร์มที่แตกต่างกัน ภาษา Java ใช้เครื่องเสมือน Java เพื่อบล็อกข้อมูลที่เกี่ยวข้องกับแพลตฟอร์มเฉพาะเพื่อให้คอมไพเลอร์ภาษา Java สามารถทำงานได้โดยไม่ต้องปรับเปลี่ยนบนหลายแพลตฟอร์มโดยเพียงแค่สร้างรหัสวัตถุ (รหัสไบต์) ที่ทำงานบนเครื่องเสมือน Java เมื่อเครื่องเสมือน Java ดำเนินการ bytecode มันจะตีความ bytecode เป็นคำแนะนำของเครื่องบนแพลตฟอร์มเฉพาะ นี่คือเหตุผลที่ Java สามารถ "รวบรวมและทำงานได้ทุกที่"
นี่คือแผนภาพความสัมพันธ์ของทั้งสาม:
สถานการณ์ที่แท้จริงของการพัฒนาของเราคือ: หลังจากที่เราพัฒนาโปรแกรม Java ของเราเองโดยใช้ JDK (เรียกว่า Java API) เรารวบรวมไฟล์ข้อความ Java ของเราลงใน Java bytecode ผ่านคอมไพเลอร์ (Javac) ใน JDK เรียกใช้ Bytecodes java
JVM (Java Virtual Machine) นั่นคือเครื่องเสมือน Java
JVM บล็อกข้อมูลที่เกี่ยวข้องกับแพลตฟอร์มระบบปฏิบัติการเฉพาะเพื่อให้โปรแกรม Java สามารถทำงานได้โดยไม่ต้องปรับเปลี่ยนบนหลายแพลตฟอร์มโดยเพียงแค่สร้างรหัสวัตถุ (รหัสไบต์) ที่ทำงานบนเครื่องเสมือน Java เมื่อ JVM ดำเนินการ bytecode จริง ๆ แล้วจะตีความ bytecode เป็นคำแนะนำของเครื่องบนแพลตฟอร์มเฉพาะ ชุดคำสั่งของการรวบรวมเครื่องเสมือนนั้นคล้ายกับชุดคำสั่งของไมโครโปรเซสเซอร์ที่รวบรวม
JVM เป็นพื้นฐานของภาษา Java ข้ามแพลตฟอร์ม ("แพลตฟอร์ม" ที่นี่หมายถึงระบบปฏิบัติการที่แตกต่างกัน) ในการเรียกใช้โปรแกรม Java ในระบบปฏิบัติการที่แตกต่างกันคุณต้องติดตั้ง JVM ที่เกี่ยวข้องในระบบปฏิบัติการที่แตกต่างกัน ดังนั้น JVM จึงมีเวอร์ชัน Windows รุ่น Mac เวอร์ชัน Linux ฯลฯ
JRE (สภาพแวดล้อมรันไทม์ Java) นั่นคือสภาพแวดล้อมที่ใช้งาน Java
JRE รวมไลบรารีคลาสหลักที่ต้องการโดย Java Virtual Machines และโปรแกรม Java หากคุณต้องการเรียกใช้โปรแกรม Java ที่พัฒนาแล้วคุณจะต้องติดตั้ง JRE บนคอมพิวเตอร์ของคุณเท่านั้น
สรุป: JRE = JVM+Java Class Library
JDK (ชุดพัฒนา Java) นั่นคือชุดพัฒนา Java
JDK มีไว้สำหรับนักพัฒนา Java ที่จะใช้รวมถึง JRE และเครื่องมือพัฒนา Java บางอย่างเช่นเครื่องมือรวบรวม (javac.exe) เครื่องมือบรรจุภัณฑ์ (jar.exe) ฯลฯ ดังนั้นหลังจากติดตั้ง JDK คุณไม่จำเป็นต้องติดตั้ง JRE อีกต่อไป ในฐานะผู้เรียนภาษา Java เราต้องติดตั้ง JDK หากไม่มี JDK เราไม่สามารถรวบรวมและเรียกใช้รหัส Java ได้ นี่คือเหตุผลว่าทำไมบทช่วยสอนเบื้องต้นของ Java เกือบทั้งหมดแนะนำให้เราติดตั้ง JDK
สรุป: JDK = JRE+JAVA Development Tools
ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้ ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!