Oracle ประกาศเปิดตัว Java SE 15 รู้ว่ามีอะไรใหม่

หลังจากหกเดือนของการพัฒนา Oracle ประกาศเปิดตัว เวอร์ชันใหม่ของ JavaSE 15 เป็นการใช้งานอ้างอิงที่ใช้โครงการโอเพนซอร์ส OpenJDK

JavaSE 15 มันจัดเป็นรุ่นรองรับปกติ พร้อมการอัปเดตที่จะออกจนถึงเวอร์ชันถัดไป เจควรใช้ ava SE 11 เป็นขาพยุงระยะยาว (LTS) และการอัปเดตจะออกจนถึงปี 2026 สาขาก่อนหน้าของ Java 8 LTS จะรองรับจนถึงเดือนธันวาคม 2020 การเปิดตัว LTS ครั้งต่อไปมีกำหนดในเดือนกันยายน 2021

คุณสมบัติใหม่หลักของ Java SE 15

ในเวอร์ชันใหม่นี้ มีการนำเสนอฟังก์ชันการสนับสนุนสำหรับ EdDSA RFC 8032 Signature, การนำเสนอ EdDSA ไม่ขึ้นอยู่กับแพลตฟอร์มฮาร์ดแวร์ ได้รับการป้องกันจากการโจมตีช่องทางด้านข้าง (รับประกันเวลาคงที่ของการคำนวณทั้งหมด) และมีประสิทธิภาพดีกว่าการใช้งาน ECDSA ที่มีอยู่ซึ่งเขียนด้วยภาษา C ในแง่ของประสิทธิภาพโดยมีการป้องกันในระดับเดียวกัน

การเปลี่ยนแปลงอีกประการหนึ่งคือ การสนับสนุนการทดลองสำหรับคลาสและอินเทอร์เฟซที่ปิดสนิท นี้ ไม่สามารถใช้โดยคลาสและอินเทอร์เฟซอื่น ๆ เพื่อสืบทอดขยายหรือเลิกใช้งาน

สิ่งที่ไฮไลต์ใน Java SE 15 เวอร์ชันใหม่นี้คือไฟล์ รองรับคลาสที่ซ่อนอยู่ซึ่งไม่สามารถใช้ bytecode ได้โดยตรง ของชั้นเรียนอื่น ๆ การใช้คลาสที่ซ่อนอยู่ที่สำคัญคือสำหรับเฟรมเวิร์กที่สร้างคลาสแบบไดนามิกที่รันไทม์และใช้โดยอ้อมผ่านการสะท้อน

คนเก็บขยะ ZGC (Z เครื่องเก็บขยะ) ได้รับความเสถียรและได้รับการยอมรับว่าพร้อมสำหรับการใช้งานทั่วไป. ZGC ทำงานในโหมดพาสซีฟเพื่อลดเวลาแฝงเนื่องจากการรวบรวมขยะให้มากที่สุด (เวลาหยุดทำงานเมื่อใช้ ZGC ไม่เกิน 10 มิลลิวินาที) และสามารถทำงานกับฮีปขนาดเล็กและขนาดใหญ่โดยมีขนาดตั้งแต่หลายร้อยเมกะไบต์ไปจนถึงหลายเทราไบต์

คนเก็บขยะ Shenandoah มีเสถียรภาพและเป็นที่ยอมรับว่าแพร่หลาย. Shenandoah ได้รับการพัฒนาโดย Red Hat และ โดดเด่นในการใช้อัลกอริทึมที่ช่วยลดเวลาหยุดชั่วคราวระหว่างการเก็บขยะ เมื่อทำความสะอาดควบคู่ไปกับการรันแอปพลิเคชัน Java

นอกจากนี้ยังมี การรองรับบล็อกข้อความมีความเสถียร และป้อนในภาษา: รูปแบบใหม่ของสตริงตามตัวอักษร ช่วยให้คุณสามารถรวมข้อมูลข้อความหลายบรรทัดในซอร์สโค้ดของคุณได้โดยไม่ต้องใช้อักขระหลีกและรักษาการจัดรูปแบบข้อความดั้งเดิมในบล็อก

ในทางกลับกัน Legacy DatagramSocket API ได้รับการปรับปรุงใหม่เป็น java.net.DatagramSocket และ java.net แบบเก่าการใช้งาน MulticastSocket ถูกแทนที่ด้วยการใช้งานที่ทันสมัยซึ่งง่ายต่อการดีบักและบำรุงรักษาและเข้ากันได้กับเธรดเสมือนที่พัฒนาโดยโครงการ Loom

ในกรณีที่อาจมีการละเมิดความเข้ากันได้กับโค้ดที่มีอยู่การใช้งานเก่าจะไม่ถูกลบออกและสามารถเปิดใช้งานได้โดยใช้อ็อพชัน jdk.net.usePlainDatagramSocketImpl

นอกจากนี้ มีการนำเสนอการทดลองใช้การจับคู่รูปแบบครั้งที่สอง ในตัวดำเนินการ "instanceof" ซึ่งช่วยให้คุณกำหนดตัวแปรภายในได้ทันทีเพื่อเข้าถึงค่าที่ยืนยัน

สุดท้ายยังมีการเน้นการใช้งานการทดลองครั้งที่สองของคีย์เวิร์ด« record »ซึ่งเป็นรูปแบบที่กะทัดรัดสำหรับคำจำกัดความของคลาสโดยหลีกเลี่ยงความจำเป็นในการกำหนดวิธีการระดับต่ำอย่างชัดเจนเช่น equals (), hashCode () และ toString (), ในกรณีที่ข้อมูลถูกเก็บไว้ในฟิลด์เท่านั้น

ในที่สุด การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:

  • เสนอร่างที่สองของ API การเข้าถึงหน่วยความจำภายนอก
  • เทคนิคการปรับให้เหมาะสมแบบ Biased Locking ที่ใช้โดย HotSpot JVM เพื่อลดค่าใช้จ่ายในการล็อกถูกปิดใช้งานและเลิกใช้แล้ว
  • การเปิดใช้งาน RMI ของกลไกที่ประกาศว่าล้าสมัยซึ่งจะถูกลบออกในอนาคต
  • ลบโปรแกรม Nashorn JavaScript ซึ่งเลิกใช้งานใน Java SE 11
  • ลบพอร์ตสำหรับโปรเซสเซอร์ Solaris OS และ SPARC (Solaris / SPARC, Solaris / x64 และ Linux / SPARC)

Si คุณต้องการทราบข้อมูลเพิ่มเติม เกี่ยวกับเวอร์ชันใหม่นี้ คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา