Java SE 19 නිකුතුව

මාස හයක සංවර්ධනයෙන් පසුව, Oracle විසින් Java SE 19 (Java Platform, Standard Edition 19) නිකුත් කර ඇත, එය OpenJDK විවෘත මූලාශ්‍ර ව්‍යාපෘතිය යොමු ක්‍රියාත්මක කිරීමක් ලෙස භාවිතා කරයි. සමහර අවලංගු වූ විශේෂාංග ඉවත් කිරීම හැර, Java SE 19 ජාවා වේදිකාවේ පෙර නිකුතු සමඟ පසුගාමී අනුකූලතාවයක් පවත්වා ගෙන යයි - බොහෝ කලින් ලියා ඇති ජාවා ව්‍යාපෘති නව අනුවාදය යටතේ ක්‍රියාත්මක වන විට වෙනස් කිරීමකින් තොරව ක්‍රියා කරයි. Linux (x19_86, AArch64), Windows (x64_86) සහ macOS (x64_86, AArch64) සඳහා Java SE 64 (JDK, JRE, සහ Server JRE) ස්ථාපනය කළ හැකි ගොඩනැගීම් සූදානම් කර ඇත. OpenJDK ව්‍යාපෘතිය මගින් වැඩි දියුණු කරන ලද, Java 19 යොමු ක්‍රියාත්මක කිරීම GPLv2 බලපත්‍රය යටතේ GNU ClassPath ව්‍යතිරේක සමඟින් වාණිජ නිෂ්පාදනවලට ගතික සම්බන්ධ කිරීමට ඉඩ දීම සඳහා සම්පූර්ණයෙන්ම විවෘත වේ.

Java SE 19 නිත්‍ය ආධාරක නිකුතුවක් ලෙස වර්ගීකරණය කර ඇති අතර, ඊළඟ නිකුතුවට පෙර යාවත්කාලීන කිරීම් නිකුත් කිරීමට නියමිතය. දිගු කාලීන ආධාරක (LTS) ශාඛාව Java SE 17 විය යුතු අතර, එය 2029 දක්වා යාවත්කාලීන ලැබෙනු ඇත. Java 10 නිකුතුවෙන් පටන් ගෙන, ව්‍යාපෘතිය නව සංවර්ධන ක්‍රියාවලියකට මාරු වූ බව මතක තබා ගන්න, එය නව නිකුතු සෑදීම සඳහා කෙටි චක්‍රයක් ඇඟවුම් කරයි. නිරන්තරයෙන් යාවත්කාලීන කරන ලද එක් ප්‍රධාන ශාඛාවක් තුළ නව ක්‍රියාකාරීත්වය දැන් සංවර්ධනය වෙමින් පවතින අතර, දැනටමත් සම්පූර්ණ කර ඇති වෙනස්කම් ඇතුළත් වන අතර නව නිකුතු ස්ථාවර කිරීම සඳහා සෑම මාස හයකට වරක් ශාඛා බෙදනු ලැබේ.

Java 19 හි නව විශේෂාංග ඇතුළත් වේ:

  • වාර්තා රටා සඳහා මූලික සහාය යෝජනා කර ඇති අතර, ජාවා 16 රටා ගැලපුම් හැකියාව පුළුල් කරමින් වාර්තා වර්ගවල පන්තිවල අගයන් විග්‍රහ කිරීමට යෝජනා කර ඇත. උදාහරණයක් ලෙස: සටහන් Point(int x, int y) {} void printSum(Object o) {if (o instanceof Point(int x, int y)) { System.out.println(x+y); }}
  • Linux builds RISC-V ගෘහ නිර්මාණ ශිල්පය සඳහා සහය සපයයි.
  • FFM (Foreign Function & Memory) API සඳහා මූලික සහය එක් කරන ලද අතර, බාහිර පුස්තකාලවලින් ඇමතුම් ශ්‍රිතයන් සහ JVM වලින් පිටත මතකයට ප්‍රවේශ වීම හරහා බාහිර කේත සහ දත්ත සමඟ ජාවා වැඩසටහන් අන්තර්ක්‍රියා සංවිධානය කිරීමට ඔබට ඉඩ සලසයි.
  • ඉහළ ක්‍රියාකාරී බහු-නූල් යෙදුම් ලිවීම සහ නඩත්තු කිරීම බෙහෙවින් සරල කරන සැහැල්ලු නූල් වන අතථ්‍ය නූල් සඳහා සහය එක් කරන ලදී.
  • x86_64 සහ AArch64 ප්‍රොසෙසරවල දෛශික උපදෙස් භාවිතයෙන් සිදු කරන දෛශික ගණනය කිරීම් සඳහා කාර්යයන් සපයන Vector API හි සිව්වන මූලික ක්‍රියාත්මක කිරීම යෝජනා කර ඇති අතර එකවර අගයන් කිහිපයකට එකවර මෙහෙයුම් යෙදීමට ඔබට ඉඩ සලසයි (SIMD). අදිශ මෙහෙයුම් ස්වයංක්‍රීයව දෛශිකකරණය සඳහා HotSpot JIT සම්පාදකයෙහි සපයා ඇති හැකියාවන් මෙන් නොව, නව API මඟින් සමාන්තර දත්ත සැකසීම සඳහා දෛශිකකරණය පැහැදිලිව පාලනය කිරීමට හැකි වේ.
  • ස්විච් ප්‍රකාශනවල රටා ගැලපීම පිළිබඳ තුන්වන පර්යේෂණාත්මක ක්‍රියාත්මක කිරීමක් එක් කර ඇත, එය එකවර අගයන් මාලාවක් ආවරණය කරන ලේබලවල නම්‍යශීලී සැකිලි භාවිතා කිරීමට ඉඩ සලසයි, ඒ සඳහා if...else ප්‍රකාශවල අපහසු දාමයන් මීට පෙර භාවිතා කර ඇත. වස්තුව o = 123L; String formatted = switch (o) {case Integer i -> String.format("int %d", i); නඩුව Long l -> String.format("දිගු %d", l); නඩුව ද්විත්ව d -> String.format("ද්විත්ව %f", d); case String s -> String.format("String %s", s); පෙරනිමිය -> o.toString(); };
  • විවිධ නූල් මත ධාවනය වන බහුවිධ කාර්යයන් තනි ඒකකයක් ලෙස සැලකීමෙන් බහු නූල් යෙදුම් සංවර්ධනය කිරීම පහසු කරන පර්යේෂණාත්මක ව්‍යුහගත සමාන්තර API එකක් එකතු කර ඇත.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න