جاوا SE 18 خوشې کول

د شپږو میاشتو پراختیا وروسته، اوریکل جاوا SE 18 (جاوا پلیټ فارم، معیاري نسخه 18) خپور کړ، کوم چې د OpenJDK خلاصې سرچینې پروژه د حوالې پلي کولو په توګه کاروي. د ځینې تخریب شوي ب featuresو لرې کولو استثنا سره ، جاوا SE 18 د جاوا پلیټ فارم پخوانیو ریلیزونو سره شاته مطابقت ساتي — ډیری دمخه لیکل شوي جاوا پروژې به لاهم د ترمیم پرته کار وکړي کله چې د نوي نسخې لاندې پرمخ ځي. د جاوا SE 18 (JDK، JRE، او Server JRE) د نصب کولو وړ جوړونه د لینکس (x86_64، AArch64)، وینډوز (x86_64)، او macOS (x86_64، AArch64) لپاره چمتو شوي. د OpenJDK پروژې لخوا رامینځته شوی ، د جاوا 18 حوالې پلي کول د GPLv2 جواز لاندې د GNU ClassPath استثنااتو سره په بشپړ ډول خلاص دی ترڅو سوداګریز محصولاتو ته متحرک لینک کولو ته اجازه ورکړي.

جاوا SE 18 د منظم ملاتړ ریلیز په توګه طبقه بندي شوی ، د راتلونکي خوشې کیدو دمخه د تازه معلوماتو سره. د اوږدې مودې ملاتړ (LTS) څانګه باید د Java SE 17 وي، کوم چې به تر 2029 پورې تازه معلومات ترلاسه کړي. په یاد ولرئ چې د جاوا 10 خوشې کولو سره پیل کول ، پروژه نوي پراختیا پروسې ته واړوله ، کوم چې د نوي ریلیزونو رامینځته کولو لپاره لنډ دوره معنی لري. نوي فعالیت اوس په دوامداره توګه تازه شوي ماسټر برانچ کې رامینځته کیږي ، کوم چې دمخه بشپړ شوي بدلونونه پکې شامل دي او له هغې څخه څانګې په هرو شپږو میاشتو کې د نوي ریلیزونو ثبات لپاره شاخ کیږي.

په جاوا 18 کې نوې ځانګړتیاوې په لاندې ډول دي:

  • اصلي کوډ کول UTF-8 دی. جاوا APIs چې د کریکټ کوډ کولو پراساس د متن ډیټا پروسس کوي اوس به په ټولو پلیټ فارمونو کې د ډیفالټ لخوا UTF-8 کاروي ، پرته لدې چې د سیسټم تنظیماتو او ځایی ترتیباتو ته په پام سره. زاړه چلند ته د بیرته راستنیدو لپاره، چیرې چې کوډ کول د سیسټم ځای پراساس غوره شوي، تاسو کولی شئ د "-Dfile.encoding=COMPAT" اختیار وکاروئ.
  • په بسته کې د com.sun.net.httpserver بسته شامله ده، کوم چې د جامد مینځپانګې خدمت کولو لپاره د ساده http سرور پلي کولو سره د jwebserver یوټیلیټ او کتابتون API شامل دي (CGI او servlet-like handlers نه ملاتړ کیږي). جوړ شوی HTTP سرور د کاري بارونو لپاره مطلوب ندی او د لاسرسي کنټرول او تصدیق ملاتړ نه کوي ، ځکه چې دا په اصل کې د پروټوټایپ کولو ، ډیبګ کولو او ازموینې پروژو لپاره د پراختیا پروسې کې کارول دي.
  • JavaDoc د "@snippet" ټګ لپاره ملاتړ چمتو کوي ترڅو کاري مثالونه او د کوډ ټوټې د API اسنادو کې ځای په ځای کړي، چیرې چې تاسو کولی شئ د تایید وسیلې، نحو روښانه کول، او IDE ادغام وکاروئ.
  • د java.lang.reflect API (کور انعکاس) پلي کول، د میتودونو، ساحو او ټولګي جوړونکو په اړه د معلوماتو ترلاسه کولو او همدارنګه د ټولګیو داخلي جوړښت ته د لاسرسي لپاره ډیزاین شوی، بیا ډیزاین شوی. java.lang.reflect API پخپله بدله پاتې ده، مګر اوس د بایټ کوډ جنریټرونو کارولو پرځای د java.lang.invoke ماډل لخوا چمتو شوي میتود هینډل په کارولو سره پلي کیږي. بدلون موږ ته اجازه راکړه چې د java.lang.reflect او java.lang.invoke پلي کول متحد کړو، او د دوی ساتنه ساده کړو.
  • د ویکتور API دریمه کتنه وړاندیز شوې، د ویکتور حسابونو لپاره دندې چمتو کوي چې په x86_64 او AArch64 پروسیسرونو کې د ویکتور لارښوونو په کارولو سره اجرا کیږي او عملیات ته اجازه ورکوي چې په یوځل څو ارزښتونو (SIMD) ته پلي شي. د سکیلر عملیاتو د آټو ویکٹرائزیشن لپاره د HotSpot JIT کمپیلر کې چمتو شوي ظرفیتونو برخلاف ، نوی API دا ممکنه کوي چې د موازي ډیټا پروسس کولو لپاره په واضح ډول ویکٹرائزیشن کنټرول کړي.
  • د کوربه نومونو او IP پتې حل کولو لپاره د SPI انٹرفیس (خدمت چمتو کونکي انٹرفیس) اضافه شوی، تاسو ته اجازه درکوي چې په java.net.InetAddress کې بدیل حل کونکي وکاروئ کوم چې د عملیاتي سیسټم لخوا وړاندیز شوي هینډلرونو سره تړلي ندي.
  • د بهرني فعالیت او حافظې API دوهم مخکتنه چمتو شوې ، غوښتنلیکونو ته اجازه ورکوي چې د جاوا د وخت څخه بهر د کوډ او ډیټا سره تعامل وکړي. نوی API تاسو ته اجازه درکوي چې په مؤثره توګه غیر JVM افعال ته زنګ ووهئ او غیر JVM مدیریت شوي حافظې ته لاسرسی ومومئ. د مثال په توګه، تاسو کولی شئ د JNI کارولو پرته د بهرنیو شریک کتابتونونو څخه فنکشن ته زنګ ووهئ او د پروسې ډیټا ته لاسرسی ومومئ.
  • د "سوئچ" څرګندونو کې د نمونې میچ کولو دوهم تجرباتي پلي کول اضافه شوي ، د دقیقو ارزښتونو پرځای په "کیس" لیبلونو کې د انعطاف وړ نمونو کارولو ته اجازه ورکوي ، په یوځل کې د ارزښتونو لړۍ پوښي ، د کوم لپاره چې دمخه یې کارول اړین و. د "که... بل" بیانونو پیچلي زنځیرونه. اعتراض o = 123L; د سټرینګ بڼه = سویچ (o) { قضیه Integer i -> String.format("int %d", i); قضیه اوږده l -> String.format("long %d", l); قضیه Double d -> String.format("double %f", d); قضیه String s -> String.format("String %s", s); default -> o.toString(); };
  • د نهایی کولو میکانیزم او د هغې اړوند میتودونه لکه Object.finalize()، Enum.finalize()، Runtime.runFinalization() او System.runFinalization() له منځه وړل شوي او په راتلونکي خپرونه کې به غیر فعال شي.
  • د ZGC (Z کثافاتو راټولونکی)، SerialGC، او ParallelGC کثافات راټولونکي د قطار د نقل کولو ملاتړ کوي.

سرچینه: opennet.ru

Add a comment