Java SE 27 နှင့် OpenJDK 27 တို့ကို ထုတ်ပြန်ခဲ့သည်။

ခြောက်လကြာ တီထွင်ပြီးနောက် Oracle သည် Java SE 27 (Java Platform, Standard Edition 27) ကို ထုတ်ပြန်ခဲ့ပြီး၊ ၎င်းသည် open source OpenJDK ပရောဂျက်ကို ၎င်း၏ reference implementation အဖြစ် အသုံးပြုသည်။ အချို့သော အသုံးမဝင်တော့သော feature များကို ဖယ်ရှားခြင်းမှလွဲ၍ Java SE 27 သည် Java platform ၏ ယခင်ထုတ်ဝေမှုများနှင့် backward compatibility ကို ထိန်းသိမ်းထားသည် - ယခင်ကရေးသားခဲ့သော Java ပရောဂျက်အများစုသည် ဗားရှင်းအသစ်အောက်တွင် လုပ်ဆောင်သောအခါ မပြောင်းလဲဘဲ လုပ်ဆောင်မည်ဖြစ်သည်။ Java SE 27 (JDK၊ JRE နှင့် Server JRE) ၏ install လုပ်ရန် အသင့်ဖြစ်သော build များကို ပြင်ဆင်ထားသည်။ Linux (x86_64၊ AArch64)၊ Windows (x86_64) နှင့် macOS (x86_64, AArch64). OpenJDK ပရောဂျက်မှ တီထွင်ထားသော Java SE 27 reference implementation သည် GNU ClassPath Exception ပါရှိသော GPLv2 လိုင်စင်အောက်တွင် အပြည့်အဝ open source ဖြစ်ပြီး စီးပွားဖြစ်ထုတ်ကုန်များနှင့် dynamic linking လုပ်ခွင့်ပြုသည်။

Java SE 27 ကို ပုံမှန်ပံ့ပိုးမှုထုတ်ဝေမှုအဖြစ် အမျိုးအစားခွဲခြားထားပြီး နောက်ထုတ်ဝေမှုအထိ အပ်ဒိတ်များကို ထုတ်ပြန်ပေးပါသည်။ ရေရှည်ပံ့ပိုးမှု (LTS) ဌာနခွဲမှာ Java SE 25၊ Java SE 21 သို့မဟုတ် Java SE 17 ဖြစ်သင့်ပြီး အပ်ဒိတ်များကို ၂၀၃၃၊ ၂၀၃၁ နှင့် ၂၀၂၉ အထိ အသီးသီးထုတ်ပြန်ပေးသင့်သည် (ယေဘုယျအားဖြင့် ၂၀၃၀၊ ၂၀၂၈ နှင့် ၂၀၂၆ စက်တင်ဘာလအထိ ရရှိနိုင်ပါသည်)။ Java SE 8 LTS ဌာနခွဲအတွက် တိုးချဲ့ပံ့ပိုးမှုသည် ၂၀၃၀ အထိနှင့် Java SE 11 အတွက် ၂၀၃၂ အထိ ဆက်လက်ရှိနေမည်ဖြစ်သည်။

