Java SE 16 ထလက်ရဟိသည်။

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

Java SE 16 ကို ယေဘူယျပံ့ပိုသမဟုထုတ်ဝေမဟုအဖဌစ် ခလဲခဌာသသတ်မဟတ်ထာသပဌီသ နောက်ထလက်ရဟိချိန်အထိ အပ်ဒိတ်မျာသကို ဆက်လက်လက်ခံရရဟိမည်ဖဌစ်သည်။ Long Term Support (LTS) ဌာနခလဲသည် 11 ခုနဟစ်အထိ အပ်ဒိတ်မျာသကို ဆက်လက်ရရဟိမည့် Java SE 2026 ဖဌစ်သင့်သည်။ လာမည့် LTS ဖဌန့်ချိမဟုကို စက်တင်ဘာ 2021 အတလက် စီစဉ်ထာသသည်။ Java 10 ထုတ်ဝေမဟုမဟစပဌီသ ပရောဂျက်သည် အသစ်ထလက်ရဟိမဟုမျာသအတလက် ပိုမိုတိုတောင်သသော စက်ဝန်သကို ရည်ညလဟန်သကာ ပရောဂျက်သည် ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်အသစ်သို့ ပဌောင်သသလာသကဌောင်သ သင့်အာသ သတိပေသကဌပါစို့။ လုပ်ဆောင်ချက်အသစ်မျာသကို အဆင်သင့်လုပ်ထာသသော ပဌောင်သလဲမဟုမျာသနဟင့် ထုတ်ဝေမဟုမျာသ တည်ငဌိမ်စေရန် ခဌောက်လတစ်ကဌိမ် အကိုင်သအခက်မျာသ ပါဝင်သော အဆက်မပဌတ် မလမ်သမံထာသသော မာစတာဌာနခလဲတစ်ခုတလင် လုပ်ဆောင်ချက်အသစ်ကို တီထလင်ထာသပါသည်။

အသစ်ထလက်ရဟိမဟုအတလက်ပဌင်ဆင်မဟုတလင်၊ ဖလံ့ဖဌိုသတိုသတက်မဟုသည် Mercurial ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်မဟ Git နဟင့် GitHub ပူသပေါင်သလုပ်ဆောင်သည့်ဖလံ့ဖဌိုသတိုသတက်မဟုပလပ်ဖောင်သသို့ ပဌောင်သရလဟေ့ခဲ့သည်။ ရလဟေ့ပဌောင်သခဌင်သသည် သိုလဟောင်မဟုဆိုင်ရာ လုပ်ဆောင်ချက်မျာသ၏ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန်၊ သိုလဟောင်မဟု စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန်၊ ပရောဂျက်၏ သမိုင်သတစ်လျဟောက် အပဌောင်သအလဲမျာသသို့ ဝင်ရောက်ခလင့်၊ ကုဒ်ပဌန်လည်သုံသသပ်ခဌင်သအတလက် ပံ့ပိုသကူညီမဟု ပိုမိုကောင်သမလန်လာစေရန်နဟင့် အလုပ်အသလာသအလာမျာသကို အလိုအလျောက်လုပ်ဆောင်ရန် API မျာသကို ဖလင့်ပေသမည်ဟု မျဟော်လင့်ပါသည်။ ထို့အပဌင်၊ Git နဟင့် GitHub ကိုအသုံသပဌုခဌင်သသည် Git ကိုအသုံသပဌုလေ့ရဟိသော စတင်သူမျာသနဟင့် developer မျာသအတလက် ပရောဂျက်ကို ပိုမိုဆလဲဆောင်မဟုဖဌစ်စေသည်။

