ஜாவா எஸ்இ 15 வெளியீடு

ஆறு மாத வளர்ச்சிக்குப் பிறகு, ஆரக்கிள் வெளியிடப்பட்டது நடைமேடை ஜாவா எஸ்இ 15 (ஜாவா இயங்குதளம், நிலையான பதிப்பு 15), திறந்த மூல OpenJDK திட்டம் ஒரு குறிப்பு செயலாக்கமாகப் பயன்படுத்தப்படுகிறது. Java SE 15 ஜாவா இயங்குதளத்தின் முந்தைய வெளியீடுகளுடன் பின்தங்கிய இணக்கத்தன்மையை பராமரிக்கிறது; புதிய பதிப்பின் கீழ் தொடங்கப்படும் போது முன்னர் எழுதப்பட்ட அனைத்து ஜாவா திட்டங்களும் மாற்றங்கள் இல்லாமல் செயல்படும். Java SE 15 பில்ட்களை நிறுவத் தயார் (JDK, JRE மற்றும் சர்வர் JRE) தயார் Linux (x86_64), Windows மற்றும் macOS க்கு. OpenJDK திட்டத்தால் உருவாக்கப்பட்ட குறிப்பு செயலாக்கம் ஜாவா GPLv2 உரிமத்தின் கீழ் முழுமையாக திறந்த மூலமாக உள்ளது, GNU ClassPath விதிவிலக்குகள் வணிக தயாரிப்புகளுடன் மாறும் இணைப்பை அனுமதிக்கிறது.

Java SE 15 ஒரு பொது ஆதரவு வெளியீடாக வகைப்படுத்தப்பட்டுள்ளது மற்றும் அடுத்த வெளியீடு வரை தொடர்ந்து புதுப்பிப்புகளைப் பெறும். நீண்ட கால ஆதரவு (LTS) கிளை ஜாவா SE 11 ஆக இருக்க வேண்டும், இது 2026 வரை தொடர்ந்து புதுப்பிப்புகளைப் பெறும். Java 8 இன் முந்தைய LTS கிளை டிசம்பர் 2020 வரை ஆதரிக்கப்படும். அடுத்த LTS வெளியீடு செப்டம்பர் 2021 இல் திட்டமிடப்பட்டுள்ளது. ஜாவா 10 வெளியீட்டில் தொடங்கி, திட்டம் ஒரு புதிய மேம்பாட்டு செயல்முறைக்கு மாறியது, இது புதிய வெளியீடுகளை உருவாக்குவதற்கான குறுகிய சுழற்சியைக் குறிக்கிறது. தொடர்ந்து புதுப்பிக்கப்பட்ட முதன்மைக் கிளையில் புதிய செயல்பாடு இப்போது உருவாக்கப்பட்டுள்ளது, இதில் ஆயத்த மாற்றங்கள் மற்றும் ஒவ்வொரு ஆறு மாதங்களுக்கும் கிளைகள் கிளைகள் புதிய வெளியீடுகளை உறுதிப்படுத்துகின்றன.

