ஜாவா 9 அம்சங்கள் மற்றும் மேம்பாடுகள்



இந்த வலைப்பதிவில் உள்ள திட்ட ஜிக்சா மற்றும் முக்கிய ஜாவா 9 அம்சங்களின் கீழ் உருவாக்கப்பட்ட மட்டு கட்டமைப்பு JShell (REPL கருவி), முக்கியமான API மாற்றங்கள் மற்றும் JVM- நிலை மாற்றங்கள்.

ஜாவா 9 மற்றும் ஜாவா 9 அம்சங்களின் வெளியீடு ஜாவா சுற்றுச்சூழல் அமைப்புக்கு ஒரு மைல்கல் ஆகும்.புதிய வெளியீடுகளைத் தொடர்ந்து வைத்திருப்பது தொழில்நுட்பத்துடன் புதுப்பித்த நிலையில் இருப்பதற்கும் அறிமுகப்படுத்தப்படுவதற்குப் பின்னால் உள்ள தேவையைப் புரிந்துகொள்வதற்கும் முக்கியம் .திட்ட ஜிக்சாவின் கீழ் உருவாக்கப்பட்ட மட்டு கட்டமைப்பானது இந்த ஜாவா எஸ்இ வெளியீட்டின் ஒரு பகுதியாக இருக்கும், மேலும் இதில் முக்கிய அம்சங்கள் ஜேஷெல் (REPL கருவி), முக்கியமான ஏபிஐ மாற்றங்கள் மற்றும் ஜேவிஎம்-இன் செயல்திறன் மற்றும் பிழைத்திருத்தத்தை மேம்படுத்த ஜே.வி.எம்-நிலை மாற்றங்கள்.

ஜாவா 9 அம்சங்களை விரிவாக அவிழ்ப்பதற்கு முன், முந்தைய ஜாவா பதிப்புகளைப் பார்ப்போம், குறைபாடுகள் என்ன, அந்த முரண்பாடுகளை சமாளிக்க ஜாவா 9 எவ்வாறு உதவியது என்பதைப் பார்ப்போம்: -





  • ஜாவா ஸ்டாண்டர்ட் பதிப்பு தளம் மற்றும் ஜே.டி.கே ஆகியவை சிறிய கணினி சாதனங்களுக்கு செல்லமுடியாது
  • JDK இன் ஒட்டுமொத்த பாதுகாப்பு மற்றும் பராமரிப்பு எதுவும் இல்லை
  • பயன்பாட்டு செயல்திறனில் ஒட்டுமொத்த முன்னேற்றம் இல்லை
  • ஜாவா டெவலப்பர்களுக்கு ஜாவா எஸ்இ மற்றும் ஈஇ இயங்குதளங்கள் இரண்டிற்கும் குறியீடு நூலகங்கள் மற்றும் பெரிய பயன்பாடுகளை உருவாக்குவது மற்றும் நிலைநிறுத்துவது கடினம்.

இந்த வலைப்பதிவு இடுகையில் நான் ஜாவா 9 அம்சங்களை பின்வரும் முறையில் வகைப்படுத்துவேன்:



  1. ஜாவா 9 இல் API புதுப்பிப்புகளை செயலாக்கவும்
  2. ஜாவா 9 இல் HTTP / 2 கிளையண்ட்
  3. ஜாவா 9 இல் ஜாவா ஷெல் ஸ்கிரிப்டிங் (படிக்க-ஈவல்-அச்சு-சுழற்சி)
  4. ஜாவா 9 இல் பல வெளியீட்டு JAR கோப்புகள் அம்சம்
  5. ஜாவா 9 இல் மேலும் ஒத்திசைவு புதுப்பிப்புகள் அம்சம்
  6. ஜாவா 9 இல் திட்ட ஜிக்சா

ஜாவா 9 இல் புதியது என்ன?

நான் சில புதிய ஜாவா 9 அம்சங்களைத் தேர்ந்தெடுத்துள்ளேன், அதைப் பற்றி அறிந்து கொள்வது மதிப்பு என்று நான் நினைக்கிறேன். இந்த அம்சங்கள் என்ன என்பதைப் பார்ப்போம்: -

ஜாவா 9 இல் API புதுப்பிப்புகளை செயலாக்கவும்

ஜாவாவின் செயல்முறை API மிகவும் பழமையானது,புதிய செயல்முறைகளைத் தொடங்க மட்டுமே ஆதரவுடன், செயல்முறைகளின் வெளியீடு மற்றும் பிழை நீரோடைகளை திருப்பி விடுங்கள். இந்த வெளியீட்டில், செயல்முறை API க்கான புதுப்பிப்புகள் பின்வருவனவற்றை இயக்குகின்றன:

