Java SE 25 LTS እና OpenJDK 25 መልቀቅ

ኦራክል ለስድስት ወራት ከተዘጋጀ በኋላ Java SE 25 (Java Platform፣ Standard Edition 24) ለቋል፣ ይህም ክፍት ምንጭ OpenJDK ፕሮጀክትን እንደ ማጣቀሻ ትግበራው ይጠቀማል። አንዳንድ የተቋረጡ ባህሪያትን ከመሰረዝ በስተቀር፣ Java SE 25 ከቀደሙት የጃቫ መድረክ ልቀቶች ጋር የኋላ ተኳሃኝነትን ይጠብቃል - አብዛኛዎቹ ቀደም ሲል የተጻፉ የጃቫ ፕሮጀክቶች በአዲሱ ስሪት ስር ሲሰሩ ሳይለወጡ ይሰራሉ። ለመጫን ዝግጁ የሆኑ የጃቫ SE 25 (JDK፣ JRE እና Server JRE) ግንባታዎች ለ Linux (x86_64፣ AArch64)፣ Windows (x86_64) እና macOS (x86_64፣ AArch64)። በOpenJDK ፕሮጀክት የተገነባው የጃቫ SE 25 የማጣቀሻ ትግበራ በGNU ClassPath Exception ፈቃድ ስር ሙሉ በሙሉ ክፍት ምንጭ ሲሆን ይህም ከንግድ ምርቶች ጋር ተለዋዋጭ ግንኙነት እንዲኖር ያስችላል።

Java SE 25 የተራዘመ የድጋፍ ልቀት ነው፣ ዝማኔዎች እስከ 2033 ድረስ ይቀጥላሉ (በአጠቃላይ እስከ ሴፕቴምበር 2030 ድረስ ይገኛል።) Java SE 17 እና 21 እንደ የረጅም ጊዜ የድጋፍ ቅርንጫፎች (LTS) መደገፋቸውን ይቀጥላል፣ ዝማኔዎች እስከ 2029 እና ​​2031 ድረስ ይቀጥላሉ (በአጠቃላይ እስከ 2026 እና 2028 ድረስ)። ለJava SE 8 እና 11 LTS ቅርንጫፎች የተራዘመ ድጋፍ እስከ 2030 እና 2032 ድረስ ይቀጥላል።

