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

เช่นเดียวกับที่เราทำกับการแนะนำ Java Virtual Machine ล่าสุดของฉันลองพิจารณาคำจำกัดความทางเทคนิคและรายวันของ JDK:
- คำจำกัดความทางเทคนิค: JDK คือการนำข้อกำหนดแพลตฟอร์ม Java มาใช้รวมถึงคอมไพเลอร์และไลบรารีคลาส
- คำจำกัดความในชีวิตประจำวัน: JDK เป็นชุดซอฟต์แวร์ที่คุณดาวน์โหลดเพื่อสร้างแอปพลิเคชันที่ใช้ Java
JDK และคอมไพเลอร์ Java
นอกเหนือจาก JRE ซึ่งเป็นสภาพแวดล้อมที่ใช้ในการรันแอ็พพลิเคชัน Java แล้ว JDK ทุกตัวยังมีคอมไพเลอร์ Java คอมไพเลอร์เป็นโปรแกรมซอฟต์แวร์ที่สามารถถ่ายไฟล์ .java ดิบ - ซึ่งเป็นข้อความธรรมดา - และการแสดงผลให้พวกเขาลงไปในแฟ้ม .class ปฏิบัติการ เราจะเห็นคอมไพเลอร์ดำเนินการเร็ว ๆ นี้ ขั้นแรกฉันจะแสดงวิธีดาวน์โหลดและตั้งค่า JDK ในสภาพแวดล้อมการพัฒนาของคุณ
เริ่มต้นกับ JDK
การตั้งค่า Java ในสภาพแวดล้อมการพัฒนาของคุณทำได้ง่ายเพียงแค่ดาวน์โหลด JDK และเพิ่มลงใน classpath ของคุณ เมื่อคุณดาวน์โหลด JDK คุณจะต้องเลือกเวอร์ชันของ Java ที่คุณต้องการใช้ Java 8 เป็นเวอร์ชันที่มีการใช้งานมากที่สุด แต่จากการเขียนนี้ Java 11 เป็นรีลีสการสนับสนุนระยะยาว (LTS) Java รักษาความเข้ากันได้แบบย้อนหลังดังนั้นเราจะดาวน์โหลดรุ่นล่าสุด
แพ็คเกจ JDK
นอกเหนือจากการเลือกเวอร์ชัน Java ของคุณแล้วคุณยังต้องเลือกแพ็คเกจ Java ด้วย แพคเกจคือ Java Development Kits ที่กำหนดเป้าหมายสำหรับการพัฒนาประเภทต่างๆ แพ็กเกจที่มี ได้แก่ Java Enterprise Edition (Java EE), Java Standard Edition (Java SE) และ Java Mobile Edition (Java ME)
บางครั้งนักพัฒนามือใหม่ไม่แน่ใจว่าแพ็คเกจใดถูกต้องสำหรับโครงการของตน โดยทั่วไป JDK แต่ละเวอร์ชันจะมี Java SE หากคุณดาวน์โหลด Java EE หรือ Java ME คุณจะได้รับ Standard Edition ด้วย ตัวอย่างเช่น Jave EE เป็นแพลตฟอร์มมาตรฐานที่มีเครื่องมือเพิ่มเติมที่มีประโยชน์สำหรับการพัฒนาแอปพลิเคชันระดับองค์กรเช่น Enterprise JavaBeans หรือการสนับสนุน Object Relational Mapping
นอกจากนี้ยังไม่ยากที่จะเปลี่ยนไปใช้ JDK อื่นในอนาคตหากคุณพบว่าคุณต้องการ อย่ากังวลกับการเลือกเวอร์ชัน Java และแพ็คเกจ JDK ที่ถูกต้องเมื่อคุณเพิ่งเริ่มใช้งาน
ความเข้ากันได้ของเวอร์ชัน JDK
เนื่องจาก JDK จัดหาคอมไพลเลอร์สำหรับโปรแกรม Java ของคุณ JDK ที่คุณใช้จะกำหนดเวอร์ชัน Java ที่คุณสามารถโค้ดได้ตัวอย่างเช่นหากคุณต้องการใช้คุณลักษณะการเขียนโปรแกรมเชิงฟังก์ชันที่ใหม่กว่าที่พบใน Java 8 (เช่นตัวดำเนินการลูกศรแลมบ์ดา) จากนั้นคุณต้องมี Java 8 JDK เป็นอย่างน้อยสำหรับการคอมไพล์ มิฉะนั้นjavac
คำสั่งจะปฏิเสธรหัสโดยมีข้อผิดพลาดทางไวยากรณ์
ดาวน์โหลด JDK
เราจะใช้ Java SE สำหรับบทช่วยสอนนี้เพื่อให้เราสามารถมุ่งเน้นไปที่คลาสและเทคโนโลยี JDK หลัก หากต้องการดาวน์โหลด Java SE JDK โปรดไปที่หน้าดาวน์โหลดอย่างเป็นทางการของ Oracle คุณจะเห็นแพ็คเกจ JDK ต่างๆที่มีให้ดังแสดงในรูปที่ 2

