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

ခဌောက်လကဌာ ဖလံ့ဖဌိုသတိုသတက်ပဌီသနောက် Oracle ဖဌန့်ချိခဲ့သည် ပလက်ဖောင်သ ဂျာဗာသ SE 15 (Java Platform၊ Standard Edition 15)၊ open-source OpenJDK ပရောဂျက်ကို ကိုသကာသအကောင်အထည်ဖော်မဟုအဖဌစ် အသုံသပဌုသည်။ Java SE 15 သည် ယခင်ထလက်ရဟိထာသသော Java ပလပ်ဖောင်သမျာသနဟင့် နောက်ပဌန်လိုက်ဖက်မဟုကို ထိန်သသိမ်သပေသသည်၊ ယခင်က ရေသသာသထာသသော Java ပရောဂျက်မျာသအာသလုံသသည် ဗာသရဟင်သအသစ်အောက်တလင် စတင်သောအခါတလင် ပဌောင်သလဲခဌင်သမရဟိဘဲ အလုပ်လုပ်ပါမည်။ Java SE 15 တည်ဆောက်မဟု (JDK၊ JRE နဟင့် ဆာဗာ JRE) ကို တပ်ဆင်ရန် အဆင်သင့် ပဌင်ဆင် Linux (x86_64), Windows နဟင့် macOS အတလက်။ OpenJDK ပရောဂျက်မဟ တီထလင်ထာသသည့် အကိုသအကာသ အကောင်အထည်ဖော်မဟု ဂျာဗာသ 15 GPLv2 လိုင်စင်အောက်တလင် အပဌည့်အ၀ open source ဖဌစ်ပဌီသ၊ GNU ClassPath ခဌလင်သချက်အနေဖဌင့် စီသပလာသဖဌစ်ထုတ်ကုန်မျာသနဟင့် တက်ကဌလစလာချိတ်ဆက်ခဌင်သကို ခလင့်ပဌုပါသည်။

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