Из புதுமைகள் ஜாவா முடியும் குறி:

  • உள்ளமைக்கப்பட்ட EdDSA (Edwards-Curve Digital Signature Algorithm) டிஜிட்டல் சிக்னேச்சர் உருவாக்கும் வழிமுறைக்கான ஆதரவு RFC 8032) முன்மொழியப்பட்ட EdDSA செயல்படுத்தல் ஹார்டுவேர் இயங்குதளங்களைச் சார்ந்து இல்லை, பக்க-சேனல் தாக்குதல்களிலிருந்து பாதுகாக்கப்படுகிறது (அனைத்து கணக்கீடுகளின் நிலையான நேரம் உறுதிசெய்யப்படுகிறது) மற்றும் அதே அளவிலான பாதுகாப்புடன் C மொழியில் எழுதப்பட்ட ECDSA செயல்படுத்தலை விட செயல்திறன் வேகமானது. எடுத்துக்காட்டாக, 126-பிட் விசையுடன் கூடிய நீள்வட்ட வளைவைப் பயன்படுத்தும் EdDSA ஆனது ECDSA க்கு secp256r1 நீள்வட்ட வளைவு மற்றும் 128-பிட் விசையுடன் ஒத்த செயல்திறனை வெளிப்படுத்துகிறது.
  • சேர்க்கப்பட்டது சீல் செய்யப்பட்ட வகுப்புகள் மற்றும் இடைமுகங்களுக்கான சோதனை ஆதரவு, இது பிற வகுப்புகள் மற்றும் இடைமுகங்களால் பயன்படுத்தப்படாது, செயல்படுத்துவதைப் பெற, நீட்டிக்க அல்லது மேலெழுத முடியாது. சீல் செய்யப்பட்ட வகுப்புகள், நீட்டிப்புக்கு அனுமதிக்கப்பட்ட துணைப்பிரிவுகளை வெளிப்படையாகப் பட்டியலிடுவதன் அடிப்படையில், அணுகல் மாற்றிகளைக் காட்டிலும் சூப்பர் கிளாஸின் பயன்பாட்டைக் கட்டுப்படுத்துவதற்கான அதிக அறிவிப்பு வழியையும் வழங்குகிறது.

    தொகுப்பு com.example.geometry;

    பொது சீல் செய்யப்பட்ட வகுப்பு வடிவம்
    அனுமதிகள் com.example.polar.Circle,
    com.example.quad.செவ்வகம்,
    com.example.quad.simple.சதுரம் {…}

  • சேர்க்கப்பட்டது மற்ற வகுப்புகளின் பைட்கோட் மூலம் நேரடியாகப் பயன்படுத்த முடியாத மறைக்கப்பட்ட வகுப்புகளுக்கான ஆதரவு. மறைக்கப்பட்ட வகுப்புகளின் முக்கிய நோக்கம், இயக்க நேரத்தில் வகுப்புகளை மாறும் வகையில் உருவாக்கி அவற்றை மறைமுகமாகப் பயன்படுத்தும் கட்டமைப்பில் பயன்படுத்தப்பட வேண்டும். பிரதிபலிப்பு. இத்தகைய வகுப்புகள் பொதுவாக வரையறுக்கப்பட்ட வாழ்க்கைச் சுழற்சியைக் கொண்டிருக்கின்றன, எனவே நிலையான முறையில் உருவாக்கப்பட்ட வகுப்புகளிலிருந்து அணுகுவதற்கு அவற்றைப் பராமரிப்பது நியாயமானதல்ல, மேலும் நினைவக நுகர்வு அதிகரிப்பதற்கு மட்டுமே வழிவகுக்கும். மறைக்கப்பட்ட வகுப்புகள் தரமற்ற API sun.misc.Unsafe::defineAnonymousClass இன் தேவையையும் நீக்குகிறது, இது எதிர்காலத்தில் அகற்றப்பட உள்ளது.
  • ZGC (Z குப்பை சேகரிப்பான்) குப்பை சேகரிப்பான் நிலைப்படுத்தப்பட்டு, பரவலான பயன்பாட்டிற்கு தயாராக இருப்பதாக அங்கீகரிக்கப்பட்டுள்ளது. ZGC செயலற்ற பயன்முறையில் இயங்குகிறது, குப்பை சேகரிப்பின் தாமதத்தை முடிந்தவரை குறைக்கிறது (ZGC ஐப் பயன்படுத்தும் போது நிறுத்த நேரம் 10 ms ஐ விட அதிகமாக இல்லை.) மற்றும் பல நூறு மெகாபைட்கள் முதல் பல டெராபைட்கள் வரையிலான சிறிய மற்றும் பெரிய குவியல்களுடன் வேலை செய்ய முடியும்.
  • நிலைப்படுத்தப்பட்டு பொது பயன்பாட்டிற்கு தயாராக உள்ளது
    குப்பை சேகரிப்பான் ஷெனாண்டோவ், குறைந்தபட்ச இடைநிறுத்தங்களுடன் பணிபுரிதல் (குறைந்த இடைநிறுத்தம்-நேர குப்பை சேகரிப்பு). Shenandoah ஆனது Red Hat ஆல் உருவாக்கப்பட்டது மற்றும் ஜாவா பயன்பாடுகளின் செயல்பாட்டிற்கு இணையாக சுத்தம் செய்வதன் மூலம் குப்பை சேகரிக்கும் போது ஸ்டால் நேரத்தை குறைக்கும் ஒரு அல்காரிதத்தைப் பயன்படுத்துவதில் குறிப்பிடத்தக்கது. குப்பை சேகரிப்பாளரால் அறிமுகப்படுத்தப்பட்ட தாமதங்களின் அளவு கணிக்கக்கூடியது மற்றும் குவியலின் அளவைப் பொறுத்தது அல்ல, அதாவது. 200 MB மற்றும் 200 GB குவியல்களுக்கு தாமதங்கள் ஒரே மாதிரியாக இருக்கும் (வெளியே வராதே 50 ms க்கு அப்பால் மற்றும் பொதுவாக 10 ms க்குள்);

  • ஆதரவு நிலைப்படுத்தப்பட்டு மொழியில் அறிமுகப்படுத்தப்பட்டது உரை தொகுதிகள் - ப்ளாக்கில் உள்ள அசல் உரை வடிவமைப்பைப் பாதுகாக்காமல், எழுத்துப் பிழையைப் பயன்படுத்தாமல், மூலக் குறியீட்டில் பல வரி உரைத் தரவைச் சேர்க்க உங்களை அனுமதிக்கும் புதிய வடிவம் சரம் எழுத்துகள். தொகுதி மூன்று இரட்டை மேற்கோள்களால் கட்டமைக்கப்பட்டுள்ளது.

    உதாரணமாக, குறியீட்டிற்கு பதிலாக

    சரம் html = " » +
    "\n\t" + " » +
    "\n\t\t" + " \"ஜாவா 1 இங்கே உள்ளது!\" » +
    "\n\t" + " » +
    "\n" + " ";

    நீங்கள் குறிப்பிடலாம்:

    சரம் html = """


    »ஜாவா 1\
    இங்கே உள்ளது!

    """;

  • மறுவேலை செய்யப்பட்டது Legacy DatagramSocket API. java.net.DatagramSocket மற்றும் java.net.MulticastSocket ஆகியவற்றின் பழைய செயலாக்கங்கள், பிழைத்திருத்தம் செய்வதற்கும் பராமரிப்பதற்கும் எளிதான நவீன செயலாக்கத்துடன் மாற்றப்பட்டுள்ளன, மேலும் திட்டத்தில் உருவாக்கப்பட்ட மெய்நிகர் ஸ்ட்ரீம்களுடன் இணக்கமாக உள்ளது. தறி. ஏற்கனவே உள்ள குறியீட்டுடன் பொருந்தாத சாத்தியம் இருந்தால், பழைய செயலாக்கம் அகற்றப்படவில்லை மற்றும் jdk.net.usePlainDatagramSocketImpl விருப்பத்தைப் பயன்படுத்தி இயக்கலாம்.
  • இரண்டாவது சோதனை செயலாக்கம் முன்மொழியப்பட்டது மாதிரி பொருத்தம் "instanceof" ஆபரேட்டரில், சரிபார்க்கப்பட்ட மதிப்பை அணுக உள்ளூர் மாறியை உடனடியாக வரையறுக்க உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, நீங்கள் உடனடியாக "if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}" என்பதை "ஸ்ட்ரிங் s = (ஸ்ட்ரிங்) obj" என்று தெளிவாக வரையறுக்காமல் உடனடியாக எழுதலாம்.

    இருந்தது:

    என்றால் (குழுவின் பொருள்) {
    குழு குழு = (குழு) obj;
    var உள்ளீடுகள் = group.getEntries();
    }

    இப்போது நீங்கள் "குழு குழு = (குழு) obj" என்ற வரையறை இல்லாமல் செய்யலாம்:

    என்றால் (குழுக் குழுவின் பொருள்) {
    var உள்ளீடுகள் = group.getEntries();
    }

  • பரிந்துரைக்கப்பட்டது முக்கிய வார்த்தையின் இரண்டாவது சோதனை செயலாக்கம் "சாதனை", இது வகுப்புகளை வரையறுப்பதற்கான ஒரு சிறிய படிவத்தை வழங்குகிறது, அதன் நடத்தை மாறாத புலங்களில் மட்டுமே தரவு சேமிக்கப்படும் சந்தர்ப்பங்களில் சமம்(), hashCode() மற்றும் toString() போன்ற பல்வேறு குறைந்த-நிலை முறைகளை வெளிப்படையாக வரையறுப்பதைத் தவிர்க்க உங்களை அனுமதிக்கிறது. சமம்(), hashCode() மற்றும் toString() முறைகளின் நிலையான செயலாக்கங்களை ஒரு வர்க்கம் பயன்படுத்தும் போது, ​​அவற்றின் வெளிப்படையான வரையறை இல்லாமல் செய்ய முடியும்:

    பொது பதிவு வங்கி பரிவர்த்தனை (உள்ளூர் தேதி,
    இரட்டை தொகை
    சர விளக்கம்) {}

    இந்த அறிவிப்பு, கன்ஸ்ட்ரக்டர் மற்றும் கெட்டர் முறைகளுக்கு கூடுதலாக சமம்(), ஹாஷ்கோட்() மற்றும் toString() முறைகளின் செயலாக்கங்களை தானாகவே சேர்க்கும்.

  • முன்மொழியப்பட்டது புதிய MemorySegment, MemoryAddress மற்றும் MemoryLayout சுருக்கங்களைக் கையாளுவதன் மூலம் ஜாவா பயன்பாடுகளை ஜாவா குவியலுக்கு வெளியே உள்ள நினைவகப் பகுதிகளை பாதுகாப்பாகவும் திறமையாகவும் அணுக அனுமதிக்கிறது.
  • முடக்கப்பட்டது மேல்நிலைப் பூட்டுதலைக் குறைக்க ஹாட்ஸ்பாட் ஜேவிஎம்மில் பயன்படுத்தப்படும் சார்பு பூட்டுதல் உகப்பாக்கம் நுட்பம் நிறுத்தப்பட்டது. இந்த நுட்பம் நவீன CPU களால் வழங்கப்பட்ட அணு வழிமுறைகளைக் கொண்ட கணினிகளில் அதன் பொருத்தத்தை இழந்துவிட்டது, மேலும் அதன் சிக்கலான தன்மையால் பராமரிக்க முடியாத அளவுக்கு உழைப்பு அதிகம் உள்ளது.
  • அறிவித்தது காலாவதியான பொறிமுறை RMI செயல்படுத்தல், இது எதிர்கால வெளியீட்டில் அகற்றப்படும். RMI செயல்படுத்தல் காலாவதியானது, ஜாவா 8 இல் ஒரு விருப்பத்தின் வகைக்கு தள்ளப்பட்டது மற்றும் நவீன நடைமுறையில் கிட்டத்தட்ட ஒருபோதும் பயன்படுத்தப்படவில்லை என்பது குறிப்பிடத்தக்கது.
  • நீக்கப்பட்டது ஜாவாஸ்கிரிப்ட் இயந்திரம் Nashorn, இது ஜாவா SE 11 இல் நிறுத்தப்பட்டது.
  • நீக்கப்பட்டது Solaris OS மற்றும் SPARC செயலிகளுக்கான துறைமுகங்கள் (Solaris/SPARC, Solaris/x64 மற்றும் Linux/SPARC). இந்த போர்ட்களை அகற்றுவது, சோலாரிஸ் மற்றும் SPARC குறிப்பிட்ட அம்சங்களைப் பராமரிப்பதில் நேரத்தை வீணாக்காமல், புதிய OpenJDK அம்சங்களின் வளர்ச்சியை சமூகம் துரிதப்படுத்த அனுமதிக்கும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்