ข้อแตกต่างที่สำคัญ: JDK หมายถึง Java Development Kit ซึ่งให้ส่วนประกอบการพัฒนา Java แก่ผู้พัฒนา Java JRE ย่อมาจาก Java Runtime หรือ Runtime Environment Open JDK (Open Java Development Kit) เป็นส่วนหนึ่งของ JDK และเป็นที่รู้จักกันในการจัดหาเครื่องมือซอฟต์แวร์ในการใช้งานแบบเปิดกับผู้พัฒนาจาวา

JDK เป็นสภาพแวดล้อมการพัฒนาซอฟต์แวร์ซึ่งเป็นที่รู้จักกันในการจัดหาสิ่งอำนวยความสะดวกการเขียนโปรแกรม Java ที่พัฒนาแล้วเช่น Java Runtime Environment (JRE), ล่าม / โหลดเดอร์ (java), คอมไพเลอร์ (javac), archiver (jar) generator (javadoc) และเครื่องมืออื่น ๆ ที่จำเป็นในการพัฒนา Java มันเป็นสภาพแวดล้อมการพัฒนาโปรแกรมสำหรับการเริ่มต้น Java applets และการใช้งาน มันมีส่วนประกอบรันไทม์ซึ่งวางอยู่บนสุดของเลเยอร์ระบบปฏิบัติการ นอกจากนี้ยังเป็นเครื่องมือที่จำเป็นสำหรับการเขียนโปรแกรมการพัฒนาการรวบรวมการดีบักและการรันแอปเพล็ตและแอพพลิเคชั่นที่เขียนด้วยภาษาจาวา เริ่มแรกผู้พัฒนา java มีเครื่องมือ JDK สองประเภทคือ: java และ javac ทั้งสองทำงานบนพรอมต์คำสั่ง ไฟล์เรียกทำงานซอร์สของ Java เป็นไฟล์ข้อความแบบง่ายซึ่งถูกบันทึกด้วยรูปแบบไฟล์นามสกุล. java หลังจากการเขียนและบันทึกโปรแกรมซอร์สโค้ด Java คอมไพลเลอร์ javac จะถูกเรียกใช้เพื่อสร้างไฟล์. class เมื่อไฟล์. class ถูกสร้างขึ้นคำสั่ง 'java' สามารถนำไปใช้เพิ่มเติมเพื่อรันโปรแกรมจาวา
JDK มีการรวบรวมเครื่องมือการเขียนโปรแกรมหลักและส่วนประกอบซึ่งบางส่วนรวมถึง:
- appletviewer - เครื่องมือนี้สามารถใช้เพื่อเรียกใช้และดีบัก Java applets โดยไม่มีเว็บเบราว์เซอร์
- apt - เครื่องมือประมวลผลคำอธิบายประกอบ
- java - ตัวโหลดสำหรับแอ็พพลิเคชัน Java เครื่องมือนี้เป็นล่ามและสามารถตีความไฟล์คลาสที่สร้างขึ้นโดยคอมไพเลอร์ javac
- javac - คอมไพเลอร์ Java ซึ่งแปลงซอร์สโค้ดเป็น Java bytecode
- javadoc - เครื่องมือสร้างเอกสารซึ่งจะสร้างเอกสารโดยอัตโนมัติจากความคิดเห็นของซอร์สโค้ด
- jar - ผู้จัดเก็บซึ่งทำแพ็กเกจไลบรารีคลาสที่เกี่ยวข้องลงในไฟล์ JAR ไฟล์เดียว เครื่องมือนี้ยังช่วยจัดการไฟล์ JAR

