อะไรคือความแตกต่างระหว่างการอัปเดต Java แบบคี่และแบบคู่?


132

ฉันติดตั้ง JDK 8u60 แล้ว ฉันจะตรวจสอบเว็บไซต์ของออราเคิลในวันนี้และพวกเขาได้รับการปล่อยตัวพร้อมกันสองรุ่น: 8u65และ8u66 ทั้งสองเป็นเวอร์ชันเผยแพร่สาธารณะ

  • ทำไมถึงปล่อยสองเวอร์ชันพร้อมกัน?
  • เงื่อนไข / เหตุผลใดที่จะทำให้เราเลือกอย่างใดอย่างหนึ่ง

3
จากเว็บไซต์ของ Oracle: "Java SE 8u65 / 8u66 Java SE 8u65 มีการแก้ไขด้านความปลอดภัยที่สำคัญ Oracle ขอแนะนำอย่างยิ่งให้ผู้ใช้ Java SE 8 ทุกคนอัปเกรดเป็นรุ่นนี้ Java SE 8u66 เป็นการอัปเดตชุดแพตช์ซึ่งรวมถึง 8u65 ทั้งหมดพร้อมคุณสมบัติเพิ่มเติม ( อธิบายไว้ในบันทึกประจำรุ่น) " http://www.oracle.com/technetwork/java/javase/downloads/index.html คุณตรวจสอบ ReleaseNotes หรือไม่
mnille

5
@mnille ใช่ฉันตรวจสอบบันทึกแล้ว เมื่อพวกเขาบอกว่า 8u66 เป็นการอัปเดตชุดแพทช์นั่นหมายความว่าเป็นเวอร์ชันที่ "ดีกว่า" หรือไม่ ถ้าเป็นแล้วจะปล่อย 8u65 ทำไม?
MorrisIriga

โอเคขอโทษตอนนี้ฉันเข้าใจคำถามของคุณแล้ว ฉันจะเลือก SE 8u66 เพราะ 8u66 แก้ไขข้อบกพร่อง 15 (+3 จาก 8u65) และ 8u65 เพียง 3 ข้อบกพร่อง อย่างน้อยถ้ารายการข้อบกพร่องที่แก้ไขเสร็จสมบูรณ์ ... ฉันต้องยอมรับว่ามันค่อนข้างสับสน ...
mnille

3
ฉันเพิ่มลิงก์ไปยังบันทึกประจำรุ่นทั้งสอง บันทึกเหล่านั้นไม่ได้อธิบายความลึกลับนี้
Basil Bourque

13
ฉันคิดว่ามันเป็นคำถามเกี่ยวกับการเขียนโปรแกรมเพราะ JDK มีไว้สำหรับโปรแกรมเมอร์และสำหรับโปรแกรมเมอร์เท่านั้น ผู้ที่ไม่ใช่โปรแกรมเมอร์จะไม่เกี่ยวข้องกับ JDK พวกเขาจะต้องกังวลกับ JRE
Christian Hujer

คำตอบ:


96

จากหน้าดาวน์โหลด ( เน้นเพิ่ม):

Java SE 8u65 มีการแก้ไขความปลอดภัยที่สำคัญ Oracle ขอแนะนำอย่างยิ่งให้ผู้ใช้ Java SE 8 ทุกคนอัปเกรดเป็นรุ่นนี้ Java SE 8u66 เป็นการอัปเดตชุดโปรแกรมแก้ไขซึ่งรวมถึง 8u65 ทั้งหมดพร้อมคุณสมบัติเพิ่มเติม (อธิบายไว้ในบันทึกประจำรุ่น)

ออราเคิลมักจะทำอย่างนี้ ทั้งหมดนี้ขึ้นอยู่กับว่าคุณในฐานะลูกค้าต้องการจัดการกับความเสี่ยงอย่างไร

ผู้ใช้ควรใช้ PSU รีลีสที่สอดคล้องกันก็ต่อเมื่อได้รับผลกระทบจากหนึ่งในข้อบกพร่องเพิ่มเติมที่แก้ไขในเวอร์ชันนั้นตามที่ระบุไว้ในบันทึกประจำรุ่น

