Oracle ออก Java 22 รุ่นซัพพอร์ตระยะสั้น 6 เดือน (Java 21 เป็นรุ่นซัพพอร์ตระยะยาวนาน 2 ปี)
ของใหม่ที่สำคัญของ Java 22 คือ Unnamed Variables & Patterns เปิดให้ตั้งชื่อตัวแปรที่ถูกบังคับให้ต้องมี แต่ไม่ต้องเรียกใช้งาน เป็นสัญลักษณ์ขีดล่าง (_) แทนการต้องตั้งชื่อตัวแปรอะไรก็ได้สักอย่าง
จากภาพตัวอย่างคือตัวแปร order ไม่ถูกเรียกใช้งานจริง แต่ต้องประกาศ (แถมโดนคอมไพเลอร์ด่าซ้ำว่ามีตัวแปรไม่ใช้งาน) ในสเปกของ Java 22 เปิดให้ใช้ตัว _ เพื่อบอกอย่างเจาะจงว่าเป็นตัวแปรที่ไม่ต้องตั้งชื่อได้แล้ว


ของใหม่อย่างอื่นคือ
- Foreign Function & Memory API สำหรับการเชื่อมต่อกับฟังก์ชันที่เป็นภาษาอื่นนอก Java Runtime
- Launch Multi-File Source-Code Programs การเรียกซอร์สโค้ด Java ที่อยู่ในหลายๆ ไฟล์โดยไม่ต้องคอมไพล์ก่อน
- Regional Pinning for G1 การกำหนดเขตพื้นที่ทำงานในหน่วยความจำของ garbage collector G1 เมื่อต้องทำงานกับโค้ด C/C++ เพื่อให้ไม่ต้องปิดการทำงานของ G1 ทุกครั้งไป
Oracle ยังเปิดให้ใช้งาน Oracle GraalVM for JDK 22 ฟรี แบบเดียวกับที่เริ่มทำตอน Java 20 ด้วย
ที่มา - Oracle
on
จากตัวอย่าง return orders
PH41 Wed, 20/03/2024 - 07:44
จากตัวอย่าง
return orders.Length()ไปได้มั้ย 😂 ประหยัดกว่าเยอะอ่าน source code โดยไม่ต้อง compile คือ interpreter?
ถ้าจะจับผิดตัวอย่างอาจจะต้องล
ZiiT Wed, 20/03/2024 - 09:23
In reply to จากตัวอย่าง return orders by PH41
ถ้าจะจับผิดตัวอย่างอาจจะต้องลงไปดูครับว่า Input data type เป็น Iterable<T> มี method ที่ว่ารึเปล่า
iterator ไม่จำเป็นต้องเป็น
rattananen Wed, 20/03/2024 - 10:26
In reply to จากตัวอย่าง return orders by PH41
iterator ไม่จำเป็นต้องเป็น container/collection น่ะครับ
ตาม concept มันมีแค่ begin node, end node, increasement (next), dereference (get value) แล้ว next node ไม่จำเป็นต้องเป็น series (ลำดับอนุกรม)
ขอบคุณสำหรับข้อมูลครับ
PH41 Thu, 21/03/2024 - 05:50
In reply to iterator ไม่จำเป็นต้องเป็น by rattananen
ขอบคุณสำหรับข้อมูลครับ
+1
sukjai Wed, 20/03/2024 - 08:41
+1
รู้สึกดีกับการปรับเปลี่ยนกฏแล
btoy Wed, 20/03/2024 - 09:42
รู้สึกดีกับการปรับเปลี่ยนกฏและ syntax ใหม่ๆในช่วงหลังๆ เผื่อกรณีที่จำเป็นต้องใช้ Java จริงๆ
+1
VanGogh Thu, 21/03/2024 - 08:43
In reply to รู้สึกดีกับการปรับเปลี่ยนกฏแล by btoy
+1
ผมว่าไอ้นี่มันจะมีประโยชน์ตอน
mr_tawan Wed, 20/03/2024 - 23:50
ผมว่าไอ้นี่มันจะมีประโยชน์ตอนประกาศตัวแปรทีละเยอะ ๆ พร้อม ๆ กันในบรรทัดเดียวกันน่ะครับ Java ทำได้หรือยังนะ ไม่ได้ตามนานละ
ของ Go มันจะประมาณ
ซึ่ง java ไม่มี tuple
PH41 Thu, 21/03/2024 - 05:52
In reply to ผมว่าไอ้นี่มันจะมีประโยชน์ตอน by mr_tawan
ซึ่ง java ไม่มี tuple
และใช้ throw exception แทน error ซึ่งทำให้มีทางออกมากกว่า 1 ทาง แถมมี Runtime Exception ที่ไม่มีลางบอกเหตุอีกว่ามันมีโอกาสพัง
ผมชอบ Go เพราะวิธีการ handle
btoy Mon, 25/03/2024 - 13:08
In reply to ผมว่าไอ้นี่มันจะมีประโยชน์ตอน by mr_tawan
ผมชอบ Go เพราะวิธีการ handle error แบบนี้นี่ล่ะครับ (ในขณะที่หลายๆคนไม่ชอบ ฮ่า) และส่วนตัวไม่ค่อยชอบ Exception
ส่วนของ Swift ก็มี Result
PH41 Mon, 22/04/2024 - 13:25
In reply to ผมว่าไอ้นี่มันจะมีประโยชน์ตอน by mr_tawan
ส่วนของ Swift ก็มี Result น่ารักไปอีกแบบ
แต่ Go ยังไม่ทำ enum เท่าที่จำได้เขาบอกว่า enum แต่ละเจ้าก็ implement ไม่เหมือนกันเลือกกันมาคนละอย่างสองอย่าง และแบบที่มีอยู่ก็ทำคล้าย ๆ enum ได้เช่น iota