c ++ இல் பெயர்வெளி
  • தற்போதைய ஜே.வி.எம் செயல்முறையின் பி.ஐ.டி மற்றும் ஜே.வி.எம் உருவாக்கிய வேறு எந்த செயல்முறைகளையும் பெறுதல்
  • PID, பெயர் மற்றும் வள பயன்பாடு போன்ற தகவல்களைப் பெற கணினியில் இயங்கும் செயல்முறைகளைக் கணக்கிடுங்கள்
  • செயல்முறை மரங்களை நிர்வகித்தல்
  • துணை செயலாக்கங்களை நிர்வகித்தல்

ஒரு மாதிரி குறியீட்டைப் பார்ப்போம், இது தற்போதைய PID மற்றும் தற்போதைய செயல்முறை தகவலை அச்சிடுகிறது:



பொது வகுப்பு புதிய அம்சங்கள் {பொது நிலையான வெற்றிட மெயின் (சரம் [] ஆர்க்ஸ்) {ProcessHandle currentProcess = ProcessHandle.current () System.out.println ('PID:' + currentProcess.getPid ()) ProcessHandle.Info currentProcessInfo = currentProcess.info () System.out.println ('தகவல்:' + currentProcessInfo)}

ஜாவா 9 இல் HTTP / 2 கிளையண்ட்

இந்த ஜாவா 9 அம்சம் அடுத்தடுத்த வெளியீடுகளில் மாறும் என்று எதிர்பார்க்கப்படுகிறது, மேலும் அவை முற்றிலும் அகற்றப்படலாம்.

முன்னதாக டெவலப்பர்கள் பெரும்பாலும் அப்பாச்சி HTTP, ஜெர்சி போன்ற மூன்றாம் தரப்பு நூலகங்களைப் பயன்படுத்துவதை நாடுகிறார்கள். இவை தவிர, ஜாவாவின் HTTP API ஆனது HTTP / 1.1 விவரக்குறிப்பை முன்கூட்டியே கொண்டுள்ளது மற்றும் ஒத்திசைவு மற்றும் பராமரிக்க கடினமாக உள்ளது. இந்த வரம்புகள் புதிய API ஐ சேர்க்க வேண்டிய தேவைக்கு அழைப்பு விடுத்தன. புதிய HTTP கிளையன்ட் API பின்வருவனவற்றை வழங்குகிறது:

  • பெரும்பாலான HTTP கோரிக்கைகளைச் சமாளிக்க எளிய மற்றும் சுருக்கமான API
  • HTTP / 2 விவரக்குறிப்புக்கான ஆதரவு
  • சிறந்த செயல்திறன்
  • சிறந்த பாதுகாப்பு
  • இன்னும் சில மேம்பாடுகள்

புதிய API களைப் பயன்படுத்தி HTTP GET கோரிக்கையைச் செய்ய மாதிரி குறியீட்டைப் பார்ப்போம். Module-info.java கோப்பில் வரையறுக்கப்பட்ட தொகுதி வரையறை கீழே:

தொகுதி புதிய அம்சங்களுக்கு j தேவைப்படுகிறது jdk.incubator.httpclient}

பின்வரும் குறியீடு HTTP கிளையண்ட் API ஐப் பயன்படுத்துகிறது, இது jdk.incubator.httpclient தொகுதியின் ஒரு பகுதியாகும்:

இறக்குமதி jdk.incubator.http. * இறக்குமதி java.net.URI பொது வகுப்பு Http2Feature {public static void main (string [] args) விதிவிலக்கு வீசுகிறது {HttpClient client = HttpClient.newBuilder (). கட்டியெழுப்புதல் () HttpRequest request = HttpRequer. புதிய URI (http://httpbin.org/get)) .GET () .வெர்ஷன் (HttpClient.Version.HTTP_1_1) .கட்டவும் () HttpResponse.String response = client.send (கோரிக்கை, HttpResponse.BodyHandler.asString ()) System.out.println ('நிலைக் குறியீடு:' + response.statusCode ())
System.out.println ('மறுமொழி உடல்:' + response.body ())}}}

ஜாவா 9 இல் ஜாவா ஷெல் ஸ்கிரிப்டிங் (படிக்க-ஈவல்-அச்சு-சுழற்சி)

ரூபி, ஸ்கலா, க்ரூவி, க்ளோஜூர் மற்றும் பிறவற்றை ஒரு கருவியுடன் அனுப்புவதை நீங்கள் பார்த்திருக்க வேண்டும், இது பெரும்பாலும் அழைக்கப்படுகிறது REPL ( படிக்க-ஈவல்-அச்சு-சுழற்சி ). இந்த REPL கருவி மொழி அம்சங்களை முயற்சிக்க மிகவும் பயனுள்ளதாக இருக்கும். எடுத்துக்காட்டாக, ஸ்கலாவில், ஒரு எளிய ஹலோ வேர்ல்ட் திட்டத்தை எழுதலாம் scala> println (“ஹலோ வேர்ல்ட்”)