JRE (หรือเขียนเป็น Java RTE) สามารถใช้งานได้เฉพาะในส่วนประกอบและแอปพลิเคชัน Java Runtime Environment ที่ติดตั้งและแอปเพล็ต Java สามารถใช้งานได้กับคอมพิวเตอร์หลายแพลตฟอร์มรวมถึง Mac, Windows และ UNIX JRE นั้นมุ่งเน้นไปที่เงื่อนไขนั่นคือถ้า JRE ไม่ได้ติดตั้งบนคอมพิวเตอร์เครื่องใด ๆ ก็อาจเกิดขึ้นได้ว่าโปรแกรม Java อาจไม่ได้รับการยอมรับโดยระบบปฏิบัติการของคอมพิวเตอร์นั้น ๆ ซอฟต์แวร์ JRE จัดเตรียมสภาพแวดล้อมรันไทม์ซึ่งสามารถใช้งานโปรแกรม Java ได้ มันมีอยู่ในทั้งสองรูปแบบคือสภาพแวดล้อมแบบสแตนด์อโลนและปลั๊กอินของเว็บเบราว์เซอร์ซึ่งอนุญาตให้แอปเพล็ต Java ทำงานภายในเว็บเบราว์เซอร์ JRE 1.0 ล่าสุดได้รับการพัฒนาด้วยคลาสและแพ็คเกจที่หลากหลาย สิ่งเหล่านี้รวมอยู่ในไลบรารีหลักและเติบโตจากคลาสสองสามร้อยไปจนถึงหลายพันในแพลตฟอร์ม Java 2, Standard Edition (J2SE)
JRE รวมถึงเทคโนโลยีการปรับใช้รูปแบบต่าง ๆ บางอย่าง ได้แก่ :
- Java Virtual Machine (JVM): สิ่งเหล่านี้รวมถึงไคลเอ็นต์ Java HotSpot และเซิร์ฟเวอร์เสมือน
- ชุดเครื่องมือส่วนต่อประสานผู้ใช้: สิ่งเหล่านี้รวมถึง Abstract Window Toolkit (AWT), Swing, Java 2D, การเข้าถึง, ภาพ I / O, บริการการพิมพ์, เสียง, การลากและวาง (DnD) และวิธีการป้อนข้อมูล
- ไลบรารีการรวม: สิ่งเหล่านี้รวมถึง Interface Definition Language (IDL), การเชื่อมต่อฐานข้อมูล Java (JDBC), การตั้งชื่อ Java และ Directory Interface (JNDI), การเรียกใช้วิธีการทางไกล (RMI), การเรียกใช้วิธีทางไกล และการเขียนสคริปต์
- ไลบรารีฐานอื่น ๆ : รวมถึงการสนับสนุนระหว่างประเทศอินพุต / เอาท์พุต (I / O) กลไกการขยายถั่วถั่ว Java Management Extensions (JMX), Java Native Interface (JNI), คณิตศาสตร์, ระบบเครือข่าย, กลไกการแทนที่, ความปลอดภัย, การทำให้เป็นอนุกรมและ Java สำหรับ การประมวลผล XML (XML JAXP)
- ห้องสมุด Lang และ util: รวมถึง, lang และ util, การจัดการ, การกำหนดเวอร์ชัน, zip, เครื่องมือ, การสะท้อน, การรวบรวม, ยูทิลิตี้การทำงานพร้อมกัน, Java Archive (JAR), การบันทึก, Preferences API, ออบเจ็กต์อ้างอิง
เปรียบเทียบระหว่าง JDK และ JRE:
JDK | JRE | |
บทนำ | Java Development Kit (JDK) เป็นผลิตภัณฑ์ของ Oracle Corporation มุ่งเป้าไปที่นักพัฒนา Java | Java Runtime Environment (JRE) เป็นการใช้งานฟรีและโอเพ่นซอร์สของภาษาการเขียนโปรแกรม Java |
หมายถึง | ชุดพัฒนา Java | Java Runtime, สภาพแวดล้อมรันไทม์ Open JDK (ชุดพัฒนา Java แบบเปิด) |
บทบาท | JDK นั้นมีไว้สำหรับโปรแกรมเมอร์ | JRE นั้นมีไว้สำหรับผู้ใช้และจะทำการติดตั้ง |
มี | JDK มี JRE หนึ่ง (หรือมากกว่า) | JRE แตกต่างจาก JDK |
ฟังก์ชั่นพื้นฐาน | JDK ใช้เพื่อพัฒนาโปรแกรม Java | JRE นั้นเพียงพอที่จะรันโปรแกรม Java |
จำเป็นสำหรับงานต่าง ๆ เช่น | หากจะรวบรวมโปรแกรมจำเป็นต้องใช้ JDK | หากต้องการเรียกใช้งานโปรแกรมจำเป็นต้องมี JRE |
ชุดส่วนประกอบ | มันมี JRE และเครื่องมือในการพัฒนา | มันมีชุดของห้องสมุดและไฟล์อื่น ๆ ที่ JVM ใช้ที่รันไทม์ |
การทำงาน | โดยการใช้ JDK เครื่องมือที่จำเป็นสำหรับการคอมไพล์ไฟล์ซอร์ส Java ให้สร้างเป็นคลาสไฟล์เช่น javac รวบรวมไฟล์เพิ่มเติม | โดยการใช้ JRE โปรแกรม Java ไม่สามารถรวบรวมได้ |