ከስድስት ወራት እድገት በኋላ፣ Oracle የJava SE 23 መድረክን አሳተመ (ጃቫ ፕላትፎርም፣ መደበኛ እትም 23)፣ ክፍት ምንጭ የሆነውን የOpenJDK ፕሮጀክትን እንደ ማጣቀሻ ትግበራ ይጠቀማል። አንዳንድ ጊዜ ያለፈባቸው ባህሪያትን ከማስወገድ በስተቀር ጃቫ SE 23 ከቀድሞዎቹ የጃቫ መድረክ ልቀቶች ጋር ወደ ኋላ ተኳሃኝነትን ያቆያል - በጣም ቀደም ሲል የተፃፉ የጃቫ ፕሮጄክቶች በአዲሱ ስሪት ሲሰሩ ምንም ለውጦች ሳይደረጉ ይሰራሉ። ለመጫን ዝግጁ የሆኑ የJava SE 22 (JDK፣ JRE እና Server JRE) ግንባታዎች ለሊኑክስ (x86_64፣ AArch64)፣ ዊንዶውስ (x86_64) እና ማክሮስ (x86_64፣ AArch64) ተዘጋጅተዋል። በOpenJDK ፕሮጀክት የተገነባው የJava 23 ማጣቀሻ ትግበራ በGPLv2 ፍቃድ ሙሉ በሙሉ ክፍት ነው፣ ከጂኤንዩ ክላስፓዝ ልዩ ሁኔታዎች ከንግድ ምርቶች ጋር ተለዋዋጭ ግንኙነት እንዲኖር ያስችላል።
Java SE 23 እንደ መደበኛ የድጋፍ ልቀት የተከፋፈለ ሲሆን እስከሚቀጥለው ልቀት ድረስ ማሻሻያዎችን ማግኘቱን ይቀጥላል። የረጅም ጊዜ ድጋፍ (LTS) ቅርንጫፍ Java SE 21 ወይም Java SE 17 መሆን አለበት ይህም እስከ 2031 እና 2029 ድረስ ማሻሻያዎችን ይቀበላል (በአጠቃላይ እስከ 2028 እና 2026 ድረስ ይገኛል)። ለጃቫ SE 8 የኤልቲኤስ ቅርንጫፍ የተራዘመ ድጋፍ እስከ 2030 እና Java SE 11 እስከ 2032 ድረስ ይቆያል።
በJava SE ውስጥ ከቀረቡት 23 ፈጠራዎች መካከል፡-
- የ ZGC (ትውልድ Z ቆሻሻ ሰብሳቢ) የቆሻሻ አሰባሳቢው የጄኔሬቲቭ አሠራር በነባሪነት የነቃ ሲሆን ይህም "አሮጌ" እና "ወጣት" እቃዎችን በተለየ ማቀነባበሪያ በመጠቀም በቅርብ ጊዜ የተፈጠሩ ነገሮችን በአጭር ጊዜ ውስጥ የማጽዳት ቅልጥፍናን ይጨምራል. Generational ZGCን መጠቀም በሃብት ድልድል ወቅት የድንኳን ስጋትን ይቀንሳል፣ በቆሻሻ አሰባሰብ ወቅት የሲፒዩ ጭነት እና የማስታወስ ፍጆታን ይቀንሳል። አጠቃላይ ZGCን ከApache Cassandra 4 ጋር መፈተሽ በቋሚ ክምር መጠን 4x ጭማሪ አሳይቷል።
- JavaDoc በኤችቲኤምኤል እና JavaDoc @ መለያዎች ድብልቅ ምትክ ጥቅም ላይ ሊውል የሚችለውን በአስተያየቶች ውስጥ ኮድ ለመመዝገብ Markdownን ለመጠቀም ድጋፍ አድርጓል።