இன் சில நன்மைகள் JShell REPL பின்வருமாறு:

  • அனுபவம் வாய்ந்த டெவலப்பர்கள் அதை தங்களது முக்கிய குறியீடு தளத்தில் ஏற்றுக்கொள்வதற்கு முன் விரைவாக முன்மாதிரி மற்றும் பரிசோதனை செய்யலாம்
  • ஜாவா டெவலப்பர்கள் இப்போது ஒரு REPL பற்றி பெருமை கொள்ளலாம்

பின்வரும் படத்தில் காட்டப்பட்டுள்ளபடி, JShell கட்டளையை இயக்குவோம்:

ஜேஷெல் ஹலோ உலக உதாரணம் - ஜாவா 9 - எடுரேகா

ஜாவா 9 இல் பல வெளியீட்டு JAR கோப்புகள் அம்சம்

இப்போதைக்கு, JAR கோப்புகளில் அவை தொகுக்கப்பட்ட ஜாவா பதிப்பில் மட்டுமே இயங்கக்கூடிய வகுப்புகளைக் கொண்டிருக்கலாம். ஜாவா இயங்குதளத்தின் புதிய அம்சங்களை புதிய பதிப்புகளில் பயன்படுத்த, நூலக உருவாக்குநர்கள் தங்கள் நூலகத்தின் புதிய பதிப்பை வெளியிட வேண்டும். விரைவில், டெவலப்பர்களால் பராமரிக்கப்படும் நூலகத்தின் பல பதிப்புகள் இருக்கும், இது ஒரு கனவாக இருக்கலாம். இந்த வரம்பைக் கடக்க, பல-வெளியீட்டு JAR கோப்புகளின் இந்த ஜாவா 9 அம்சங்கள் டெவலப்பர்கள் வெவ்வேறு ஜாவா பதிப்புகளுக்கான வகுப்பு கோப்புகளின் வெவ்வேறு பதிப்புகளுடன் JAR கோப்புகளை உருவாக்க டெவலப்பர்களை அனுமதிக்கிறது.பின்வரும் எடுத்துக்காட்டு அதை மேலும் தெளிவுபடுத்துகிறது.

தற்போதைய JAR கோப்புகளின் விளக்கம் இங்கே:

ஜாவா எப்படி இரட்டை எண்ணாக மாற்றுவது
ஜாடி வேர் - வகுப்பு - பி கிளாஸ் - சி. கிளாஸ்

பல வெளியீட்டு JAR கோப்புகள் எப்படி இருக்கும் என்பது இங்கே:

ஜாடி வேர் - வகுப்பு - பி கிளாஸ் - சி. கிளாஸ் - மெட்டா-ஐ.என்.எஃப் - பதிப்புகள் - 9 - வகுப்பு - 10 - பி கிளாஸ்

முந்தைய விளக்கத்தில், JAR கோப்புகள் இரண்டு ஜாவா பதிப்புகள் -9 மற்றும் 10 க்கான வகுப்பு கோப்புகளை ஆதரிக்கின்றன.

எனவே, முந்தைய JAR ஜாவா 9 இல் செயல்படுத்தப்படும் போது, ​​பதிப்புகளின் கீழ் A.class - 9 கோப்புறைகள் செயல்படுத்தப்படுவதற்கு எடுக்கப்படுகின்றன.

பல வெளியீட்டு JAR கோப்புகளை ஆதரிக்காத ஒரு மேடையில், பதிப்புகள் கோப்பகத்தின் கீழ் உள்ள வகுப்புகள் ஒருபோதும் பயன்படுத்தப்படாது. எனவே, நீங்கள் ஜாவா 8 இல் பல வெளியீட்டு JAR கோப்பை இயக்கினால், எளிய JAR கோப்பை இயக்குவது நல்லது.

ஜாவா 9 இல் மேலும் ஒத்திசைவு புதுப்பிப்புகள் அம்சம்