ก่อนที่คุณจะเลือกดาวน์โหลด Java SE โปรดใช้เวลาสักครู่เพื่อดูตัวเลือกอื่น ๆ มีการทำอาหารมากมายในครัว Java!
เกี่ยวกับ Java EE
คุณจะดาวน์โหลด Java EE JDK หากคุณสนใจเป็นหลักในการสร้างเว็บแอปพลิเคชันที่ใช้ Java Java EE JDK มีข้อกำหนด Java Servlet ซึ่งสนับสนุนการจัดการคำขอ HTTP ทุกการใช้งาน Java EE JDK จำเป็นต้องมีคอนเทนเนอร์ซึ่งเป็นเซิร์ฟเวอร์ที่รันแอปพลิเคชัน Java EE Glassfish เป็นการใช้งานการอ้างอิงเซิร์ฟเวอร์ Java EE สำหรับ Oracle การใช้งานที่เป็นที่นิยมอื่น ๆ ได้แก่ Tomcat และ Jetty
สำหรับตอนนี้ไปข้างหน้าและดาวน์โหลด Java Standard Edition JDK
การติดตั้ง JDK
เมื่อคุณเรียกใช้โปรแกรมติดตั้ง JDK ที่คุณมีให้เลือกสามส่วนประกอบ: เครื่องมือการพัฒนา , Source Codeและโยธา JRE คุณอาจติดตั้งอย่างใดอย่างหนึ่งหรือทั้งหมดก็ได้ ในกรณีนี้เพียงแค่เลือกค่าเริ่มต้น
การติดตั้งตัวเลือก "เครื่องมือสำหรับการพัฒนา" จะทำให้คุณมี JDK ที่เหมาะสม การติดตั้ง "ซอร์สโค้ด" มีซอร์สสำหรับคลาสพับลิกใน Java API หลัก การรวมตัวเลือกนี้ช่วยให้คุณสามารถอ้างอิงซอร์สโค้ดเมื่อสร้างแอพ ตัวเลือกที่สาม "Public JRE" ขับเคลื่อนบ้านโดยที่ JDK และ JRE เป็นเอนทิตีแยกกัน: โปรแกรมอื่นสามารถใช้ JRE สาธารณะเพื่อเรียกใช้โปรแกรม Java และสามารถติดตั้งแยกต่างหากจาก JDK
ไปข้างหน้าและติดตั้งส่วนประกอบทั้งสามและยอมรับค่าเริ่มต้นสำหรับแต่ละส่วนประกอบ การทำเช่นนี้หมายความว่า JDK และ JRE ของคุณจะถูกติดตั้งในตำแหน่งเริ่มต้นสำหรับระบบปฏิบัติการของคุณ ใน Windows นั่นคือC: \ Program Files \ Javaดังที่เห็นในรูปที่ 3