- የስርዓተ-ጥለት ማዛመጃ ስልቶች በሁሉም ዓይነት አብነቶች፣ በ"አብነት" መግለጫ እና በ"ማብሪያ" ብሎኮች ውስጥ የጥንታዊ ዓይነቶችን (int፣ ባይት፣ ቻር እና ሌሎች ቁሳዊ ያልሆኑ መሰረታዊ ዓይነቶችን) ለመጠቀም በቅድመ ድጋፍ ተሻሽለዋል። መቀየር (x.getStatus()) {ጉዳይ 0 -> “እሺ”; ጉዳይ 1 -> "ማስጠንቀቂያ"; ጉዳይ 2 -> "ስህተት"; case int i -> “ያልታወቀ ሁኔታ፡” + i; } ከሆነ (የባይት ለ ምሳሌ) {… b…}
- በአንድ የተወሰነ ሞጁል ወደ ውጭ የሚላኩ ፓኬጆችን በአንድ ጊዜ ለማስመጣት አንድ የ"ማስመጣት ሞጁል M" መግለጫን ለመጠቀም የመጀመሪያ ደረጃ ድጋፍ ታክሏል። ለውጡ የሞዱላር ቤተ-መጻሕፍትን እንደገና መጠቀምን በእጅጉ ያቃልላል፣ ይህም በጥቅል ተዋረድ ውስጥ ቦታቸውን ሳይወስኑ ቤተ መጻሕፍትን እና ክፍሎችን እንዲያካትቱ ያስችልዎታል። ለምሳሌ፣ “ኢምፖርት ሞጁል java.base”ን በመግለጽ በ java.base ሞጁል ውስጥ የተካተቱትን ሁሉንም 54 ፓኬጆች ያስመጣል፣ ይህም ቀደም ሲል በተናጠል መጠቀስ ነበረበት (“java.io.*”፣ “java.util import.* ” ወዘተ)።
የክፍል-ፋይል ኤፒአይ ሁለተኛ የመጀመሪያ ደረጃ ትግበራ የጃቫ ክፍል ፋይሎችን ለመተንተን፣ ለማምረት እና ለመለወጥ ታቅዷል። ClassFile cf = ClassFile.of (); ClassModel classModel = cf.parse (ባይት); ባይት[] newBytes = cf.build (classModel.thisClass () .asSymbol (), classBuilder -> { ለ (ClassElement ce : classModel) { ከሆነ (!(የ MethodModel mm && mm.methodName ())።stringValue()። startsWith("ማረሚያ"))) {classBuilder.with(ce);
- የቬክተር ኤፒአይ ስምንተኛው ቅድመ እይታ በ x86_64 እና AArch64 ፕሮሰሰር ላይ የቬክተር መመሪያዎችን በመጠቀም ለሚፈጸሙ የቬክተር ስሌቶች ተግባራትን ያቀርባል እና ክዋኔዎች ለብዙ እሴቶች (ሲኤምዲ) በአንድ ጊዜ እንዲተገበሩ ያስችላቸዋል። የስክላር ኦፕሬሽኖችን በራስ ሰር ቬክተራይዜሽን ለማድረግ በሆትስፖት ጂአይቲ ኮምፕሌተር ውስጥ ከሚቀርቡት ችሎታዎች በተለየ፣ አዲሱ ኤፒአይ ለትይዩ መረጃ ሂደት ቬክተራይዜሽንን በግልፅ ለመቆጣጠር ያስችላል።
- በተመረጠው አካባቢ መሰረት ጽሑፍን ለመቅረጽ፣ ለማሳየት እና ለማንበብ ወደ java.io.Console ክፍል የተጨመረው ቅርጸት፣ printf፣ readPassword እና readline ዘዴዎች። System.console() .printf(Locale.FRANCE፣ "%1$tY-%1$tB-%1$te %1$tA"፣አዲስ ቀን())2024-mai-16 jeudi
- የተራዘመው የዥረት ኤፒአይ ሁለተኛ ቅድመ እይታ ትግበራ ታክሏል የእራስዎን መካከለኛ ኦፕሬሽኖች መግለፅን የሚደግፍ፣ ይህም አሁን ያለው አብሮገነብ መካከለኛ ክዋኔዎች ለሚፈለገው የውሂብ ለውጥ በቂ በማይሆኑበት ጊዜ ጠቃሚ ሊሆን ይችላል። ቤተኛ ተቆጣጣሪዎች የተገናኙት በተጠቃሚ የተገለጸ ተቆጣጣሪን ለእነሱ በመተግበር የዥረት ክፍሎችን የሚያስኬድ አዲሱን መካከለኛ ኦፕሬሽን Stream::gather( ሰብሳቢ) በመጠቀም ነው። jshell> ፍሰት [1,2,3,4,5,6,7,8,9, 3, 1], [1, 2, 3]
- በይፋ የታወጁ ክፍሎች እና ስማቸው ያልተጠቀሰ የ"ዋና" ዘዴ ሶስተኛ የመጀመሪያ ደረጃ ትግበራ ታክሏል፣ ይህም በይፋ/ቋሚ መግለጫዎች፣ የተለያዩ ክርክሮችን ማለፍ እና ሌሎች ከክፍል መግለጫ ጋር የተያያዙ አካላት። // የሕዝብ ክፍል ሄሎዎርድ ነበር { public static void main (ሕብረቁምፊ[] args) {System.out.println("ሄሎ አለም!"); } } // አሁን ዋናውን () {System.out.println ("ሄሎ፣ አለም!") ሊሰርዙት ይችላሉ። }
- ገንቢዎች ሱፐር(...) ከመደወልዎ በፊት መግለጫዎችን እንዲገልጹ የሚያስችል ባህሪ ሁለተኛ ቅድመ እይታ ታክሏል፣ እነዚያ አገላለጾች በግንባታው የተፈጠረውን ምሳሌ የማይጠቅሱ ከሆነ የወላጅ ክፍል ገንቢን ከውርስ ክፍል ገንቢ በግልፅ ለመጥራት ይጠቅማል። ክፍል ውጫዊ { ባዶ ሰላም () {System.out.println ("ሄሎ"); } ክፍል ውስጣዊ {ውስጣዊ () {ሠላም (); ሱፐር (); } }
- የማይለዋወጥ ውሂብ በክሮች ላይ እንዲጋራ እና በህጻናት ክሮች መካከል በብቃት እንዲለዋወጡ የሚያስችል የSpeed Values ሶስተኛ ቅድመ እይታ ትግበራ ታክሏል (እሴቶቹ ይወርሳሉ)። ስፒድ እሴቶች ክር-አካባቢያዊ ተለዋዋጮች ዘዴን ለመተካት እየተዘጋጁ ናቸው እና በጣም ብዙ ቁጥር ያላቸውን ምናባዊ ክሮች (በሺዎች ወይም በሚሊዮኖች የሚቆጠሩ ክሮች) ሲጠቀሙ የበለጠ ቀልጣፋ ናቸው። በ Scoped Values እና በክር-አካባቢያዊ ተለዋዋጮች መካከል ያለው ዋና ልዩነት የቀደሙት አንድ ጊዜ የተፃፉ ፣ወደፊት ሊለወጡ የማይችሉ እና የሚቆዩት ለክርክሩ አፈፃፀም ጊዜ ብቻ መሆኑ ነው።
- የሶስተኛ ደረጃ የSructured Concurrency API ለሙከራ ቀርቧል ይህም በተለያዩ ክሮች ውስጥ የሚሰሩ በርካታ ተግባራትን እንደ አንድ ብሎክ በማዘጋጀት ባለብዙ-ክር አፕሊኬሽኖችን ቀላል ያደርገዋል።
- በsun.misc.የደህንነቱ ያልተጠበቀ ክፍል የቀረቡት የውጫዊ ማህደረ ትውስታ መዳረሻ ዘዴዎች (ከJVM ውጪ) ተቋርጠዋል እና ለማስወገድ ቀጠሮ ተይዞላቸዋል። ከክምር ውጭ የሆነ ማህደረ ትውስታን ለማግኘት እና ከውጫዊ ኮድ ጋር ለመግባባት VarHandle API እና FFM (የውጭ ተግባር እና ማህደረ ትውስታ) ኤፒአይን መጠቀም ይመከራል።
በተጨማሪም፣ መተግበሪያዎችን በJavaFX 23 ግራፊክ በይነገጽ ለመፍጠር እና የGalVM JIT ኮምፕሌተርን በዋናው Oracle JDK 23 ውስጥ ለማካተት የመድረክ ማሻሻያ መታተምን እናስተውላለን።
እንዲሁም በጃቫ ስክሪፕት (Node.js)፣ Python፣ Ruby፣ R፣ ማንኛውም ቋንቋዎች ለJVM (ጃቫ፣ ስካላ፣ ክሎጁር፣ ኮትሊን) እና ቋንቋዎች አፕሊኬሽኖችን የሚደግፍ የዓለማቀፉ ምናባዊ ማሽን GraalVM አዲስ ልቀት ቀርቧል። ለየትኛው LLVM ቢትኮድ ሊፈጠር ይችላል (C , C ++, Rust). JDK 23 ን ከመደገፍ በተጨማሪ አዲሱ እትም የማህደረ ትውስታ ፍጆታን እና የሚተገበር ኮድ መጠንን ያሻሽላል እና ፓይዘንን እና ዌብአሴምቢን ወደ ጃቫ ኮድ በጂአይቲ ስብስብ ለመክተት መሳሪያዎች ሙሉ ድጋፍ ይሰጣል።
ምንጭ: opennet.ru