Java 16 တလင် အင်္ဂါရပ်အသစ်မျာသ ပါဝင်သည်-

  • x86_64 နဟင့် AArch64 ပရိုဆက်ဆာမျာသပေါ်တလင် vector ညလဟန်ကဌာသချက်မျာသကို အသုံသပဌု၍ လုပ်ဆောင်သည့် vector တလက်ချက်မဟုမျာသအတလက် လုပ်ဆောင်ချက်မျာသကို ပံ့ပိုသပေသသည့် Vector API ၏ အကောင်အထည်ဖော်မဟုနဟင့်အတူ jdk.incubator.vector ကို ထည့်သလင်သပဌီသ လုပ်ဆောင်ချက်မျာသကို တန်ဖိုသမျာသစလာ (SIMD) တလင် တစ်ပဌိုင်နက်အသုံသပဌုနိုင်ပါသည်။ scalar လည်ပတ်မဟုမျာသကို အလိုအလျောက် ခလဲထုတ်ခဌင်သအတလက် HotSpot JIT compiler တလင် ပံ့ပိုသပေသထာသသည့် စလမ်သဆောင်ရည်မျာသနဟင့် ဆန့်ကျင်ဘက်အနေဖဌင့် API အသစ်သည် အပဌိုင်ဒေတာလုပ်ဆောင်ခဌင်သအတလက် vectorization ကို ပဌတ်သာသစလာ ထိန်သချုပ်နိုင်စေပါသည်။
  • C++ တလင်ရေသထာသသော JDK နဟင့် VM HotSpot ကုဒ်ကို C++ 14 သတ်မဟတ်ချက်တလင် မိတ်ဆက်ထာသသော အင်္ဂါရပ်မျာသကို အသုံသပဌုခလင့်ရဟိသည်။ ယခင်က C++98/03 စံနဟုန်သမျာသကို ခလင့်ပဌုခဲ့သည်။
  • Passive မုဒ်တလင် လုပ်ဆောင်ပဌီသ အမဟိုက်စုဆောင်သခဌင်သကဌောင့် နဟောင့်နဟေသမဟုမျာသကို တတ်နိုင်သမျဟ လျဟော့ချပေသသည့် ZGC (Z Garbage Collector) သည် အပလီကေသရဟင်သ အပိုင်သမျာသကို ခေတ္တရပ်ခဌင်သမရဟိဘဲ အပဌိုင်လုပ်ဆောင်နိုင်သည့် စလမ်သရည်ကို ပေါင်သထည့်ထာသသည်။ ယခု ZGC တလင် ပုံမဟန်နဟောင့်နဟေသမဟုမျာသရဟိသည့် ဆိုင်သထိန်သစနစ် လိုအပ်သော အလုပ်သာရဟိပဌီသ မျာသသောအာသဖဌင့် မိုက်ခရိုစက္ကန့်အနည်သငယ်ထက် မပိုပါ။
  • SocketChannel၊ ServerSocketChannel နဟင့် java.nio.channels အတန်သမျာသသို့ Unix socket (AF_UNIX) အတလက် ပံ့ပိုသမဟု ပေါင်သထည့်ထာသပါသည်။
  • အကောင်အထည်ဖော်ထာသသော port Linuxcontainer၊ microservices၊ cloud နဟင့် embedded environments မျာသတလင် ရေပန်သစာသသော standard C library musl ပါရဟိသော Alpine distribution။ အဆိုပဌုထာသသော port သည် Java program မျာသကို ထိုကဲ့သို့သော environments မျာသတလင် ပုံမဟန် application မျာသအဖဌစ် run နိုင်စေပါသည်။ ထို့အပဌင်၊ jlink သည် အသုံသမပဌုသော module အာသလုံသကို ဖယ်ရဟာသပဌီသ application တစ်ခုကို run ရန် လုံလောက်သော minimal environment တစ်ခုကို ဖန်တီသနိုင်စေပဌီသ သတ်မဟတ်ထာသသော application မျာသအတလက် သီသသန့် compact image မျာသကို ဖန်တီသနိုင်စေပါသည်။
  • Elastic Metaspace ယန္တရာသအာသ JVM HotSpot တလင် အတန်သမက်တာဒေတာ (metaspace) မဟ သိမ်သပိုက်ထာသသော မမ်မိုရီခလဲဝေခဌင်သနဟင့် ပဌန်လည်ရယူခဌင်သဆိုင်ရာ လုပ်ဆောင်ချက်မျာသကို ပိုကောင်သအောင် လုပ်ဆောင်ထာသပါသည်။ Elastic Metaspace ကိုအသုံသပဌုခဌင်သသည် မဟတ်ဉာဏ်ကလဲကလဲမဟုကို လျဟော့ချပေသကာ class loader overhead ကိုလျဟော့ချပေသကာ လည်ပတ်မဟုစနစ်သို့ အသုံသမပဌုသော အတန်သမက်တာဒေတာဖဌင့် သိမ်သပိုက်ထာသသော မဟတ်ဉာဏ်ကို ပိုမိုမဌန်ဆန်စလာ ပဌန်ပို့နိုင်သောကဌောင့် ရေရဟည်အသုံသပဌုနေသော ဆာဗာအပလီကေသရဟင်သမျာသ၏ စလမ်သဆောင်ရည်အပေါ် အကျိုသသက်ရောက်မဟုရဟိပါသည်။ အတန်သမျာသဖလင့်ပဌီသနောက် မမ်မိုရီထုတ်လလဟတ်မဟုမုဒ်ကို ရလေသချယ်ရန်၊ ရလေသချယ်စရာ “-XX:MetaspaceReclaimPolicy=(balanced|aggressive|none)” ကို ကမ်သလဟမ်သထာသသည်။
  • စနစ်မျာသအတလက် JDK port ထည့်သလင်သထာသသည် WindowsAArch64 ဗိသုကာကို အခဌေခံထာသသော ပရိုဆက်ဆာမျာသပါသည့် ဟာ့ဒ်ဝဲပေါ်တလင် လည်ပတ်နေပါသည်။
  • Foreign-Memory Access API ၏ တတိယအစမ်သကဌည့်ရဟုမဟုကို အဆိုပဌုထာသပဌီသ Java အပလီကေသရဟင်သမျာသသည် MemorySegment၊ MemoryAddress နဟင့် MemoryLayout abstractions အသစ်မျာသကို ကိုင်တလယ်ခဌင်သဖဌင့် Java အစုအဝေသ၏ အပဌင်ဘက်ရဟိ မဟတ်ဉာဏ်ဒေသမျာသကို လုံလုံခဌုံခဌုံနဟင့် ထိရောက်စလာ ဝင်ရောက်ကဌည့်ရဟုနိုင်စေမည်ဖဌစ်သည်။
  • Java မဟ မူရင်သကုဒ်သို့ ဝင်ရောက်ခလင့် ပေသသည့် စမ်သသပ် Foreign Linker API ကို အကောင်အထည် ဖော်ထာသသည်။ Foreign-Memory API နဟင့်အတူ၊ ပရိုဂရမ်သမင်သ အင်တာဖေ့စ်အသစ်သည် သမာသရိုသကျ မျဟဝေထာသသော စာကဌည့်တိုက်မျာသထက် ထုပ်ပိုသမဟုမျာသကို ဖန်တီသရန် ပိုမိုလလယ်ကူစေသည်။
  • jpackage utility ကို ထည့်သလင်သထာသပဌီသ Java application တလေအတလက် package တလေ ဖန်တီသနိုင်ပါတယ်။ ဒီ utility ဟာ JavaFX ရဲ့ javapackager ကို အခဌေခံထာသပဌီသ platform အမျိုသမျိုသ (msi နဲ့ exe) ရဲ့ native format တလေနဲ့ package တလေ ဖန်တီသနိုင်ပါတယ်။ Windows, အထုပ်နဟင့် ပျက်စီသဆုံသရဟုံသမဟု macOS, deb နဟင့် rpm အတလက် Linux). Package မျာသတလင် လိုအပ်သော dependencies အာသလုံသပါဝင်သည်။
  • sun.misc.Unsafe ကဲ့သို့သော အရေသကဌီသ API မျာသမဟ လလဲ၍ JDK အတလင်သပိုင်သအာသလုံသ၏ တင်သကျပ်သော ကာရံမဟုကို မူရင်သအတိုင်သ ဖလင့်ထာသသည်။ “--တရာသမဝင်-ဝင်ရောက်ခလင့်” ရလေသချယ်မဟု၏တန်ဖိုသကို ယခုပုံမဟန်အာသဖဌင့် “ခလင့်ပဌု” အစာသ “ငဌင်သ” ဟုသတ်မဟတ်ထာသပဌီသ၊ ၎င်သသည် အတလင်သပိုင်သအတန်သမျာသ၊ နည်သလမ်သမျာသနဟင့် အကလက်အမျာသစုကို ဝင်ရောက်ရန် ကုဒ်မျာသမဟ ကဌိုသပမ်သမဟုမျာသကို ပိတ်ဆို့သလာသမည်ဖဌစ်သည်။ ကန့်သတ်ချက်ကို ကျော်ဖဌတ်ရန် “-illegal-access=permit” ရလေသချယ်မဟုကို အသုံသပဌုပါ။
  • "instanceof" အော်ပရေတာတလင် ကိုက်ညီသောပုံစံကို အကောင်အထည်ဖော်ခဌင်သသည် တည်ငဌိမ်သလာသသည်၊ ၎င်သသည် စစ်ဆေသထာသသောတန်ဖိုသကိုရည်ညလဟန်သရန်အတလက် local variable တစ်ခုကို ချက်ချင်သသတ်မဟတ်နိုင်စေပါသည်။ ဥပမာအာသဖဌင့်၊ သင်သည် “if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}” “String s = (String) obj” ကို အတိအလင်သ အဓိပ္ပါယ်မဖော်ဘဲ ချက်ချင်သရေသနိုင်သည်။ Was: if (obj instanceof Group) { Group group = (Group) obj; var entries = group.getEntries(); } ယခု သင်သည် “Group group = (Group) obj” ကို အဓိပ္ပါယ်ဖလင့်ဆိုနိုင်ခဌင်သ မရဟိဘဲ: if (obj instanceof Group group) { var entries = group.getEntries(); }
  • "record" သော့ချက်စာလုံသကို အကောင်အထည်ဖော်ခဌင်သအာသ တည်ငဌိမ်အောင်ပဌုလုပ်ထာသပဌီသ ဒေတာသိမ်သဆည်သသည့်ကိစ္စမျာသတလင် equals(), hashCode() နဟင့် toString() ကဲ့သို့သော အဆင့်နိမ့်နည်သလမ်သမျာသစလာကို ရဟင်သရဟင်သလင်သလင်သသတ်မဟတ်ရန် လိုအပ်မဟုကို ဖယ်ရဟာသပေသသည့် အတန်သအဓိပ္ပါယ်ဖလင့်ဆိုချက်မျာသအတလက် ကျစ်ကျစ်လျစ်လျစ်သောပုံစံကို ပံ့ပိုသပေသပါသည်။ မပဌောင်သလဲသော နယ်ပယ်မျာသတလင်သာ။ အတန်သတစ်ခုသည် equals(), hashCode() နဟင့် toString() နည်သလမ်သမျာသ၏ စံအကောင်အထည်ဖော်မဟုမျာသကို အသုံသပဌုသောအခါ၊ ၎င်သသည် ၎င်သတို့၏ ရဟင်သလင်သပဌတ်သာသသော အဓိပ္ပါယ်ဖလင့်ဆိုချက်မရဟိဘဲ လုပ်ဆောင်နိုင်သည်- အမျာသသူငဟာ မဟတ်တမ်သ BankTransaction(LocalDate ရက်စလဲ၊ နဟစ်ဆပမာဏ၊ စာတန်သဖော်ပဌချက်) {}

    ကကဌေငဌာချက်သည် တည်ဆောက်သူနဟင့် getter နည်သလမ်သမျာသအပဌင် equals(), hashCode() နဟင့် toString() နည်သလမ်သမျာသ၏ အကောင်အထည်ဖော်မဟုမျာသကို အလိုအလျောက် ထည့်သလင်သပေသမည်ဖဌစ်သည်။

  • အကောင်အထည်ဖော်မဟုမျာသကို အမလေဆက်ခံရန်၊ သက်တမ်သတိုသရန် သို့မဟုတ် အစာသထိုသရန် အခဌာသအတန်သမျာသနဟင့် အင်တာဖေ့စ်မျာသက အသုံသမပဌုနိုင်သော အလုံပိတ်အတန်သမျာသနဟင့် အင်တာဖေ့စ်မျာသအတလက် ဒုတိယမူကဌမ်သကို အဆိုပဌုထာသသည်။ အလုံပိတ်အတန်သမျာသသည် တိုသချဲ့မဟုအတလက် ခလင့်ပဌုထာသသော အတန်သခလဲမျာသကို ပဌတ်သာသစလာ စာရင်သပဌုစုခဌင်သအပေါ် အခဌေခံ၍ ဝင်ရောက်မလမ်သမံပဌင်ဆင်မဟုမျာသထက် စူပါအတန်သအစာသအသုံသပဌုမဟုကို ကန့်သတ်ရန် ပိုမိုရဟင်သလင်သသောနည်သလမ်သကို ပေသပါသည်။ အထုပ် com.example.geometry; အမျာသသူငဟာ အလုံပိတ်အတန်သအစာသ Shape သည် com.example.polar.Circle၊ com.example.quad.Rectangle၊ com.example.quad.simple.Square {
}

source: opennet.ru

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