การเปิดตัว Java SE 19

หลังจากหกเดือนของการพัฒนา Oracle ได้เปิดตัวแพลตฟอร์ม Java SE 19 (Java Platform, Standard Edition 19) ซึ่งใช้โครงการโอเพ่นซอร์ส OpenJDK เป็นการดำเนินการอ้างอิง ยกเว้นการลบฟีเจอร์ที่เลิกใช้แล้ว Java SE 19 จะรักษาความเข้ากันได้แบบย้อนหลังกับเวอร์ชันก่อนหน้าของแพลตฟอร์ม Java ซึ่งโปรเจ็กต์ Java ที่เขียนไว้ก่อนหน้านี้ส่วนใหญ่จะยังคงทำงานโดยไม่มีการแก้ไขเมื่อเรียกใช้ภายใต้เวอร์ชันใหม่ รุ่นที่ติดตั้งได้ของ Java SE 19 (JDK, JRE และ Server JRE) เตรียมไว้สำหรับ Linux (x86_64, AArch64), Windows (x86_64) และ macOS (x86_64, AArch64) การพัฒนาโดยโครงการ OpenJDK การใช้งานอ้างอิง Java 19 เป็นโอเพ่นซอร์สอย่างสมบูรณ์ภายใต้สิทธิ์ใช้งาน GPLv2 พร้อมข้อยกเว้น GNU ClassPath เพื่ออนุญาตการเชื่อมโยงแบบไดนามิกไปยังผลิตภัณฑ์เชิงพาณิชย์

Java SE 19 ถูกจัดประเภทเป็นรีลีสสนับสนุนปกติ โดยมีการอัพเดตที่จะออกก่อนรีลีสถัดไป สาขา Long Term Support (LTS) ควรเป็น Java SE 17 ซึ่งจะได้รับการอัปเดตจนถึงปี 2029 จำได้ว่าเริ่มต้นด้วยการเปิดตัว Java 10 โปรเจ็กต์เปลี่ยนไปใช้กระบวนการพัฒนาใหม่ ซึ่งหมายถึงวงจรที่สั้นลงสำหรับการก่อตัวของรีลีสใหม่ ขณะนี้ฟังก์ชันการทำงานใหม่ได้รับการพัฒนาในสาขาหลักที่อัปเดตอย่างต่อเนื่อง ซึ่งรวมเอาการเปลี่ยนแปลงที่เสร็จสมบูรณ์แล้วและสาขาที่แยกย่อยทุก ๆ หกเดือนเพื่อให้การเผยแพร่ใหม่มีความเสถียร

คุณสมบัติใหม่ใน Java 19 รวมถึง:

  • มีการเสนอการสนับสนุนเบื้องต้นสำหรับรูปแบบเรคคอร์ด ขยายความสามารถในการจับคู่รูปแบบ Java 16 เพื่อแยกวิเคราะห์ค่าของคลาสของเรคคอร์ดประเภท ตัวอย่างเช่น: บันทึก Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Linux builds รองรับสถาปัตยกรรม RISC-V
  • เพิ่มการสนับสนุนเบื้องต้นสำหรับ FFM (Foreign Function & Memory) API ซึ่งช่วยให้คุณสามารถจัดระเบียบการโต้ตอบของโปรแกรม Java ด้วยโค้ดและข้อมูลภายนอกผ่านฟังก์ชันการเรียกใช้จากไลบรารีภายนอกและการเข้าถึงหน่วยความจำภายนอก JVM
  • เพิ่มการรองรับสำหรับเธรดเสมือน ซึ่งเป็นเธรดที่มีน้ำหนักเบาซึ่งช่วยลดความยุ่งยากในการเขียนและบำรุงรักษาแอปพลิเคชันแบบมัลติเธรดที่มีประสิทธิภาพสูง
  • มีการเสนอการใช้งาน Vector API เบื้องต้นครั้งที่สี่ซึ่งมีฟังก์ชันสำหรับการคำนวณเวกเตอร์ที่ดำเนินการโดยใช้คำสั่งเวกเตอร์ของโปรเซสเซอร์ x86_64 และ AArch64 และอนุญาตให้คุณใช้การดำเนินการกับค่าหลายค่าพร้อมกัน (SIMD) ไม่เหมือนกับความสามารถที่มีให้ในคอมไพเลอร์ HotSpot JIT สำหรับการทำเวกเตอร์อัตโนมัติของการดำเนินการสเกลาร์ API ใหม่ทำให้สามารถควบคุมเวกเตอร์ได้อย่างชัดเจนสำหรับการประมวลผลข้อมูลแบบขนาน
  • มีการเพิ่มการใช้งานการทดลองครั้งที่สามของการจับคู่รูปแบบในนิพจน์สวิตช์ ซึ่งอนุญาตให้ใช้เทมเพลตที่ยืดหยุ่นในป้ายชื่อเคสที่ครอบคลุมชุดของค่าต่างๆ ในคราวเดียว ซึ่งมีการใช้คำสั่ง if...else ที่ยุ่งยากก่อนหน้านี้ วัตถุ o = 123L; จัดรูปแบบสตริง = สวิตช์ (o) { กรณีจำนวนเต็ม i -> String.format ("int %d", i); กรณี Long l -> String.format("long %d", l); กรณี Double d -> String.format("double %f", d); กรณี String s -> String.format("String %s", s); ค่าเริ่มต้น -> o.toString (); };
  • มีการเพิ่ม API โครงสร้างแบบขนานเชิงทดลองซึ่งช่วยให้พัฒนาแอปพลิเคชันแบบมัลติเธรดได้ง่ายขึ้นโดยถือว่างานหลายอย่างที่ทำงานบนเธรดที่แตกต่างกันเป็นหน่วยเดียว

ที่มา: opennet.ru

เพิ่มความคิดเห็น