8u65 มีการแก้ไขความปลอดภัยและชุดรักษาความปลอดภัยใหม่ "พื้นฐาน"สำหรับบริษัท ที่จะบรรลุ Java 8 การใช้งาน 8u66 มีการปรับปรุงความปลอดภัยผู้ที่เดียวกันบวกแก้ไขข้อผิดพลาดเพิ่มเติม อย่างไรก็ตามแม้การแก้ไขข้อบกพร่องบางครั้งอาจทำให้เกิดการเปลี่ยนแปลงพฤติกรรมที่ทำให้เกิดปัญหาความเข้ากันได้สำหรับผู้ใช้ ดังนั้นการเปลี่ยนแปลงใน 8u66 จึงเป็นทางเลือก (โปรดทราบว่าพื้นฐานที่เชื่อมโยงด้านบนยังคงเป็น 1.8.0_65 และ บริษัท ที่ต้องการเสถียรภาพมากขึ้นในแพลตฟอร์มของตนอาจต้องการใช้เฉพาะการแก้ไขด้านความปลอดภัยเท่านั้นซึ่งจำเป็น

Oracle ไม่จำเป็นต้องแยกการอัปเดตในลักษณะนี้อย่างแน่นอน แต่ฉันแน่ใจว่าลูกค้าที่ไม่ชอบความเสี่ยงส่วนใหญ่ยินดีที่จะมีตัวเลือก


คุณสามารถอ้างอิงเอกสารอย่างเป็นทางการสำหรับคำตอบนี้ได้หรือไม่?
Basil Bourque

เพิ่มลิงค์และข้อความพิเศษ
Zac Thompson

1
คุณต้องใช้ Java SE 8u65 ใช้ Java SE 8u66 เท่านั้นหากคุณต้องการฟิกซ์รีลีสจำนวนมาก
frekele

@frekele ความคิดเห็นของคุณทำให้ฉันยังคงสับสน ทำไมการติดตั้งใหม่เพื่อเริ่มโปรเจ็กต์ใหม่ฉันจะไม่ได้รับ 8u66 เพื่อให้แน่ใจว่าฉันไม่ได้แก้ไขปัญหาที่ทราบแล้ว
GreenAsJade

2
ช่วยอธิบายรายละเอียดในส่วนที่สองของคำถาม: "เหตุผลใดที่ทำให้คุณเลือกเวอร์ชันใดเวอร์ชันหนึ่ง" ในการอ่านคำตอบของคุณฉันเห็นว่าคุณอาจไม่ต้องการเลือก 8u66 หากคุณมีโครงการที่มีอยู่ซึ่งอาจได้รับการเปลี่ยนแปลง แต่ทำไมคุณไม่เลือก 8u66 ใหม่ล่ะ?
GreenAsJade

30

นี่คือคำตอบอย่างเป็นทางการของ Oracle :

รุ่น Java CPU และ PSU อธิบาย

ตั้งแต่การเปิดตัว Java SE 7 Update 71 (Java SE 7u71) ในเดือนตุลาคม 2014 Oracle จะปล่อย Critical Patch Update (CPU) ในเวลาเดียวกันกับ Patch Set Update (PSU) ที่เกี่ยวข้องสำหรับ Java SE 7


ฉันควรเลือก Java เวอร์ชันใด: CPU หรือ PSU

Oracle ขอแนะนำอย่างยิ่งให้ผู้ใช้ Java SE ทุกคนอัปเกรดเป็นซีพียูรุ่นล่าสุดสำหรับตระกูลรีลีส ผู้ใช้ส่วนใหญ่ควรเลือกรุ่นซีพียู

ผู้ใช้ควรใช้ PSU รีลีสที่สอดคล้องกันก็ต่อเมื่อได้รับผลกระทบจากหนึ่งในข้อบกพร่องเพิ่มเติมที่แก้ไขในเวอร์ชันนั้นตามที่ระบุไว้ในบันทึกประจำรุ่น

ซีพียูรุ่นต่อ ๆ ไปจะมีการแก้ไขทั้งหมดจาก PSU ปัจจุบัน ด้วยเหตุนี้องค์กรควรทดสอบ PSU ปัจจุบันในสภาพแวดล้อมของตนเพื่อคาดหวังว่าการแก้ไขเหล่านี้จะรวมอยู่ใน CPU ตัวถัดไป

ความแตกต่างระหว่าง Java CPU และ PSU release คืออะไร?

Java SE Critical Patch Updates (CPU) มีการแก้ไขช่องโหว่ด้านความปลอดภัยและการแก้ไขข้อบกพร่องที่สำคัญ Oracle ขอแนะนำอย่างยิ่งให้ผู้ใช้ Java SE ทุกคนอัปเกรดเป็น CPU รุ่นล่าสุดตามที่พร้อมใช้งาน รุ่น Java SE CPU เป็นเวอร์ชันเลขคี่ (เช่น 7u71, 7u65 - ดูเพิ่มเติมเกี่ยวกับโครงร่างหมายเลขเวอร์ชัน Java SE ที่นี่)

การอัปเดตชุดโปรแกรมแก้ไข Java SE (PSU) ประกอบด้วยการแก้ไขทั้งหมดใน CPU ที่เกี่ยวข้องตลอดจนการแก้ไขเพิ่มเติมที่ไม่สำคัญ ควรใช้รุ่น Java PSU ก็ต่อเมื่อคุณได้รับผลกระทบจากหนึ่งในข้อบกพร่องเพิ่มเติมที่ได้รับการแก้ไขในเวอร์ชันนั้น บันทึกประจำรุ่นระบุการแก้ไขเพิ่มเติมที่มีอยู่ในรุ่น Java SE PSU

จังหวะของการเปิดตัว CPU มีการเปลี่ยนแปลงหรือไม่?

ก่อนหน้านี้การเปิดตัว CPU Java SE มีกำหนดวางจำหน่ายในวันอังคารที่ใกล้เคียงกับวันที่ 17 มกราคมเมษายนกรกฎาคมและตุลาคมภายใต้กำหนดการอัปเดต Oracle Critical Patch ปกติ

ตั้งแต่เดือนตุลาคม 2014 ด้วยการเปิดตัว Java SE 7u71 (CPU) และ Java SE 7u72 (PSU) Oracle มีแผนจะออกรุ่น PSU ที่เกี่ยวข้องเพิ่มเติมพร้อมกับซีพียูแต่ละรุ่นสำหรับ Java SE 7 รุ่น PSU ช่วยให้องค์กรและนักพัฒนาสามารถเข้าถึงได้ การแก้ไขที่ไม่สำคัญนอกเหนือจากการแก้ไขที่สำคัญที่มีอยู่ใน CPU ที่เกี่ยวข้อง


ใช้ u73 เว้นแต่คุณจะรู้ว่าคุณต้องการการแก้ไขข้อบกพร่องที่อยู่ใน u74


0

หากคุณมีโครงการอยู่แล้วให้ใช้ 8u65 หากคุณเริ่มต้นใหม่ตั้งแต่ต้นให้ใช้ 8u66 ฉันกำลังติดตั้ง NetBeans 8.1 ดังนั้นฉันจึงใช้ 8u66 ในกรณีที่รหัส NB8.1 มีข้อบกพร่อง 15 ข้อใน 8u65 ซึ่งไม่ได้รับการแก้ไขใน 8u66


0

ฉันพบข้อมูลนี้ใน Haven และ Hearth:

u73 (-b02) เป็นรีลีสสาธารณะ
u74 (-b02) เป็นรีลีส Bundled Patch สาธารณะ (มีการแก้ไขที่เกี่ยวข้องกับความปลอดภัยเพิ่มเติม)

ฉันคิดว่าคุณต้องดาวน์โหลด 74 เท่านั้น


BPR เป็นงานสร้างเชิงพาณิชย์ที่แตกต่างกันแม้การอัปเดตจะเป็น PSU 1.8.0 u74b02 เป็นสาธารณะและ u74b3x คือ BPR
eckes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.