Java SE 18-ის ახალი ვერსია უკვე გამოვიდა და ეს მისი სიახლეებია

განვითარების ექვსი თვის შემდეგ, Oracle– მა გამოუშვა გამოცემა ახალი ვერსია ჯავა SE 18 (სტანდარტული გამოცემა), რომელიც იყენებს OpenJDK ღია კოდის პროექტს, როგორც მითითების განხორციელებას.

ამ ახალ ვერსიაში Java SE 18 მოდის გარდა ზოგიერთი მოძველებული ფუნქციის მოხსნა, თავსებადობის შენარჩუნება Java პლატფორმის ძველი ვერსიებით და ადრე დაწერილი Java პროექტების უმეტესობა განაგრძობს მუშაობას უცვლელად ახალი ვერსიით გაშვებისას.

Java SE 18 – ის მთავარი ახალი მახასიათებლები

Java SE 18-ის ამ ახალ გამოშვებაში ნაგულისხმევი კოდირება არის UTF-8. Java API-ები, რომლებიც ამუშავებენ სიმბოლოებით დაშიფრულ ტექსტურ მონაცემებს ახლა გამოიყენებს UTF-8-ს ნაგულისხმევად ყველა პლატფორმაზე, მიუხედავად სისტემის პარამეტრებისა და რეგიონალური პარამეტრებისა. ძველი ქცევის დასაბრუნებლად, სადაც კოდირება არჩეულია სისტემის ლოკალის გათვალისწინებით, შეგიძლიათ გამოიყენოთ პარამეტრი „-Dfile.encoding=COMPAT“.

კიდევ ერთი ცვლილება, რომელიც გამოირჩევა, არის ის გადააკეთა java.lang.reflect API განხორციელება (Core Reflection), შექმნილია კლასების მეთოდების, ველების და კონსტრუქტორების შესახებ ინფორმაციის მისაღებად, ასევე კლასების შიდა სტრუქტურაზე წვდომისთვის. api java.lang. ასახვა თავად არ შეცვლილა, მაგრამ ახლა განხორციელებულია იდენტიფიკატორების გამოყენებით მოდულით გათვალისწინებული მეთოდების java.lang.invoke, ბაიტექოდის გენერატორების გამოყენების ნაცვლად. ცვლილებამ საშუალება მისცა გაერთიანებულიყო და ხელი შეუწყო განხორციელებების შენარჩუნებას java.lang.reflect და java.lang.invoke.

ამას გარდა აღნიშნულია ისიც შემოთავაზებულია Vector API-ის მესამე წინასწარი განხორციელება, რომელიც უზრუნველყოფს ფუნქციებს ვექტორული გამოთვლებისთვის, რომლებიც შესრულებულია x86_64 და AArch64 პროცესორების ვექტორული ინსტრუქციების გამოყენებით და საშუალებას გაძლევთ ერთდროულად გამოიყენოთ ოპერაციები მრავალ მნიშვნელობაზე (SIMD). HotSpot JIT შემდგენელში გათვალისწინებული შესაძლებლობებისგან განსხვავებით სკალარული ოპერაციების ავტომატური ვექტორიზაციისთვის, ახალი API საშუალებას გაძლევთ ნათლად აკონტროლოთ ვექტორიზაცია მონაცემთა პარალელური დამუშავებისთვის.

ხაზგასმულია ისიც, რომ დაამატა SPI ინტერფეისი (მომსახურების პროვაიდერის ინტერფეისი) ჰოსტის სახელების და IP მისამართების გადასაჭრელად, რომელიც საშუალებას გაძლევთ გამოიყენოთ java.net.InetAddress-ში ალტერნატიული გადამწყვეტები, რომლებიც არ არის მიბმული ოპერაციული სისტემის მიერ მოწოდებულ დრაივერებთან.

მეორე მხრივ, შემოთავაზებულია უცხოური ფუნქციისა და მეხსიერების API-ის მეორე წინასწარი განხორციელება, რომლებთანაც აპლიკაციებს შეუძლიათ ურთიერთქმედება კოდთან და მონაცემებთან Java-ს გაშვების ფარგლებს გარეთ. ახალი API არა-JVM ფუნქციების ეფექტური გამოძახების საშუალებას იძლევა y მეხსიერებაზე წვდომა რომელსაც JVM არ მართავს. მაგალითად, შეგიძლიათ გამოიძახოთ ფუნქციები გარე გაზიარებული ბიბლიოთეკებიდან და შეხვიდეთ პროცესის მონაცემებზე JNI გამოყენების გარეშე.