JDK บนบรรทัดคำสั่ง
การติดตั้ง JDK และ JRE จะเพิ่มjava
คำสั่งในบรรทัดคำสั่งของคุณ คุณสามารถตรวจสอบได้โดยวางลงในเชลล์คำสั่งแล้วพิมพ์java -version
ซึ่งจะส่งคืนเวอร์ชัน Java ที่คุณติดตั้ง (ในบางกรณีคุณจะต้องรีสตาร์ทระบบของคุณเพื่อให้การเปลี่ยนแปลงเส้นทางระบบของคุณดำเนินไปอย่างสมบูรณ์)
java
ติดตั้งก็ดีแล้ว แต่javac
ล่ะ? คุณจะต้องใช้องค์ประกอบ JDK นี้เพื่อคอมไพล์ไฟล์ Java ของคุณ
คำสั่ง javac
javac
คำสั่งที่อาศัยอยู่ภายใน/jdk
ไดเรกทอรี แต่จะไม่เพิ่มโดยอัตโนมัติไปยังเส้นทางของระบบระหว่างการติดตั้ง เรามีตัวเลือกในการติดตั้งjavac
เองหรือเราสามารถติดตั้ง IDE ที่มีคำสั่งนี้ เราจะเริ่มต้นด้วยการคอมไพล์และรันโปรแกรม Java แบบสมัยก่อน
โปรแกรม Java ง่ายๆ
ขั้นตอนที่ 1. เขียนโปรแกรม Java อย่างง่าย
สร้างไฟล์ข้อความใหม่เรียกIntro.java
และวางไว้ที่ใดที่หนึ่งบนคอมพิวเตอร์ของคุณเช่นโฟลเดอร์ Documents ของคุณ
จากนั้นเพิ่มโค้ดจาก Listing 1 ซึ่งเป็นโปรแกรม Java ที่ง่ายมาก
รายการ 1. Intro.java
public class Intro { public static void main(String[] args) { System.out.println("Welcome to the JDK!"); } }
ขั้นตอนที่ 2. คอมไพล์ด้วย JDK
จากนั้นใช้คอมไพเลอร์ JDK เพื่อเปลี่ยนไฟล์ข้อความของคุณให้เป็นโปรแกรมปฏิบัติการ โค้ดที่คอมไพล์ใน Java เรียกว่า bytecode และมี.class
ส่วนขยาย
คุณจะใช้javac
คำสั่งซึ่งย่อมาจากคอมไพเลอร์ Java พิมพ์เส้นทางแบบเต็มของคำสั่งลงในเชลล์คำสั่งของคุณและส่งIntro.java
ไฟล์เป็นคำสั่ง ในระบบของฉันดูเหมือนว่า Listing 2
รายชื่อ 2. รวบรวมด้วย JDK
"C:\Program Files\Java\jdk-10.0.1\bin\javac.exe" Intro.java
นั่นควรส่งผลให้คอมไพล์ประสบความสำเร็จ javac
จะไม่ตอบสนองกับข้อความที่ประสบความสำเร็จ; มันจะส่งออกไฟล์ใหม่ ข้อผิดพลาดใด ๆ จะส่งผลให้คอนโซลเอาต์พุต
ขั้นตอนที่ 3. เรียกใช้ไฟล์. class
ตอนนี้คุณควรเห็นIntro.class
ไฟล์ในไดเร็กทอรีเดียวกับIntro.java
.
คุณสามารถเรียกใช้งานได้โดยพิมพ์: java Intro
ซึ่งจะได้ผลลัพธ์ใน Listing 3 โปรดทราบว่าคุณไม่ได้รวม.class
เมื่อพิมพ์คำสั่งนี้
รายชื่อ 3. การรัน Intro.class
C:\Users\mtyson\Documents>java Intro Welcome to the JDK!
คำสั่ง jar
นี่javac
คือดาวของ JDK แต่/bin
ไดเร็กทอรีมีเครื่องมืออื่น ๆ ที่คุณต้องการ อาจjavac
เป็นjar
เครื่องมือที่โดดเด่นที่สุดหลังจากนั้น
ไฟล์ขวดเป็นชุดแพคเกจของการเรียน Java เมื่อคอมไพเลอร์สร้าง.class
ไฟล์แล้วผู้พัฒนาสามารถรวมไฟล์เหล่านี้เข้าด้วยกัน.jar
ซึ่งจะบีบอัดและจัดโครงสร้างให้เป็นแบบที่คาดเดาได้
มาแปลงIntro.class
เป็นjar
ไฟล์กัน
กลับไปที่ไดเร็กทอรีที่คุณวางไว้Intro.java
และพิมพ์คำสั่งที่คุณเห็นในรายการ 4
รายชื่อ 4. สร้างไฟล์ JAR
C:\Users\mtyson\Documents>"c:\Program Files\Java\jdk-10.0.1\bin\jar.exe" --create --file intro.jar Intro.class
กำลังดำเนินการโถ
ตอนนี้คุณจะเห็นintro.jar
ไฟล์ในไดเรกทอรี คุณสามารถใช้ประโยชน์.jar
จากการเพิ่มลงใน classpath ของคุณและเรียกใช้โปรแกรมภายในดังที่แสดงไว้ที่นี่:
java -cp intro.jar Intro
-cp
สวิทช์บอก Java เพื่อเพิ่มjar
การคลาสพา ธ ไฟล์. jar นั้นใช้งานมากเกินไปสำหรับโปรแกรมขนาดเล็กนี้ แต่ก็ขาดไม่ได้เนื่องจากโปรแกรมมีขนาดใหญ่ขึ้นและต้องพึ่งพาแพ็คเกจของบุคคลที่สาม
JDK ใน IDE ของคุณ
เมื่อย้อนกลับไปที่หน้าดาวน์โหลด JDK คุณอาจสังเกตเห็นตัวเลือกในการดาวน์โหลด JDK ด้วย Netbeans IDE IDEหรือสภาพแวดล้อมการพัฒนาแบบบูรณาการเป็นซอฟต์แวร์ที่มีชุดเหนียวของเครื่องมือสำหรับการพัฒนาโปรแกรมประยุกต์ คิดว่า IDE เป็นระบบปฏิบัติการภาพที่มีชุดเครื่องมือเช่นเบราว์เซอร์ไฟล์และโปรแกรมแก้ไขข้อความที่มีความสามารถเพิ่มเติมเฉพาะสำหรับการพัฒนาเช่นการเติมโค้ดและการจัดรูปแบบ
ในการพัฒนา Java หนึ่งในสิ่งสำคัญที่ IDE ทำคือจัดการการคอมไพล์ให้คุณ นั่นคือ IDE จะรันกระบวนการคอมไพล์โดยอัตโนมัติในเบื้องหลังดังนั้นคุณจึงไม่ต้องดำเนินการเองอย่างต่อเนื่อง IDE ยังให้ข้อเสนอแนะแบบ play-by-play ในขณะที่คุณไปจับข้อผิดพลาดในการเข้ารหัสได้ทันที
มี IDE ที่เป็นของแข็งหลายตัวสำหรับ Java คุณได้เห็นแล้วว่า JDK ทำงานอย่างไรบนบรรทัดคำสั่งตอนนี้เรามาดูวิธีการทำงานใน Eclipse IDE กันอย่างรวดเร็ว
[ดูเพิ่มเติมที่: การเลือก Java IDE ของคุณ: การเปรียบเทียบ Eclipse, NetBeans และ Intellij IDE สำหรับคุณลักษณะการใช้งานและขนาดและประเภทของโครงการ]
Eclipse และ JDK
การติดตั้ง Eclipse อยู่นอกขอบเขตของคู่มือนี้ แต่เป็นกระบวนการง่ายๆ Eclipse มีโปรแกรมติดตั้งเหมือนกับโปรแกรมอื่น ๆ และคุณสามารถค้นหาโปรแกรมติดตั้งที่เหมาะสมสำหรับระบบปฏิบัติการของคุณได้ที่นี่
กับคราสติดตั้งเปิดรายการหน้าต่างเมนูจากแถบเมนูและเลือกการตั้งค่า
ภายในหน้าต่างการตั้งค่าคุณจะเห็นรายการJava เปิดมันและข้างในคุณจะเห็นรายการคอมไพเลอร์ การคลิกที่จะแสดงตัวเลือกบางอย่างสำหรับ JDK
รูปที่ 4 แสดงภาพหน้าจอของตัวเลือก JDK ใน Eclipse

ตามที่กล่าวไว้ก่อนหน้านี้คุณจะต้องเลือกเวอร์ชัน JDK ที่ถูกต้องสำหรับโครงการของคุณ ภายใต้ประทุน IDE จะเรียกใช้คอมไพเลอร์ JDK เช่นเดียวกับที่คุณเรียกใช้จากบรรทัดคำสั่ง Eclipse IDE ยังมีอินสแตนซ์ JDK ของตัวเอง IDE จัดการ JDK และ JRE ให้คุณซึ่งทำให้ชีวิตง่ายขึ้นมาก!
สรุป
บทความนี้เป็นบทความที่สองในชุดสั้น ๆ ที่แนะนำส่วนประกอบแพลตฟอร์ม Java หลักสามส่วน ได้แก่ JVM, JDK และ JRE ค้นหาบทความถัดไปในชุดนี้ซึ่งคุณจะได้เรียนรู้ทั้งหมดเกี่ยวกับ Java Runtime Environment
เรื่องนี้ "JDK คืออะไรบทนำสู่ Java Development Kit" เผยแพร่ครั้งแรกโดย JavaWorld