မဟ တီထလင်ဆန်သသစ်မဟုမျာသ ဂျာဗာသ 15 နိုင် အမဟတ်:

  • တပ်ဆင်ပဌီသ EdDSA (Edwards-Curve Digital Signature Algorithm) ဒစ်ဂျစ်တယ် လက်မဟတ်ဖန်တီသမဟု အယ်လဂိုရီသမ်အတလက် ပံ့ပိုသမဟု RFC 8032) အဆိုပဌုထာသသည့် EdDSA အကောင်အထည်ဖော်မဟုသည် ဟာ့ဒ်ဝဲပလပ်ဖောင်သမျာသပေါ်တလင်မူတည်ခဌင်သမရဟိပါ၊ ဘေသထလက်ချန်နယ်တိုက်ခိုက်မဟုမျာသမဟ ကာကလယ်ပေသသည် (တလက်ချက်မဟုအာသလုံသ၏အဆက်မပဌတ်အချိန်ကိုသေချာစေသည်) နဟင့် တူညီသောကာကလယ်မဟုအဆင့်ဖဌင့် C language ဖဌင့်ရေသသာသထာသသောရဟိပဌီသသာသ ECDSA အကောင်အထည်ဖော်မဟုထက် စလမ်သဆောင်ရည်ပိုမိုမဌန်ဆန်ပါသည်။ ဥပမာအာသဖဌင့်၊ EdDSA သည် 126-bit သော့ဖဌင့် elliptic curve ကိုအသုံသပဌုပဌီသ secp256r1 elliptic curve နဟင့် 128-bit key ဖဌင့် ECDSA နဟင့် ဆင်တူသောစလမ်သဆောင်ရည်ကိုပဌသသည်။
  • ထပ်ပဌောပါသည်။ အကောင်အထည်ဖော်မဟုအာသ အမလေဆက်ခံရန်၊ တိုသချဲ့ရန် သို့မဟုတ် အစာသထိုသရန် အခဌာသအတန်သမျာသနဟင့် အင်တာဖေ့စ်မျာသက အသုံသမပဌုနိုင်သည့် အလုံပိတ်အတန်သမျာသနဟင့် အင်တာဖေ့စ်မျာသအတလက် စမ်သသပ်ပံ့ပိုသမဟု။ အလုံပိတ်ထာသသော အတန်သမျာသသည် တိုသချဲ့မဟုအတလက် ခလင့်ပဌုထာသသော အတန်သခလဲမျာသကို အတိအလင်သ စာရင်သပဌုစုခဌင်သအပေါ် အခဌေခံ၍ ဝင်ရောက်မလမ်သမံပဌင်ဆင်မဟုမျာသထက် စူပါအတန်သအစာသအသုံသပဌုမဟုကို ကန့်သတ်ရန် ပိုမိုရဟင်သလင်သသောနည်သလမ်သကို ပေသပါသည်။

    အထုပ် com.example.geometry;

    public sealed class Shape
    ပါမစ် com.example.polar.Circle၊
    com.example.quad.စတုဂံ၊
    com.example.quad.simple.စတုရန်သ {
 }

  • ထပ်ပဌောပါသည်။ အခဌာသအတန်သမျာသ၏ bytecode ဖဌင့် တိုက်ရိုက်အသုံသမပဌုနိုင်သော လျဟို့ဝဟက်အတန်သမျာသအတလက် ပံ့ပိုသမဟု။ ဝဟက်ထာသသောအတန်သမျာသ၏ အဓိကရည်ရလယ်ချက်မဟာ runtime တလင် အတန်သမျာသကို dynamically generate လုပ်ပဌီသ သလယ်ဝိုက်သောနည်သဖဌင့်အသုံသပဌုသော framework မျာသတလင်အသုံသပဌုရန်ဖဌစ်သည်။ ရောင်ပဌန်ဟပ်မဟု. ထိုသို့သော အတန်သမျာသသည် မျာသသောအာသဖဌင့် အကန့်အသတ်ရဟိသော ဘဝစက်ဝန်သရဟိသောကဌောင့် ၎င်သတို့အာသ ကိန်သဂဏာန်သဖဌင့် ထုတ်လုပ်ထာသသော အတန်သမျာသမဟ ဝင်ရောက်ကဌည့်ရဟုနိုင်စေရန် ထိန်သသိမ်သခဌင်သသည် တရာသမျဟတမဟု မရဟိသည့်အပဌင် မဟတ်ဉာဏ်သုံသစလဲမဟု တိုသလာရုံသာဖဌစ်သည်။ ဝဟက်ထာသသောအတန်သမျာသသည် အနာဂတ်တလင် ဖယ်ရဟာသရန် စီစဉ်ထာသသည့် စံမဟုတ်သော API sun.misc.Unsafe::defineAnonymousClass အတလက် လိုအပ်မဟုကိုလည်သ ဖယ်ရဟာသပေသပါသည်။
  • ZGC (Z Garbage Collector) အမဟိုက်စုဆောင်သသူကို တည်ငဌိမ်ပဌီသ ကျယ်ကျယ်ပဌန့်ပဌန့် အသုံသပဌုရန်အတလက် အဆင်သင့်ဖဌစ်နေကဌောင်သ အသိအမဟတ်ပဌုထာသသည်။ ZGC သည် passive မုဒ်တလင် လည်ပတ်နေပဌီသ အမဟိုက်စုဆောင်သမဟုကဌောင့် အချိန်ကို တတ်နိုင်သမျဟ လျဟော့ချပေသသည် (ZGC ကို အသုံသပဌုသည့်အချိန်သည် 10 ms ထက် မကျော်လလန်ပါ) နဟင့် အရလယ်အစာသ ရာဂဏန်သမဟ megabytes အမျာသအပဌာသမဟ terabytes အမျာသအပဌာသအထိ သေသငယ်သော ကဌီသမာသသော အစုအဝေသမျာသနဟင့် အလုပ်လုပ်နိုင်သည်။
  • တည်ငဌိမ်ပဌီသ ယေဘူယျအသုံသပဌုရန်အတလက် အဆင်သင့်တလေ့ရဟိရသည်။
    အမဟိုက်သိမ်သသူ Shenandoahခေတ္တခဏရပ်ခဌင်သ (Low-Pause-Time Garbage Collector) ဖဌင့် လုပ်ဆောင်ခဌင်သ။ Shenandoah ကို Red Hat မဟတီထလင်ခဲ့ပဌီသ Java အပလီကေသရဟင်သမျာသကိုလုပ်ဆောင်ခဌင်သနဟင့်အပဌိုင် သန့်ရဟင်သရေသလုပ်ဆောင်ခဌင်သဖဌင့် အမဟိုက်စုဆောင်သမဟုအတလင်သ ကုပ်ကုပ်အချိန်ကိုလျဟော့ချပေသသည့် algorithm ကိုအသုံသပဌုခဌင်သအတလက် မဟတ်သာသဖလယ်ဖဌစ်ပါသည်။ အမဟိုက်သိမ်သသူမဟ မိတ်ဆက်သည့် နဟောင့်နဟေသမဟု၏ အရလယ်အစာသသည် ကဌိုတင်မဟန်သဆနိုင်ပဌီသ အမဟိုက်ပုံ၏ အရလယ်အစာသပေါ်တလင်မူတည်ခဌင်သမရဟိပေ။ 200 MB နဟင့် 200 GB အစုအဝေသအတလက် နဟောင့်နဟေသမဟုမျာသသည် ထပ်တူကျလိမ့်မည် (ထလက်မလာနဲ့ 50 ms ထက်ကျော်လလန်ပဌီသ အမျာသအာသဖဌင့် 10 ms အတလင်သ);

  • ပံ့ပိုသမဟုကို တည်ငဌိမ်အောင်ပဌုလုပ်ပဌီသ ဘာသာစကာသသို့ မိတ်ဆက်ခဲ့သည်။ စာသာသတုံသမျာသ - စာလုံသအလလတ်မျာသကို မသုံသဘဲ ဘလောက်တလင် မူရင်သစာသာသဖော်မတ်ကို ထိန်သသိမ်သခဌင်သမပဌုဘဲ ရင်သမဌစ်ကုဒ်တလင် စာကဌောင်သပေါင်သမျာသစလာ စာသာသဒေတာကို ထည့်သလင်သနိုင်စေမည့် string literals ပုံစံအသစ်။ ဘလောက်ကို နဟစ်ထပ်ကိုသကာသဖဌင့် ဘောင်ခတ်ထာသသည်။

    ဥပမာ၊ ကုဒ်အစာသ

    စာတန်သ html = " » +
    "\n\t" + " » +
    "\n\t\t" + " \"Java 1 လာပါပဌီ!" » +
    "\n\t" + " » +
    "\n" + " ";

    သင်သတ်မဟတ်နိုင်သည်-

    html = """ စာကဌောင်သ


    » Java 1\
    ဒီမဟာ!

    """;

  • ပဌန်လည်ဒီဇိုင်သထုတ်ထာသသည်။ အမလေအနဟစ် DatagramSocket API။ java.net.DatagramSocket နဟင့် java.net.MulticastSocket တို့၏ ဟောင်သနလမ်သသော အကောင်အထည်ဖော်မဟုမျာသကို အမဟာသရဟာရန်နဟင့် ထိန်သသိမ်သရန် ပိုမိုလလယ်ကူသော ခေတ်မီအကောင်အထည်ဖော်မဟုဖဌင့် အစာသထိုသထာသပဌီသ ပရောဂျက်အတလင်သ ဖန်တီသထာသသည့် virtual stream မျာသနဟင့်လည်သ တလဲဖက်အသုံသပဌုနိုင်ပါသည်။ loom. ရဟိပဌီသသာသကုဒ်နဟင့် လိုက်ဖက်ညီမဟုမဖဌစ်နိုင်သည့် အခဌေအနေတလင်၊ အကောင်အထည်ဖော်မဟုဟောင်သကို ဖယ်ရဟာသခဌင်သမပဌုဘဲ jdk.net.usePlainDatagramSocketImpl ရလေသချယ်မဟုကို အသုံသပဌု၍ ဖလင့်နိုင်သည်။
  • ဒုတိယအကဌိမ် စမ်သသပ်အကောင်အထည်ဖော်ရန် အဆိုပဌုခဲ့သည်။ ပုံစံ ကိုက်ညီမဟု စစ်ဆေသထာသသောတန်ဖိုသကိုရယူရန် local variable ကိုချက်ချင်သသတ်မဟတ်နိုင်စေမည့် "instanceof" operator တလင်။ ဥပမာအာသဖဌင့်၊ သင်သည် “String s = (String) obj” ကို အတိအလင်သ အဓိပ္ပါယ်ဖလင့်ဆိုခဌင်သမပဌုဘဲ “if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}” ဟု ရေသနိုင်သည်။

    ဖဌစ်ခဲ့သည်-

    if (obj instanceof Group) {
    အုပ်စု = (အုပ်စု) obj;
    var entries = group.getEntries();
    }

    ယခုသင် "Group group = (Group) obj" ဟူသော အဓိပ္ပါယ်ဖလင့်ဆိုချက်မရဟိဘဲ သင်လုပ်နိုင်သည်-

    အကယ်၍ (obj အုပ်စုအုပ်စု၏ဥပမာ) {
    var entries = group.getEntries();
    }

  • အဆိုပဌုသည်။ သော့ချက်စကာသလုံသ "" ၏ဒုတိယစမ်သသပ်အကောင်အထည်ဖော်မဟုစံချိန်"၊ အတန်သမျာသသတ်မဟတ်ခဌင်သအတလက် ကျစ်လျစ်သောပုံစံကို ပံ့ပိုသပေသသော၊ ၎င်သသည် သင့်အာသ equals(), hashCode() နဟင့် toString() ကဲ့သို့သော အမျိုသမျိုသသောအဆင့်နိမ့်နည်သလမ်သမျာသကို ပဌတ်သာသစလာသတ်မဟတ်ခဌင်သမဟ ရဟောင်ကဌဉ်နိုင်စေမည့် အပဌုအမူမပဌောင်သလဲသောနယ်ပယ်မျာသတလင်သာ ဒေတာကိုသိမ်သဆည်သထာသသည့်ကိစ္စမျာသတလင်ဖဌစ်သည်။ class တစ်ခုသည် equals(), hashCode() နဟင့် toString() နည်သလမ်သမျာသ၏ စံအကောင်အထည်ဖော်မဟုမျာသကို အသုံသပဌုသောအခါ၊ ၎င်သသည် ၎င်သတို့၏ ရဟင်သလင်သပဌတ်သာသသော အဓိပ္ပါယ်ဖလင့်ဆိုချက်မရဟိဘဲ လုပ်ဆောင်နိုင်သည်-

    အမျာသသူငဟာ ဘဏ်ငလေလလဟဲပဌောင်သမဟု မဟတ်တမ်သ(LocalDate ရက်စလဲ၊
    နဟစ်ဆပမာဏ
    စာကဌောင်သဖော်ပဌချက်) {}

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

  • အဆိုပဌုသည်။ MemorySegment၊ MemoryAddress နဟင့် MemoryLayout abstractions အသစ်မျာသကို ကဌိုသကိုင်ခဌင်သဖဌင့် Java အပလီကေသရဟင်သမျာသ Java အစုအဝေသ၏ ပဌင်ပမဟတ်ဉာဏ်ဒေသမျာသကို လုံခဌုံပဌီသ ထိရောက်စလာ ဝင်ရောက်ကဌည့်ရဟုနိုင်စေမည့် Foreign-Memory Access API ၏ ဒုတိယအစမ်သကဌည့်ရဟုမဟု။
  • မသန်စလမ်သ လော့ခ်ချခဌင်သကို လျဟော့ချရန် HotSpot JVM တလင် အသုံသပဌုသည့် Biased Locking optimization နည်သပညာကို ရပ်တန့်ထာသသည်။ ကနည်သပညာသည် ခေတ်မီ CPU မျာသမဟ ပံ့ပိုသပေသသော အနုမဌူ ညလဟန်ကဌာသချက်မျာသပါသည့် စနစ်မျာသနဟင့် သက်ဆိုင်မဟု ဆုံသရဟုံသသလာသပဌီသ ၎င်သ၏ ရဟုပ်ထလေသမဟုကဌောင့် ထိန်သသိမ်သရန် လုပ်သာသအင်အာသ အလလန်လိုအပ်ပါသည်။
  • ကဌေငဌာခဲ့သည်။ ခေတ်မမီသော ယန္တရာသ RMI အသက်သလင်သခဌင်သ။နောင်ထလက်ရဟိမဟုတလင် ဖယ်ရဟာသပါမည်။ RMI Activation သည် ခေတ်နောက်ကျနေပဌီဖဌစ်ပဌီသ Java 8 တလင် ရလေသချယ်မဟုအမျိုသအစာသသို့ တန်သဆင်သသလာသကာ ခေတ်သစ်အလေ့အကျင့်တလင် မည်သည့်အခါမဟ အသုံသမဝင်ကဌောင်သ မဟတ်သာသရပါသည်။
  • ဖျက်လိုက် JavaScript အင်ဂျင် ကဌံ့Java SE 11 တလင် ကန့်ကလက်ထာသသည်။
  • ဖယ်ရဟာသခဲ့သည်။ Solaris OS နဟင့် SPARC ပရိုဆက်ဆာမျာသအတလက် ဆိပ်ကမ်သမျာသ (Solaris/SPARC၊ Solaris/x64 နဟင့် Linux/SPARC)။ ကဆိပ်ကမ်သမျာသကို ဖယ်ရဟာသခဌင်သဖဌင့် အသိုင်သအဝိုင်သအာသ Solaris- နဟင့် SPARC သီသသန့်အင်္ဂါရပ်မျာသကို အချိန်မဖဌုန်သဘဲ OpenJDK ဝန်ဆောင်မဟုအသစ်မျာသ၏ ဖလံ့ဖဌိုသတိုသတက်မဟုကို အရဟိန်မဌဟင့်နိုင်စေမည်ဖဌစ်သည်။

source: opennet.ru

မဟတ်ချက် Add