இந்த புதுப்பிப்பில், ஒரு புதிய வகுப்பு, java.util.concurrent.Flow அறிமுகப்படுத்தப்பட்டுள்ளது, இது வெளியீட்டு-சந்தா கட்டமைப்பை செயல்படுத்த ஆதரிக்கும் உள்ளமை இடைமுகங்களைக் கொண்டுள்ளது. வெளியீட்டு-சந்தா கட்டமைப்பானது, தரவை உருவாக்கும் வெளியீட்டாளர்களையும், சந்தா வழியாக தரவை நுகரும் சந்தாதாரர்களையும் அமைப்பதன் மூலம் தரவுகளின் நேரடி ஸ்ட்ரீமை ஒத்திசைவற்ற முறையில் நுகரக்கூடிய கூறுகளை உருவாக்க டெவலப்பர்களுக்கு உதவுகிறது, அவை அவற்றை நிர்வகிக்கின்றன. நான்கு புதிய இடைமுகங்கள் பின்வருமாறு:

இணைக்கப்பட்ட பட்டியலை எவ்வாறு உருவாக்குவது?
  • java.util.concurrent.Flow.Publisher
  • java.util.concurrent.Flow.Subscriber
  • java.util.concurrent.Flow.Subscription
  • java.util.concurrent.Flow.Processor (இது வெளியீட்டாளர் மற்றும் சந்தாதாரராக செயல்படுகிறது).

ஜாவா 9 இல் திட்ட ஜிக்சா

இந்த திட்டத்தின் முக்கிய நோக்கம் என்ற கருத்தை அறிமுகப்படுத்துவதாகும் மட்டுப்படுத்தல் ஆதரவு ஜாவா 9 இல் தொகுதிக்கூறுகளை உருவாக்குவதற்கும் பின்னர் அதைப் பயன்படுத்துவதற்கும் ஜே.டி.கே. அது, JDK ஐ மாடுலரைஸ் செய்யுங்கள் .

அவற்றில் சில நன்மைகள் of மட்டுப்படுத்தல் பின்வருமாறு:

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

பல்வேறு உள்ளன JEP கள் , இந்த திட்டத்தின் ஒரு பகுதியாக பின்வருமாறு:

  • JEP 200 - மட்டு JDK : இது ஜாவா இயங்குதள தொகுதி அமைப்பைப் பயன்படுத்துகிறது, இது JDK ஐ ஒரு தொகுதி தொகுதிகளாக மாற்றியமைக்கிறது, அவை தொகுக்கும் நேரத்தில், நேரத்தை உருவாக்க அல்லது இயக்க நேரத்தில் இணைக்க முடியும்.
  • JEP 201 - மட்டு மூல குறியீடு : இது ஜே.டி.கே மூலக் குறியீட்டை தொகுதிகளாக மாற்றியமைக்கிறது மற்றும் தொகுதிகள் தொகுக்க உருவாக்க கருவிகளை மேம்படுத்துகிறது.
  • JEP 220 - மட்டு இயக்க நேர படங்கள் : இது தொகுதிகளுக்கு இடமளிப்பதற்கும் செயல்திறன், பாதுகாப்பு மற்றும் பராமரிப்பை மேம்படுத்துவதற்கும் JDK மற்றும் JRE இயக்க நேர படங்களை மறுசீரமைக்கிறது.
  • JEP 260 - பெரும்பாலான உள் API களை இணைக்கிறது : இது நிறைய உள் API களை நேரடியாகவோ அல்லது பிரதிபலிப்பு வழியாகவோ அணுக அனுமதிக்கிறது. மாற்றத்திற்கு உட்பட்ட உள் API களை அணுகுவது மிகவும் ஆபத்தானது. அதன் பயன்பாட்டைத் தடுக்க, அவை தொகுதிக்கூறுகளாக இணைக்கப்படுகின்றன, மேலும் சரியான ஏபிஐ அதன் இடத்தில் இருக்கும் வரை பரவலாகப் பயன்படுத்தப்படும் உள் ஏபிஐக்கள் மட்டுமே கிடைக்கின்றன.
  • JEP 261 - தொகுதி அமைப்பு : இது ஜாவா நிரலாக்க மொழி, ஜே.வி.எம் மற்றும் பிற நிலையான API களை மாற்றுவதன் மூலம் தொகுதி அமைப்பு ஜாவா விவரக்குறிப்பை செயல்படுத்துகிறது
  • JEP 282: jlink, ஜாவா இணைப்பான் : இது பேக்கேஜிங் தொகுதிகள் மற்றும் அவற்றின் சார்புகளை சிறிய ரன் நேரங்களாக அனுமதிக்கிறது.

எனவே, இது ஜாவா 9 மற்றும் புதிய ஜாவா 9 அம்சங்களைப் பற்றியது.

இப்போது நீங்கள் ஜாவா 9 இன் அம்சங்களைப் புரிந்துகொண்டுள்ளீர்கள், பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால்.

ஜி எங்களுக்கு ஒரு கேள்வி? தயவுசெய்து இந்த “ஜாவா 9” வலைப்பதிவின் கருத்துகள் பிரிவில் குறிப்பிடவும், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.