ถือเป็นเรื่องแปลกใหม่ในวงการ Java ไม่น้อย เมื่อ Oracle ออก Java Enterprise Performance Pack ที่นำเอา ฟีเจอร์บางอย่างของ Java 17 LTS รุ่นใหม่ (ออกปี 2021) พอร์ตย้อนกลับไปให้ Java 8 (ออกปี 2014 ห่างกัน 7 ปี) เพื่อให้องค์กรที่ยังย้ายจาก Java 8 ไม่ได้ (น่าจะมีเยอะเลย) สามารถรันงานให้มีประสิทธิภาพมากขึ้นได้
การเปลี่ยนแปลงใน Enterprise Performance Pack อยู่แค่ในระดับรันไทม์เท่านั้น ได้แก่ การปรับมาใช้ G1/Z Garbage Collector ที่มีประสิทธิภาพมากขึ้น (ค่าดีฟอลต์คือ G1), รองรับ Compact Strings ช่วยลดหน่วยความจำลง, เปลี่ยนมาใช้ Unified JVM Logging
Oracle บอกว่า Enterprise Performance Pack สามารถ drop-in คือนำมาใช้แทน Java 8 ตัวเดิมได้เลย เข้ากับแอพพลิเคชันเดิมที่รันอยู่แล้วได้ จากสถิติของ Oracle เองพบว่าช่วยเพิ่มประสิทธิภาพได้สูงสุด 40% ในกรณีที่งานโหลดหนักๆ แต่ถ้าเป็นงานทั่วๆ ไปก็ช่วยให้ดีขึ้น 5%
Enterprise Performance Pack รองรับเฉพาะระบบปฏิบัติการลินุกซ์ 64 บิท ทั้งสถาปัตยกรรม x86 และ Arm
ของดีๆ แบบนี้ย่อมต้องฟรี สำหรับคนที่จ่าย Java SE subscription และ Oracle Cloud Infrastructure อยู่แล้ว
Comments
นี่พึ่งขุดเอา Server เก่า Cisco UCS C220 มาใช้งานครับ
CIMC ต้องใช้ Java 6 + Flash แม่เจ้า ถึงกับต้องหา Windows 7 มาลงบน VM ชั่วคราวเลยครับ เพื่อที่จะอัพเกรด CIMC ให้รองรับ Java บน Browser ปัจจุบัน
ระบบPOS ยังใช้ java6อยู่เลยและเปิดด้วย IE เท่านั้น
เจอแต่แบบบังคับใช้ jvm17 แต่ยังใช้แต่ feature java1.5
ไม่ยอมใช้ record class
ไม่ยอมใช้ var บอกอ่านยาก
Stream api นี่ไม่ต้องสืบ...
คือใช้ jvm8 รันยังได้ แต่จะเอา 17
stream api นี่ดีมาก ถ้าไม่ยอมให้ใช้นี่แบบว่าเขียน C# ไม่มี LINQ
เค้าไม่ห้าม stream api ครับ แต่ไม่มีใครยอมใช้กัน บอก for loop ก็ทำงานได้เหมือนกัน...
ผมไม่ค่อยรู้เรื่อง java หรอกนะ
แต่ถ้า for loop ใช้ได้เหมือนกัน ผมก็ใช้ for loop นะ
55 แซวๆนะครับ
ไปค้นดู พบว่าเป็นแบบเดียวๆ กับ ReactiveX
ผมแทบจะอยากใช้ RxJS แทนทุก for loop แล้วนะครับ 😂
ถ้างานเน้น performance ต้องหลีกเลียง linq เพราะ overhead สูงมากๆ