Java SE 27 (1, 2, 3, 4) မှာ ပြောင်းလဲမှုတွေ ပါဝင်ပါတယ်-

  • မူရင်းအားဖြင့်၊ ပတ်ဝန်းကျင်အားလုံးတွင် ယခင်က server စနစ်များအတွက် အသုံးပြုခဲ့သော G1 (Garbage-First) garbage collector ကို အသုံးပြုပါသည်။ G1 ကို memory capacities မြင့်မားသော multiprocessor စနစ်များတွင် အသုံးပြုရန်နှင့် ခန့်မှန်းနိုင်သော latency နှင့် throughput မြင့်မားခြင်းကို ဟန်ချက်ညီစေရန် အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသည်။ လည်ပတ်နေစဉ်အတွင်း G1 သည် memory ကို ဒေသငယ်များစွာအဖြစ် ပိုင်းခြားပြီး အသုံးမပြုသော object ပိုများပြီး ဝင်ရောက်ကြည့်ရှုမှုနည်းသော data များရှိသော ဒေသများကို ဦးစားပေးသည်။
  • HotSpot JVM သည် default အနေဖြင့် compact object headers များကို အသုံးပြုသည်။ 64-bit စနစ်များတွင် header အရွယ်အစားကို 96 bits မှ 64 bits သို့ လျှော့ချထားပြီး memory သုံးစွဲမှုကို လျှော့ချပေးပြီး processor cache ကို data ထိမိနိုင်ခြေကို တိုးစေသည်။ SPECjbb2015 benchmarks တွင် memory သုံးစွဲမှု 22% လျော့ကျပြီး CPU load 8% လျော့ကျကာ garbage collection operations အရေအတွက် 15% လျော့ကျသွားသည်။ JSON parser အတွက် test run time များကို 10% လျှော့ချထားသည်။
  • TLS 1.3 အကောင်အထည်ဖော်မှုသည် quantum-resistant ML-KEM (CRYSTALS-Kyber) algorithm နှင့် classical ECDHE elliptic curve algorithms တို့ကို ပေါင်းစပ်ထားသော hybrid key agreement schemes များအတွက် support ထပ်ထည့်သည်- X25519MLKEM768 (ECDHE with the X25519 curve + ML-KEM-768)၊ SecP256r1MLKEM76 (ECDHE with the secp256r1 curve + ML-KEM-768) နှင့် SecP384r1MLKEM1024 (ECDHE with the secp384r1 curve + ML-KEM-1024)။ javax.net API တွင်။SSL ဤပုံစံများကို မူရင်းအားဖြင့် ဖွင့်ထားပြီး အသုံးပြုရန် မည်သည့်အပလီကေးရှင်းပြောင်းလဲမှုမျှ မလိုအပ်ပါ။
  • စွမ်းဆောင်ရည် စောင့်ကြည့်ခြင်း၊ ပရိုဖိုင်ပြုလုပ်ခြင်းနှင့် ရောဂါရှာဖွေခြင်းအတွက် အသုံးပြုသည့် ကိရိယာတစ်ခုဖြစ်သည့် JDK Flight Recorder (JFR) သည် ယခုအခါ command-line arguments များ၊ environment variables များ၏ ကနဦးတန်ဖိုးများနှင့် system properties များကို သိမ်းဆည်းထားသော ရောဂါရှာဖွေမှု အချက်အလက်များတွင် သန့်ရှင်းရေးလုပ်ခြင်းကို ပံ့ပိုးပေးပါသည်။ ဤပြောင်းလဲမှုသည် profiled process မှ လုပ်ဆောင်သော အရေးကြီးဒေတာများဖြစ်သည့် ခွင့်ပြုချက်တိုကင်များနှင့် environment variables များမှတစ်ဆင့် ပေးပို့သော API access keys များ ယိုစိမ့်မှုကို ကာကွယ်ပေးပါသည်။
  • Lazy Constants API ရဲ့ တတိယမြောက် preview ကို မပြောင်းလဲနိုင်တဲ့ဒေတာတွေပါတဲ့ object တွေနဲ့အလုပ်လုပ်ဖို့နဲ့ JVM မှာ constant တွေအဖြစ်သတ်မှတ်ဖို့အတွက် အကောင်အထည်ဖော်ထားပါတယ်။ "final" keyword ပါတဲ့ field တွေအတွက် အလားတူ performance optimization တွေကို object တွေမှာ အသုံးပြုပါတယ်။ "final" နဲ့မတူဘဲ၊ API အသစ်က constant values ​​တွေဖန်တီးတာကို သူတို့ရဲ့ initialization ကနေ ခွဲထုတ်ပြီး value တစ်ခုကို တစ်ကြိမ်ပဲ initialize လုပ်နိုင်တယ်လို့ အာမခံပါတယ်၊ program startup time ကို လျှော့ချပေးပြီး၊ အရင်က JDK-internal code မှာသာအသုံးပြုခဲ့တဲ့ constant-folding optimization တွေကို user code မှာအသုံးပြုနိုင်အောင် လုပ်ဆောင်ပေးပါတယ်။ class Application { // Previously: // static final UserService USERS = new UserService(); // Now: static final StableValue USERS = StableValue.of(); public static UserService users() { USERS.orElseSet(UserService::new); ကို return } }
  • pattern matching engine သည် primitive type များ (int, byte, char နှင့် အခြား non-object base type များ) ကို pattern အမျိုးမျိုးတွင်၊ instanceof operator နှင့် switch block များတွင် အသုံးပြုနိုင်စွမ်း၏ ပဉ္စမမြောက်မူကြမ်းကို မိတ်ဆက်ပေးသည်။ switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b … }
  • မတူညီသော thread များပေါ်တွင် လည်ပတ်နေသော အလုပ်များစွာကို တစ်ခုတည်းသော unit အဖြစ် သဘောထားခြင်းဖြင့် multithreaded application များ ဖွံ့ဖြိုးတိုးတက်မှုကို ရိုးရှင်းစေသည့် Structured Concurrency API ၏ ခုနစ်ခုမြောက်မူကြမ်းကို စမ်းသပ်ရန်အတွက် ထုတ်ပြန်လိုက်ပါပြီ။
  • Vector API ၏ ဆယ့်နှစ်ကြိမ်မြောက် စမ်းသပ်အကောင်အထည်ဖော်မှုကို အကောင်အထည်ဖော်ပြီးပါပြီ။ ဤ API သည် x86_64 နှင့် AArch64 processor vector ညွှန်ကြားချက်များကို အသုံးပြု၍ လုပ်ဆောင်သော vector တွက်ချက်မှုများအတွက် လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးပြီး multiple values ​​​​(SIMD) တွင် တစ်ပြိုင်နက်တည်း လုပ်ဆောင်မှုများကို ခွင့်ပြုသည်။ HotSpot JIT compiler ၏ scalar လုပ်ဆောင်ချက်များ၏ auto-vectorization နှင့်မတူဘဲ၊ API အသစ်သည် parallel data processing အတွက် vectorization ကို ရှင်းလင်းစွာ ထိန်းချုပ်နိုင်စေပါသည်။
  • PEM (Pivacy-Enhanced Mail) ဖော်မတ်ကို အသုံးပြု၍ cryptographic keys၊ certificates နှင့် certificate revocation list များပါ၀င်သော objects များကို encode လုပ်ရန်နှင့် decode လုပ်ရန်အတွက် API ၏ တတိယမူကြမ်းကို ယခုရရှိနိုင်ပါပြီ။

ထို့အပြင်၊ ဂရပ်ဖစ်အသုံးပြုသူမျက်နှာပြင်အပလီကေးရှင်းများဖန်တီးရန်အတွက် JavaFX 27 ပလက်ဖောင်းအတွက် အပ်ဒိတ်တစ်ခုထုတ်ပြန်လိုက်ကြောင်း ကြေညာရခြင်းအတွက် ဝမ်းမြောက်မိပါသည်။ JavaScript (Node.js)၊ Python၊ Ruby၊ R၊ မည်သည့် JVM ဘာသာစကား (Java၊ Scala၊ Clojure၊ Kotlin) နှင့် LLVM bitcode ကိုထုတ်လုပ်နိုင်သည့်ဘာသာစကားများ (C၊ C++၊ Rust) တို့တွင် အပလီကေးရှင်းများကို ပံ့ပိုးပေးသည့် GraalVM 27 universal virtual machine ထုတ်ပြန်မှုကိုလည်း လာမည့်နာရီအနည်းငယ်အတွင်း ထုတ်ပြန်မည်ဟု မျှော်လင့်ရပါသည်။

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster