ฉันเห็นคำศัพท์ Java ที่แตกต่างกันจำนวนมากลอยอยู่รอบ ๆ ฉันต้องการติดตั้ง JDK 1.6 ฉันเข้าใจว่า Java 6 == Java 1.6 อย่างไรก็ตามเมื่อฉันติดตั้ง Java SE 6 ฉันจะได้รับ JVM ที่รายงานเป็นเวอร์ชัน 11.0! ใครสามารถแก้ไขความบ้าคลั่งได้บ้าง?
ฉันเห็นคำศัพท์ Java ที่แตกต่างกันจำนวนมากลอยอยู่รอบ ๆ ฉันต้องการติดตั้ง JDK 1.6 ฉันเข้าใจว่า Java 6 == Java 1.6 อย่างไรก็ตามเมื่อฉันติดตั้ง Java SE 6 ฉันจะได้รับ JVM ที่รายงานเป็นเวอร์ชัน 11.0! ใครสามารถแก้ไขความบ้าคลั่งได้บ้าง?
คำตอบ:
เมื่อคุณพิมพ์ "java -version" คุณจะเห็นหมายเลขรุ่นสามหมายเลขคือเวอร์ชัน java (ที่ฉันใช้คือ " 1.6.0_07") เวอร์ชันสภาพแวดล้อมรันไทม์ Java SE ("บิลด์1.6.0_07-b06") และรุ่น HotSpot (ตามลำดับคือ " build 10.0-b23, mixed mode") ฉันสงสัยว่า "11.0" ที่คุณเห็นคือรุ่น HotSpot
อัปเดต: HotSpot คือ (หรือเคยเป็นตอนนี้พวกเขาดูเหมือนจะใช้เพื่อหมายถึง VM ทั้งหมด) คอมไพเลอร์ทันเวลาที่สร้างขึ้นใน Java Virtual Machine พระเจ้าเท่านั้นที่รู้ว่าทำไมดวงอาทิตย์ถึงให้หมายเลขรุ่นแยกต่างหาก
SE กำหนดชุดของความสามารถและฟังก์ชันการทำงาน มีรุ่นที่ซับซ้อนมากขึ้น (Enterprise Edition - EE) และรุ่นที่ง่ายกว่า (Micro Edition - ME - สำหรับสภาพแวดล้อมมือถือ)
JDK รวมถึงคอมไพเลอร์และเครื่องมืออื่น ๆ ที่จำเป็นในการพัฒนาแอปพลิเคชัน Java; JRE ไม่ ดังนั้นในการรันแอ็พพลิเคชัน Java ที่บุคคลอื่นให้คุณต้อง JRE ในการพัฒนาแอปพลิเคชัน Java คุณต้องมี JDK
แก้ไข : Chris Marasti-Georg ชี้ให้เห็นในความคิดเห็นคุณสามารถค้นหาข้อมูลมากมายได้ที่เว็บไซต์Javaของ Sun และโดยเฉพาะอย่างยิ่งจากส่วนJava SE (ตัวเลือกที่ 2, Java SE Development Kit (JDK) 6 Update 10) .
แก้ไข 2011-04-06:
โลกเปลี่ยนและตอนนี้ Java ได้รับการจัดการโดย Oracle ซึ่งซื้อ Sun ปลายปีนี้sun.comโดเมนควรจะมืด หน้าใหม่ (ขึ้นอยู่กับการเปลี่ยนเส้นทาง) คือหน้าJavaนี้ที่ Oracle Tech Network (ดูที่java.comด้วย)
แก้ไข 2013-01-11:และโลกยังคงหมุน (2012-12-21 แม้จะมี) และแท้จริงและเห็น JRE 6 กำลังจะถึงจุดสิ้นสุดของการสนับสนุน Oracleกล่าวว่าไม่มีการอัพเดทสาธารณะสำหรับ Java 6 อีกต่อไปหลังจากเดือนกุมภาพันธ์ 2013
ภายใน Java เวอร์ชันที่ให้คำตอบนี้ยังใช้ได้ JDK เป็น Java Development Kit, JRE เป็น Java Runtime Environment, Java SE เป็นรุ่นมาตรฐานและอื่น ๆ แต่เวอร์ชัน 6 (1.6) กำลังจะล้าสมัย
แก้ไข 2015-04-29:และด้วยการปฏิวัติอีกสองรอบดวงอาทิตย์เวลาก็สิ้นสุดลงสำหรับการสนับสนุน Java SE 7 ด้วย ในเดือนเมษายนปี 2015 Oracle ยืนยันว่าไม่ได้ให้การอัพเดทสาธารณะกับ Java SE 7 อีกต่อไปการสิ้นสุดการอัปเดตสาธารณะสำหรับ Java SE 8 อย่างไม่แน่นอนคือมีนาคม 2017 แต่วันที่สิ้นสุดนั้นอาจมีการเปลี่ยนแปลง (ภายหลังไม่ใช่ก่อนหน้านี้)
สิ่งนี้อาจช่วยบางคน:
ฉันกำลังติดตั้ง Java ล่าสุดบนระบบของฉันเพื่อการพัฒนาและปัจจุบันเป็น Java SE 7 ทีนี้มาดำดิ่งสู่ "madness" นี้ตามที่คุณวางไว้ ...
ทั้งหมดนี้เหมือนกัน (เมื่อนักพัฒนากำลังพูดถึง Java เพื่อการพัฒนา):
เริ่มต้นด้วย Java v1.5:
และเราสามารถสรุปได้ว่าสิ่งนี้จะยังคงอยู่สำหรับเวอร์ชันในอนาคต
ถัดไปสำหรับนักพัฒนาดาวน์โหลด JDK ไม่ใช่ JRE
JDK จะมี JRE หากคุณต้องการ JDK และ JRE รับ JDK ทั้งสองจะถูกติดตั้งจากการติดตั้ง JDK เดียวตามที่คุณจะเห็นด้านล่าง
ในฐานะที่เป็นคนดังกล่าวข้างต้น:
นี่คือลิงค์ทีละขั้นตอนที่ฉันติดตาม (ขั้นตอนเดียวนำไปสู่การต่อไปนี่คือทั้งหมดสำหรับการดาวน์โหลดครั้งเดียว) เพื่อดาวน์โหลด Java เพื่อการพัฒนา (JDK):
โปรดทราบว่าลิงก์ข้างต้นมีไว้เพื่อการอ้างอิงเท่านั้นเพื่อแสดงวิธีการทีละขั้นตอนในการดาวน์โหลด JDK
และติดตั้งด้วยการตั้งค่าเริ่มต้นไปที่:
โปรดจำไว้จากด้านบนว่า JDK มี JRE ซึ่งเหมาะสมถ้าคุณรู้ว่าทั้งคู่คืออะไร อีกครั้งดูด้านบน
หลังจากการติดตั้งของคุณให้ตรวจสอบ“ C: \ Program Files \ Java” อีกครั้งเพื่อดูทั้งสองโฟลเดอร์ ตอนนี้คุณรู้ว่าพวกเขาคืออะไรและทำไมพวกเขาอยู่ที่นั่น
ฉันรู้ว่าฉันเขียนสิ่งนี้สำหรับมือใหม่ แต่ฉันสนุกกับการรู้รายละเอียดอย่างเต็มที่ดังนั้นฉันหวังว่าสิ่งนี้จะช่วยได้
Java เป็นแพลตฟอร์ม ประกอบด้วยสองผลิตภัณฑ์ - ชุดพัฒนาซอฟต์แวร์และสภาพแวดล้อมรันไทม์
เมื่อ Java ได้รับการปล่อยตัวครั้งแรกมันก็เห็นได้ชัดว่าเรียกว่าเพียงแค่Java หากคุณเป็นนักพัฒนาซอฟต์แวร์คุณก็รู้จักเวอร์ชันซึ่งเป็น "1.0" ปกติและต่อมาเป็น "1.1" ผลิตภัณฑ์ทั้งสองที่เป็นส่วนหนึ่งของแพลตฟอร์มได้รับชื่อด้วย:
เห็นได้ชัดว่าการเปลี่ยนแปลงในรุ่น 1.2 จึงมีความสำคัญที่พวกเขาเริ่มเรียกแพลตฟอร์มเป็นJava 2
ค่าเริ่มต้น "การกระจาย" ของแพลตฟอร์มนั้นได้รับชื่อ "มาตรฐาน" เพื่อตัดกันกับพี่น้อง ดังนั้นคุณมีสามแพลตฟอร์ม:
JDK ได้เปลี่ยนชื่อเป็น "Java 2 Software Development Kit" อย่างเป็นทางการ
เมื่อรุ่น 1.5 ออกมาชุดสูทตัดสินใจว่าพวกเขาต้องการ "เปลี่ยนโฉม" ผลิตภัณฑ์ ดังนั้นแพลตฟอร์ม Java จึงมีสองรุ่น - รุ่นผลิตภัณฑ์ "5" และรุ่นผู้พัฒนา "1.5" (ใช่กฎดังกล่าวถูกกล่าวถึงอย่างชัดเจน - "วาง '1') อย่างไรก็ตาม" 2 "ยังคงอยู่ใน ชื่อ. ดังนั้นตอนนี้แพลตฟอร์มที่เรียกว่าอย่างเป็นทางการ"Java 2 Platform Standard Edition 5.0 (J2SE 5.0)"
เมื่อรุ่น 1.6 ออกมามีคนรู้ว่าการมีตัวเลขสองตัวในชื่อแปลก ๆ ดังนั้นพวกเขาจึงตัดสินใจทิ้งส่วนต่อท้ายที่ 2 (และส่วนท้าย ".0") โดยสมบูรณ์และเราลงท้ายด้วย"Java Platform, Standard Edition 6 (Java SE 6)"ที่มี"Java SE Development Kit 6 (JDK 6)"และ"Java SE Runtime Environment 6 (JRE 6)"
เวอร์ชั่น 1.7 ไม่ได้ทำอะไรโง่ ๆ ถ้าฉันต้องเดาการเปลี่ยนแปลงครั้งใหญ่ครั้งต่อไปก็จะทิ้ง "SE" เพื่อให้วัฏจักรเสร็จสมบูรณ์และ JDK จะถูกเรียกว่า "Java Development Kit" อีกครั้ง
เพื่อความง่ายสัญญาณกลุ่มหนึ่งถูกตัดออก ดังนั้นสมมติว่า Java ™, JDK ™และ JRE ™
ดังนั้นดูเหมือนว่าจะมีปัญหาในการแสดงรายการที่ซ้อนกัน
เพียงแค่วาง "1. " จากรุ่นพิมพ์javac -versionและjava -versionและคุณจะดีไป
ด้วยการเปิดตัว Java 5 รุ่นผลิตภัณฑ์นั้นแตกต่างจากรุ่นผู้พัฒนาตามที่อธิบายไว้ที่นี่
Java SE Runtime สำหรับผู้ใช้ดังนั้นคุณต้องใช้ Java JRE รุ่นแรกของ Java คือ 1 จากนั้น 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 - 1.6 เป็นต้นและโดยปกติแต่ละรุ่นจะมีชื่อตามเวอร์ชันดังนั้น JRE 6 หมายถึง Java jre 1.6 มีรุ่นอัปเดตอยู่แล้วเช่น 1.6 update 45 ซึ่งมีชื่อว่า java jre 6u45
จากสิ่งที่ฉันรู้พวกเขาต้องการใช้หมายเลข 6 แทนการใช้ 1.6 เพื่อสะท้อนระดับวุฒิภาวะความมั่นคงความยืดหยุ่นและความปลอดภัย