დაამატა ა ნიმუშის შესატყვისის მეორე ექსპერიმენტული განხორციელება გამონათქვამებში შეცვლა, რომელიც საშუალებას გაძლევთ გამოიყენოთ მოქნილი შაბლონები ზუსტი მნიშვნელობების ნაცვლად "case" ტეგებში, რომელიც მოიცავს რამდენიმე მნიშვნელობას ერთდროულად, რაც ადრე მოითხოვდა "if...else" გამონათქვამების რთულ სტრიქონებს.

Ამანათი შეიცავს com.sun.net.httpserver, რომელიც მოიცავს jwebserver პროგრამას და API-ს ბიბლიოთეკის განხორციელებით მარტივი http სერვერიდან სტატიკური შინაარსის მოსამსახურებლად (CGI და servlet-ის მსგავსი კონტროლერები არ არის მხარდაჭერილი). ჩაშენებული http სერვერი არ არის ოპტიმიზირებული სამუშაო დატვირთვისთვის და არ უჭერს მხარს წვდომის კონტროლს ან ავტორიზაციას, რადგან ის შექმნილია ძირითადად პროტოტიპების, გამართვისა და ტესტირების პროექტების განვითარების პროცესში გამოსაყენებლად.

სხვა ცვლილებებიდან რომ გამოირჩევა:

  • JavaDoc მხარს უჭერს ტეგს "@snippet» სამუშაო მაგალითებისა და კოდის ფრაგმენტების ჩასმა API დოკუმენტაციაში, რომლებზეც წვდომა შესაძლებელია ვალიდაციის ხელსაწყოებით, სინტაქსის ხაზგასმით და IDE ინტეგრაციით.
  • მოძველებულია და წაიშლება მომავალ გამოშვებაში, დასრულების მექანიზმი, ისევე როგორც მსგავსი მეთოდები, როგორიცაა Object.finalize(), Enum.finalize(), Runtime.runFinalization() და System.runFinalization().
  • ნაგვის შემგროვებლები ZGC (Z Garbage Collector), SerialGC და ParallelGC ისინი მხარს უჭერენ სტრიქონების დედუპლიკაციას.

ჯავა SE 18 კლასიფიცირდება როგორც რეგულარული მხარდაჭერის გამოშვება, განახლებებით, რომლებიც გამოქვეყნდება მომდევნო ვერსიამდე. გრძელვადიანი მხარდაჭერის (LTS) ფილიალი უნდა იყოს Java SE 17, რომელიც მიიღებს განახლებებს 2029 წლამდე.

მნიშვნელოვანია გვახსოვდეს, რომ Java 10-ის გამოშვებიდან დაწყებული, პროექტი გადავიდა განვითარების ახალ პროცესზე, რაც ნიშნავს უფრო მოკლე ციკლს ახალი გამოშვების ფორმირებისთვის. ახალი ფუნქციონალობა ახლა ვითარდება მუდმივად განახლებულ მთავარ ფილიალში, რომელიც მოიცავს უკვე დასრულებულ ცვლილებებს და საიდანაც ფილიალები იხსნება ყოველ ექვს თვეში ერთხელ ახალი გამოშვებების სტაბილიზაციისთვის.

მიიღეთ Java SE 18

ვისაც აინტერესებს ამ ახალი გამოშვების ტესტირება, გთხოვთ იცოდეთ, რომ build-ები მზადაა Linux-ისთვის (x86_64, AArch64), Windows (x86_64) და macOS-ისთვის (x86_64, AArch64) და მათი მიღება შესაძლებელია. ქვემოთ მოცემული ბმულიდან.


სტატიის შინაარსი იცავს ჩვენს პრინციპებს სარედაქციო ეთიკა. შეცდომის შესატყობინებლად დააჭირეთ ღილაკს აქ.

იყავი პირველი კომენტარი

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო.

*

*

  1. მონაცემებზე პასუხისმგებელი: მიგელ ანგელ გატონი
  2. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.