በJava SE (25፣ 1፣ 2፣ 3) ከቀረቡት 4 አዳዲስ ባህሪያት መካከል፡-

  • የማይለዋወጥ ውሂብ ካላቸው ነገሮች ጋር አብሮ ለመስራት እና በJVM ውስጥ እንደ ቋሚዎች ተቆጥሮ የሚሰራ የሙከራ StableValue API ታክሏል። "የመጨረሻ" ቁልፍ ቃል ካላቸው መስኮች ጋር የሚመሳሰሉ የአፈጻጸም ማሻሻያዎች በእንደዚህ አይነት ነገሮች ላይ ይተገበራሉ። የStableValue ኤፒአይ የቋሚ እሴቶችን አፈጣጠር ከአጀማመሩ ይለያል፣ አንድ እሴት አንድ ጊዜ ብቻ መጀመር እንደሚቻል ያረጋግጣል፣ የፕሮግራም ማስጀመሪያ ጊዜን ይቀንሳል እና ከዚህ ቀደም በJDK-ውስጣዊ ኮድ ብቻ ጥቅም ላይ የሚውሉ ቋሚ ማጠፍያ ማትባቶች በተጠቃሚ ኮድ ላይ እንዲተገበሩ ያስችላል። ክፍል መተግበሪያ {// በፊት፡ // የማይንቀሳቀስ የመጨረሻ የተጠቃሚ አገልግሎት USERS = አዲስ የተጠቃሚ አገልግሎት (); // አሁን: የማይንቀሳቀስ የመጨረሻ StableValue ተጠቃሚዎች = StableValue.of (); ይፋዊ የማይንቀሳቀስ የተጠቃሚ አገልግሎት ተጠቃሚዎች() { USERS.orElseSet (UserService :: አዲስ ይመለሱ) ፤ }
  • የPEM (በምስጢራዊነት የተሻሻለ ደብዳቤ) ቅርጸት በመጠቀም ነገሮችን በምስጠራ ቁልፎች፣ የምስክር ወረቀቶች እና የምስክር ወረቀት መሻሪያ ዝርዝሮች ለመቅዳት እና ለመለየት የሙከራ ኤፒአይ ታክሏል።
  • የማይለወጡ መረጃዎችን በክሮች ላይ ለማጋራት እና በህጻናት ክሮች መካከል በብቃት ለመለዋወጥ የሚያስችል ሰፊ እሴት ድጋፍ ታክሏል (እሴቶች በዘር የሚተላለፍ)። ወሰን ያላቸው እሴቶች ክር-አካባቢያዊ ተለዋዋጮችን ለመተካት የተነደፉ ናቸው እና በጣም ብዙ ቁጥር ያላቸውን ምናባዊ ክሮች (በሺዎች ወይም በሚሊዮኖች የሚቆጠሩ ክሮች) ሲጠቀሙ የበለጠ ቀልጣፋ ናቸው። በሰፋፊ እሴቶች እና በክር-አካባቢያዊ ተለዋዋጮች መካከል ያለው ዋና ልዩነት አንድ ጊዜ የተፃፈ ፣ የማይሻሻሉ እና የሚቆዩት ክር በሚተገበርበት ጊዜ ብቻ ነው።
  • በሚስጥር ቁልፍ (ለምሳሌ የይለፍ ቃል) እና በዘፈቀደ የውሂብ ስብስብ ላይ በመመስረት የሚፈለገውን ርዝመት ተጨማሪ ቁልፎችን ለማመንጨት የሚያስችል ክሪፕቶግራፊክ ቁልፍ የመነሻ ተግባራት (KDFs) ለመጠቀም ኤፒአይ ታክሏል።
  • ባለ 32-ቢት x86 ስርዓቶችን የሚደግፉ ኮድ እና ስክሪፕቶች ተወግደዋል። ለ32-ቢት x86 ሲስተሞች ድጋፍን ማስወገድ የJDK ግንባታ እና መሠረተ ልማትን ቀላል አድርጎታል እና ለ32-ቢት x86 ሲስተሞች የኋላ ተቆጣጣሪዎችን ሳይፈጥር ከመድረክ-ተኮር ባህሪያትን ተግባራዊ ለማድረግ አስችሏል።
  • በአንድ ሞጁል ወደ ውጭ የሚላኩ ሁሉንም ፓኬጆች ለማስመጣት አንድ የ"ማስመጣት ሞጁል M" መግለጫ የመጠቀም ችሎታ ታክሏል። ይህ ለውጥ የሞዱላር ቤተ-መጻሕፍትን እንደገና ጥቅም ላይ ማዋልን በእጅጉ ያቃልላል፣ ይህም ቤተ መጻሕፍት እና ክፍሎች በጥቅል ተዋረድ ውስጥ ያላቸውን ቦታ ሳይገልጹ እንዲካተቱ ያስችላል። ለምሳሌ፣ "ኢምፖርት ሞጁል java.base"ን መግለጽ በ java.base ሞጁል ውስጥ ያሉትን ሁሉንም 54 ፓኬጆች ያስመጣል፣ ይህም ቀደም ሲል የግለሰብ ማጣቀሻዎችን ያስፈልገው ነበር ("java.io.* አስመጣ፣" java.util.*፣ ወዘተ)።
  • አነስተኛ አፕሊኬሽኖችን ለመማር እና ለማዳበር ጠቃሚ ሊሆን የሚችል የታመቀ የፕሮግራም ቅርጸት አቀራረብ ቀርቧል። የታመቀ ፎርማት አላስፈላጊ ክፍሎችን የመግለፅን አስፈላጊነት ያስወግዳል፣ መደበኛ ኤፒአይዎችን በራስ ሰር ያስመጣል እና ቀለል ያሉ የግብአት/ውፅዓት ዘዴዎችን ይሰጣል። ለምሳሌ, "ሄሎ, ዓለም!" አፕሊኬሽኑ ወደ፡ ባዶ ዋና () {IO.println("ሄሎ፣ አለም!") ሊቀነስ ይችላል። }
  • ወደ ሱፐር(...) ከመደወል በፊት የወላጅ ክፍል ገንቢን ከሚመነጭ ክፍል ገንቢ ውስጥ በግልፅ ለመጥራት ጥቅም ላይ የሚውለውን መግለጫ በግንባታ ሰሪዎች ውስጥ ይፈቀዳል፣ እነዚያ አገላለጾች በግንባታው የተፈጠረውን ምሳሌ እስካልጠቀሱ ድረስ። ክፍል ውጫዊ { ባዶ ሰላም () {System.out.println ("ሄሎ"); } ክፍል ውስጣዊ {ውስጣዊ () {ሠላም (); ሱፐር (); } }
  • ለአጭር ጊዜ የሚቆዩ ነገሮችን የመሰብሰብ ቅልጥፍናን ለማሻሻል አሮጌ እና በቅርብ ጊዜ የተፈጠሩ ነገሮችን በተናጠል የሚያካሂደው Shenandoah የቆሻሻ አሰባሳቢ አመንጪ የቆሻሻ ሰብሳቢ ሁነታ ተጨምሯል። ይህ አዲስ ሁነታ በቆሻሻ አሰባሰብ ወቅት የበለጠ ሊገመት የሚችል የውጤት መጠን፣ የመጫኛ መለዋወጥን የመቋቋም አቅም እና በቆሻሻ አሰባሰብ ወቅት የማስታወስ ፍጆታን ይቀንሳል። የሼንዶአህ መርሐግብር አዘጋጅ ከጃቫ አፕሊኬሽን አፈጻጸም ጋር በትይዩ ተጨማሪ ሥራዎችን በማከናወን በቆሻሻ አሰባሰብ ወቅት የመቀነስ ጊዜን ለመቀነስ ያለመ ነው።
  • የቅድሚያ ክፍልን መጫን እና ማገናኘት መሸጎጫ መፍጠር ቀላል ሆኗል ይህም አስቀድሞ የተጫኑ እና የተገናኙ ክፍሎችን በመጠቀም HotSpot JVM ጅምርን ያፋጥናል። እንቅስቃሴን ለመቅዳት እና መሸጎጫውን ለመፍጠር የተለየ ክዋኔዎች በሚነሳበት ጊዜ አያስፈልግም; አንድ ነጠላ ትዕዛዝ በቂ ነው: java -XX: AOTCacheOutput=app.aot -cp app.jar com.example.App…
  • HotSpot Java VMን ሲጀምሩ በቀድሞው የመተግበሪያ ጅምር ወቅት የተገኙትን የማስፈጸሚያ መገለጫዎችን የመጠቀም ችሎታ ተተግብሯል። ይህ ለውጥ የጂአይቲ ማቀናበሪያ የስታቲስቲክስ ክምችትን እንዲያልፍ እና መገለጫው እስኪፈጠር ድረስ ሳይጠብቅ ወዲያውኑ ቤተኛ ኮድ ማመንጨት እንዲጀምር ያስችለዋል።
  • HotSpot JVM በ64-ቢት ሲስተሞች ላይ መጠናቸው ከ96 ወደ 64 ቢት (ከ12 እስከ 8 ባይት) ለተጨመቀ ነገር ራስጌዎች ድጋፍን ተግባራዊ ያደርጋል። የራስጌውን መጠን መቀነስ የክብሩን መጠን ይቀንሳል እና የመሸጎጫ ቅልጥፍናን ያሻሽላል።
  • የቬክተር ኤፒአይ የሙከራ ትግበራ ቀርቧል። በ x86_64 እና AArch64 ፕሮሰሰር ቬክተር መመሪያዎችን በመጠቀም ለሚከናወኑ የቬክተር ስሌቶች ተግባራትን ያቀርባል እና በብዙ እሴቶች (ሲኤምዲ) ላይ በአንድ ጊዜ ለመስራት ያስችላል። ከሆትስፖት ጂአይቲ ማቀናበሪያ የራስ-ሰር ቬክተራይዜሽን የስክላር ኦፕሬሽኖች በተለየ፣ አዲሱ ኤፒአይ ለትይዩ መረጃ ሂደት ቬክተራይዜሽን ላይ ግልጽ ቁጥጥርን ይፈቅዳል።
  • በተለያዩ ክሮች ላይ የሚሰሩ በርካታ ስራዎችን እንደ አንድ ክፍል በማየት ባለብዙ ባለ ብዙ ፈትል አፕሊኬሽኖችን እድገትን የሚያቃልለው Structured Concurrency API አምስተኛው ረቂቅ ለሙከራ ተለቋል።
  • የስርዓተ ጥለት ማዛመጃ ኤንጂን በሁሉም አይነት አብነቶች፣ ኦፕሬተር እና መቀየሪያ ብሎኮች ውስጥ ጥንታዊ ዓይነቶችን (int፣ ባይት፣ ቻር እና ሌሎች የነገር ቤዝ አይነቶችን) ለመጠቀም የባህሪውን ሶስተኛ ረቂቅ ያስተዋውቃል። መቀየር (x.getStatus()) {ጉዳይ 0 -> "እሺ"; ጉዳይ 1 -> "ማስጠንቀቂያ"; ጉዳይ 2 -> "ስህተት"; case int i -> "ያልታወቀ ሁኔታ፡" + i; } ከሆነ (የባይት ለ ምሳሌ) {… b… }
  • JDK Flight Recorder (JFR) በመድረኩ ላይ የሲፒዩ ሀብት ፍጆታን የበለጠ ትክክለኛ ክትትል በማድረግ የሙከራ መገለጫ ድጋፍን ያክላል። Linuxየተለያዩ መዋቅሮችን የማስፈጸሚያ ጊዜ መረጃ በቀለም የፍላሜግራፍ ዲያግራሞችን በመጠቀም በግልጽ ሊታይ ይችላል።
  • የጥሪ ቁልል በደህንነት ቦታዎች ላይ ብቻ በማለፍ የጃቫ ክር ክምችቶችን በተመሳሰለ መልኩ ናሙና ሲወስዱ የተሻሻለ የJDK የበረራ መቅጃ (JFR) መረጋጋት።
  • JDK የበረራ መቅጃ (JFR) በአዲስ ዘዴዎች የመከታተያ እና የጊዜ ችሎታዎች ተዘምኗል። የጥሪ ቁልል የተወሰኑ ዘዴዎችን መፈለግ እና ትክክለኛ የጥሪ ስታቲስቲክስን ለመመዝገብ፣ እንደ የማስፈጸሚያ ጊዜ እና የጥሪ ብዛት ያሉ መለኪያዎችን ይሸፍናል።

ምንጭ: opennet.ru

በDDoS ጥበቃ፣ VPS VDS አገልጋዮች ለጣቢያዎች አስተማማኝ ማስተናገጃ ይግዙ 🔥 አስተማማኝ የድር ጣቢያ ማስተናገጃ በዲዶኤስ ጥበቃ፣ በቪፒኤስ ቪዲኤስ አገልጋዮች ይግዙ | ProHoster