ኦራክል ለስድስት ወራት ከተዘጋጀ በኋላ Java SE 27 (Java Platform፣ Standard Edition 27) ለቋል፣ ይህም ክፍት ምንጭ OpenJDK ፕሮጀክትን እንደ ማጣቀሻ ትግበራው ይጠቀማል። አንዳንድ የተቋረጡ ባህሪያትን ከመሰረዝ በስተቀር፣ Java SE 27 ከቀደሙት የጃቫ መድረክ ልቀቶች ጋር የኋላ ተኳሃኝነትን ይጠብቃል - አብዛኛዎቹ ቀደም ሲል የተጻፉ የጃቫ ፕሮጀክቶች በአዲሱ ስሪት ስር ሲሰሩ ሳይለወጡ ይሰራሉ። ለመጫን ዝግጁ የሆኑ የጃቫ SE 27 (JDK፣ JRE እና Server JRE) ግንባታዎች ለ Linux (x86_64፣ AArch64)፣ Windows (x86_64) እና macOS (x86_64፣ AArch64)። በOpenJDK ፕሮጀክት የተገነባው የጃቫ SE 27 የማጣቀሻ ትግበራ በGNU ClassPath Exception ፈቃድ ስር ሙሉ በሙሉ ክፍት ምንጭ ሲሆን ይህም ከንግድ ምርቶች ጋር ተለዋዋጭ ግንኙነት እንዲኖር ያስችላል።
ጃቫ SE 27 እንደ መደበኛ የድጋፍ ልቀት ተመድቧል፣ እስከሚቀጥለው እትም ድረስ ዝማኔዎች ይለቀቃሉ። የረጅም ጊዜ የድጋፍ (LTS) ቅርንጫፍ ጃቫ SE 25፣ ጃቫ SE 21 ወይም ጃቫ SE 17 መሆን አለበት፣ እስከ 2033፣ 2031 እና 2029 ድረስ ዝማኔዎች ይለቀቃሉ (በአጠቃላይ እስከ ሴፕቴምበር 2030፣ 2028 እና 2026 ድረስ ይገኛል)። ለጃቫ SE 8 LTS ቅርንጫፍ የተራዘመ ድጋፍ እስከ 2030 እና ለጃቫ SE 11 እስከ 2032 ድረስ ይቀጥላል።
በጃቫ SE 27 (1፣ 2፣ 3፣ 4) ላይ የተደረጉ ለውጦች የሚከተሉትን ያካትታሉ፦
- በነባሪነት፣ ሁሉም አካባቢዎች ቀደም ሲል ለአገልጋይ ስርዓቶች ጥቅም ላይ የዋለውን የG1 (የቆሻሻ-መጀመሪያ) ቆሻሻ ሰብሳቢ ይጠቀማሉ። G1 ትልቅ የማህደረ ትውስታ አቅም ባላቸው ባለብዙ ፕሮሰሰር ስርዓቶች ላይ ጥቅም ላይ እንዲውል እና ሊገመት የሚችል መዘግየትን ከከፍተኛ throughput ጋር ለማመጣጠን የተመቻቸ ነው። በስራ ወቅት፣ G1 ማህደረ ትውስታን ወደ ብዙ ትናንሽ ክልሎች ይከፍላል እና ብዙ ጥቅም ላይ ያልዋሉ ነገሮች እና ብዙም ያልተደረሱ መረጃዎች ያሏቸውን ክልሎች ቅድሚያ ይሰጣል።
- ሆትስፖት ጄቪኤም በነባሪነት የታመቀ የነገር ራስጌዎችን ይጠቀማል። በ64-ቢት ስርዓቶች ላይ የራስጌው መጠን ከ96 ወደ 64 ቢት ቀንሷል፣ ይህም የማህደረ ትውስታ ፍጆታን ይቀንሳል እና የውሂብ ወደ ፕሮሰሰር መሸጎጫ የመምታት እድልን ይጨምራል። በSPECjbb2015 መለኪያዎች ውስጥ የማህደረ ትውስታ ፍጆታ በ22% ቀንሷል፣ የሲፒዩ ጭነት በ8% ቀንሷል፣ እና የቆሻሻ አሰባሰብ ስራዎች ብዛት በ15% ቀንሷል። ለJSON ተንታኝ የሙከራ ጊዜ በ10% ቀንሷል።
- የTLS 1.3 ትግበራ የኳንተም-ተከላካይ ML-KEM (Crystals-Kyber) ስልተ ቀመርን ከክላሲካል ECDHE ኤሊፕቲክ ኩርባ ስልተ ቀመሮች ጋር የሚያጣምሩ የሃይብሪድ ቁልፍ ስምምነት እቅዶችን ይደግፋል፡ X25519MLKEM768 (ECDHE ከX25519 ኩርባ + ML-KEM-768 ጋር)፣ SecP256r1MLKEM76 (ECDHE ከsecp256r1 ኩርባ + ML-KEM-768 ጋር)፣ እና SecP384r1MLKEM1024 (ECDHE ከsecp384r1 ኩርባ + ML-KEM-1024 ጋር)። በjavax.net API ውስጥ።SSL እነዚህ እቅዶች በነባሪነት ነቅተዋል እና ለመጠቀም ምንም አይነት የመተግበሪያ ለውጦች አያስፈልጉም።
- የአፈጻጸም ክትትል፣ ፕሮፋይሊንግ እና ምርመራን ለማድረግ የሚያገለግል JDK Flight Recorder (JFR) የተባለ መሳሪያ አሁን የትእዛዝ መስመር ክርክሮችን፣ የአካባቢ ተለዋዋጮች የመጀመሪያ እሴቶችን እና በተቀመጡ የምርመራ መረጃዎች ውስጥ የስርዓት ባህሪያትን ማጽዳትን ይደግፋል። ይህ ለውጥ እንደ የፈቃድ ቶከኖች እና በአካባቢ ተለዋዋጮች በኩል የሚተላለፉ የኤፒአይ መዳረሻ ቁልፎች ያሉ በፕሮፋይል ሂደቱ የሚከናወኑ ሚስጥራዊ መረጃዎችን መፍሰስን ይከላከላል።
- የLazy Constants API ሶስተኛው ቅድመ እይታ የማይለዋወጥ ውሂብ ከያዙ ነገሮች ጋር ለመስራት ተተግብሯል እና በJVM ውስጥ እንደ ቋሚዎች ተደርገው ተቆጥረዋል። ከ"የመጨረሻ" ቁልፍ ቃል ላላቸው መስኮች ጋር ተመሳሳይ የሆኑ የአፈጻጸም ማሻሻያ ማሻሻያዎች ለእንደዚህ አይነት ነገሮች ይተገበራሉ። ከ"የመጨረሻ" በተለየ መልኩ፣ አዲሱ API የቋሚ እሴቶችን መፍጠር ከጅምርነታቸው ይለያል፣ አንድ እሴት አንድ ጊዜ ብቻ ሊጀመር እንደሚችል ዋስትና ይሰጣል፣ የፕሮግራም ጅምር ጊዜን ይቀንሳል፣ እና ቀደም ሲል በJDK-ውስጣዊ ኮድ ውስጥ ብቻ ጥቅም ላይ የዋሉ የማያቋርጥ ማጠፊያ ማሻሻያዎችን በተጠቃሚ ኮድ ውስጥ ጥቅም ላይ እንዲውል ያስችላል። ክፍል መተግበሪያ { // ከዚህ በፊት፡ // የማይለወጥ የመጨረሻ የተጠቃሚ አገልግሎት ተጠቃሚዎች = አዲስ የተጠቃሚ አገልግሎት(); // አሁን፡ የማይለወጥ የመጨረሻ የተረጋጋ እሴት USERS = StableValue.of(); public static UserService users() { return USERS.orElseSet(UserService::new); } }
- የንድፍ ማዛመጃ ሞተር በሁሉም ዓይነት ቅጦች፣ በኦፕሬተር እና በማብሪያ / ማጥፊያ ብሎኮች ውስጥ የመጀመሪያ ደረጃ ዓይነቶችን (int፣ bayte፣ char እና ሌሎች የነገሮች ያልሆኑ የመሠረት ዓይነቶችን) የመጠቀም ችሎታ አምስተኛ ረቂቅ ያስተዋውቃል። መቀየሪያ (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b … }
- በተለያዩ ክሮች ላይ የሚሠሩ በርካታ ተግባራትን እንደ አንድ አሃድ በማየት የብዙ ክር አፕሊኬሽኖችን ልማት ቀላል የሚያደርገው የተዋቀረ የኮንኩርረንሲ ኤፒአይ ሰባተኛው ረቂቅ ለሙከራ ተለቋል።
- የቬክተር ኤፒአይ አስራ ሁለተኛው የሙከራ ትግበራ ተተግብሯል። ይህ ኤፒአይ በ x86_64 እና AArch64 ፕሮሰሰር ቬክተር መመሪያዎችን በመጠቀም ለሚከናወኑ የቬክተር ስሌቶች ተግባራትን ያቀርባል እና በበርካታ እሴቶች (SIMD) ላይ በተመሳሳይ ጊዜ ስራዎችን ይፈቅዳል። ከሆትስፖት JIT ኮምፖለሬተር የስኬላር ኦፕሬሽኖች ራስ-ሰር ቬክተርሲቭ በተለየ መልኩ አዲሱ ኤፒአይ ለትይዩ የውሂብ ሂደት ቬክተርሲቭ ላይ ግልጽ ቁጥጥርን ይፈቅዳል።
- የኤፒአይ ሶስተኛው ረቂቅ አሁን የPEM (Pivacy-Enhanced Mail) ቅርጸትን በመጠቀም የክሪፕቶግራፊክ ቁልፎችን፣ የምስክር ወረቀቶችን እና የምስክር ወረቀት መሻሪያ ዝርዝሮችን የያዙ ነገሮችን ለመቅዳት እና ለመገልበጥ ይገኛል።
በተጨማሪም፣ በጃቫFX 27 መድረክ ላይ የግራፊክስ የተጠቃሚ በይነገጽ መተግበሪያዎችን ለመፍጠር የሚያስችል ዝማኔ መውጣቱን በደስታ እናሳውቃለን። በጃቫስክሪፕት (Node.js)፣ Python፣ Ruby፣ R፣ በማንኛውም የJVM ቋንቋ (Java፣ Scala፣ Clojure፣ Kotlin) እና የLLVM ቢትኮድ ሊፈጠርባቸው የሚችሉ ቋንቋዎች (C፣ C++፣ Rust) የሚደገፉ የGraalVM 27 ሁለንተናዊ ምናባዊ ማሽን በሚቀጥሉት ሰዓታት ውስጥ እንደሚለቀቅ ይጠበቃል።
ምንጭ: opennet.ru
