1. ஜாவாவின் பதிப்புகளின் வரலாறு

ஜாவாவின் வரலாறு 1991 இல் தொடங்குகிறது, சன் புரோகிராமர்களின் குழு சிறிய சாதனங்களுக்கான மொழியை உருவாக்க முடிவு செய்தது: டிவி ரிமோட் கண்ட்ரோல்கள், காபி தயாரிப்பாளர்கள், டோஸ்டர்கள், வங்கி அட்டைகள் மற்றும் பல.

இந்த சாதனங்களின் உற்பத்தியாளர்கள் தங்கள் தயாரிப்புகளைக் கட்டுப்படுத்த மிகவும் மாறுபட்ட செயலிகளைப் பயன்படுத்தினர், எனவே ஒரு குறிப்பிட்ட செயலி அல்லது OS இன் கட்டமைப்போடு இணைக்கப்படுவது மிகவும் முக்கியமானது.

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

பெரும்பாலான புரோகிராமர்கள் கணினியை இயந்திரம் என்று குறிப்பிடுகின்றனர்.

சுவாரஸ்யமானது.

C++ ஜாவா மொழிக்கான அடிப்படையாக எடுத்துக் கொள்ளப்பட்டது மற்றும் பெரிதும் எளிமைப்படுத்தப்பட்டு தரப்படுத்தப்பட்டது. C++ 10 வழிகளில் ஏதாவது செய்ய அனுமதித்தால், ஜாவா அவற்றில் ஒன்றை மட்டுமே தக்க வைத்துக் கொண்டது. சில வழிகளில் இது ஹைரோகிளிஃப்ஸில் இருந்து எழுத்துக்களுக்கு மாறுவது போல் இருந்தது.

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

பெயர் ஆண்டு வகுப்புகளின் எண்ணிக்கை
ஜேடிகே 1.0 1996 211
ஜேடிகே 1.1 1997 477
J2SE 1.2 1998 1,524
J2SE 1.3 2000 1,840
J2SE 1.4 2002 2,723
J2SE 5.0 2004 3,279
ஜாவா எஸ்இ 6 2006 3,793
ஜாவா எஸ்இ 7 2011 4,024
ஜாவா எஸ்இ 8 2014 4,240
ஜாவா எஸ்இ 9 2017 6,005
ஜாவா எஸ்இ 10 2018 6,002
ஜாவா எஸ்இ 11 2018 4,411
ஜாவா எஸ்இ 12 2019 4,433
ஜாவா எஸ்இ 13 2019 4,515

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


2. ஜாவா 2

முதல் பெரிய பாய்ச்சல் JDK 1.2 வெளியீட்டில் ஏற்பட்டது. ஜாவாவின் படைப்பாளிகள் அதை ஜாவா 2 பிளாட்ஃபார்ம் ஸ்டாண்டர்ட் எடிஷன் அல்லது சுருக்கமாக ஜே2எஸ்இ 1.2 என்று மறுபெயரிட்டனர் .

முக்கிய கண்டுபிடிப்புகள்:

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

இன்று, இந்த கண்டுபிடிப்புகள் அவ்வளவு பெரியதாகத் தெரியவில்லை, ஆனால் ஒவ்வொரு பெரிய திட்டமும் சிறிய ஒன்றிலிருந்து வளர்கிறது. 20 ஆண்டுகளுக்கு முன்பு ஒரு சிறிய புரோகிராமர்கள் மொழியை மேம்படுத்தாமல் இருந்திருந்தால் ஜாவா இன்று பிரபலமாக இருக்காது.


3. ஜாவா 5

ஜேடிகே 1.5 செப்டம்பர் 2004 இல் வெளியிடப்பட்டது. இது பல புதுமைகளையும் அறிமுகப்படுத்தியது, எனவே இது ஒரு புதிய பெயருக்குத் தகுதியற்றது: 1.5, 1.6 மற்றும் 1.7 பதிப்புகளுக்குப் பதிலாக, 5.0, 6.0 மற்றும் 7.0 ஐப் பயன்படுத்த முடிவு செய்தனர். எனவே, JDK 1.5 இன் முழுப் பெயர் ஜாவா 2 நிலையான பதிப்பு 5.0

இந்த புதுப்பிப்பில் மொழியின் மேலும் வளர்ச்சி சாத்தியமில்லாத விஷயங்களை உள்ளடக்கியது.

சிறுகுறிப்புகள் . முக்கிய நவீன கட்டமைப்புகளில் பாதியானது ஸ்பிரிங் மற்றும் ஹைபர்னேட் முதல் ஜூனிட் வரை சிறுகுறிப்புகளில் கட்டமைக்கப்பட்டுள்ளது.

ஜெனரிக்ஸ் . ஜெனரிக்ஸ் சேகரிப்புகளின் சக்தியை (மேலும் பல) புதிய உயரத்திற்கு கொண்டு சென்றுள்ளது. குறியீடு எளிமையானது, மிகவும் கச்சிதமானது மற்றும் பாதுகாப்பானது.

ஆட்டோ பாக்ஸிங்/அன்பாக்சிங் என்பது பழமையான வகைகளுக்கும் அவற்றின் ரேப்பர் வகைகளுக்கும் இடையே தானாக மாற்றப்படும். இது குறியீட்டை எழுதுவதையும் படிப்பதையும் மிகவும் எளிதாக்கியது, மேலும் சேகரிப்புகளை மேலும் பிரபலமாக்கியது.

foreachபுரோகிராமர்கள் எழுதும் அனைத்து சுழல்களிலும் குறைந்தது பாதியை லூப் இப்போது கணக்கிடுகிறது . மற்றும், நிச்சயமாக, சேகரிப்புகளுடன் பணிபுரியும் போது இது இன்றியமையாதது.

enum மற்றொரு நல்ல புதிய அம்சமாகும் . இது பல விஷயங்களை அழகாக எளிமைப்படுத்த அனுமதிக்கிறது.

இவை அனைத்தும் புதுமைகள் அல்ல: நூற்றுக்கணக்கான புதிய வகுப்புகள் சேர்க்கப்பட்டன. முக்கியமான விஷயம் என்னவென்றால், அவை சரியான கண்டுபிடிப்புகள் மற்றும் ஜாவாவின் பிரபலத்திற்கு மற்றொரு சக்திவாய்ந்த ஊக்கத்தை அளித்தன.


4. ஜாவா 6

ஜாவா 6 சிறிய மேம்பாடுகள் மற்றும் பெயரில் எண் 2 கைவிடப்பட்டதற்காக நினைவில் வைக்கப்படுகிறது: அது இனி "ஜாவா 2 நிலையான பதிப்பு 6.0" அல்ல, ஆனால் வெறுமனே "ஜாவா தரநிலை பதிப்பு 6.0".

சில சுவாரஸ்யமான புதுமைகள் இங்கே:

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

ஜாவா நிரலுக்குள் நேரடியாக ஜாவாஸ்கிரிப்டை இயக்குவது சாத்தியமானது . JavaSE 6 ஆனது Rhino JavaScript இயந்திரத்தை உள்ளடக்கியதால் இந்த அம்சம் தோன்றியது.


5. ஜாவா 7

ஜாவா 7 ஜூலை 2011 இல் வெளியிடப்பட்டது. அதில் பல மேம்பாடுகள் இருக்க வேண்டும் என்று கூறப்பட்டது, ஆனால் புரோகிராமர்கள் திட்டமிட்டதில் ஒரு சிறிய பகுதியை மட்டுமே சேர்க்க முடிந்தது. குறிப்பாக, அவர்கள் பின்வரும் விஷயங்களைச் சேர்த்தனர்:

தரவு உள்ளீடு மற்றும் வெளியீட்டில் வேலை செய்வதற்கான புதிய நூலகம். புதிய உள்ளீடு வெளியீடு API என அறியப்படுகிறது , இது தொகுப்பில் அமைந்துள்ளது java.nio.

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

ஸ்விட்ச் ஸ்டேட்மெண்ட் சரங்களை கேஸ் மதிப்புகளாகப் பயன்படுத்தும் திறனைப் பெற்றது.

தானியங்கு வள மேலாண்மையும் கணிசமாக மேம்பட்டுள்ளது: கட்டமைப்பின் மூலம் try-with-resources, ஜாவா நிரல் உங்களுக்குத் தேவையில்லாத தரவு ஸ்ட்ரீம்களை மூடலாம்.

இன்னும் பல மாற்றங்கள் இருந்தன, ஆனால் ஜாவாவைக் கற்கும் தற்போதைய கட்டத்தில் அவை அவ்வளவு முக்கியமில்லை.


6. ஜாவா 8

ஜாவா 8 மார்ச் 2014 இல் வெளிவந்தது மற்றும் ஜாவாவின் வலுவான சமீபத்திய புதுப்பிப்பாகும்.

எல்லாவற்றிற்கும் மேலாக, புரோகிராமர்கள் அதை லாம்ப்டா வெளிப்பாடுகள் மற்றும் செயல்பாட்டு இடைமுகங்கள் (குறிப்பு) சேர்த்ததற்காக நினைவில் கொள்கிறார்கள் @FunctionalInterface. நிலை 21 இல் அவற்றைப் பரிசோதிப்போம். உங்கள் குறியீடு மீண்டும் ஒரே மாதிரியாக இருக்காது.

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

சுவாரஸ்யமானது.

மூன்றாவது பெரிய மாற்றம் ஜாவா 8 இன் தேதிகள் மற்றும் நேரங்களுடன் வேலை செய்வதற்கான ஒரு புதிய API-யை அறிமுகப்படுத்தியது - தேதி நேர API . எதிர்காலத்தில் அதைப் படிப்போம்.


7. ஜாவா 9

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

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

ஆனால் எதிர்காலத்தில் அது நமக்குப் பயன்படாது.


8. ஜாவா 11

ஜாவா 9 வெளியான ஆறு மாதங்களுக்குப் பிறகு, ஜாவா 10 வெளிவந்தது, மேலும் ஆறு மாதங்களுக்குப் பிறகு, ஜாவா 11 வெளிவந்தது.

இந்த நேரத்தில் நிறைய சிறிய மேம்பாடுகள் செய்யப்பட்டன, ஆனால் நீங்கள் பெரும்பாலும் இரண்டை மட்டுமே நினைவில் வைத்திருப்பீர்கள்:

இது யூனிகோட் 10க்கான ஆதரவைச் சேர்த்தது. இப்போது நீங்கள் உங்கள் ஜாவா நிரல்களில் ஈமோஜிகளைப் பயன்படுத்தலாம். பூலியன் வகையைப் போலவே நீங்கள் அவர்களுடன் பணிபுரியலாம்:

வகை அனுமானம் மேம்படுத்தப்பட்டது, நீங்கள் நிச்சயமாக விரும்பக்கூடிய varமுக்கிய சொல் தோன்றியது.

இப்போது நீங்கள் பின்வருவனவற்றை எழுதலாம்:

var str = "Hello";

கம்பைலர் இதை இவ்வாறு மாற்றுகிறது:

String str = "Hello";

ஆனால் சில இழப்புகளும் ஏற்பட்டன. Java இன் படைப்பாளிகள் JDK 11 இலிருந்து JavaFX, Java EE மற்றும் CORBA போன்ற நூலகங்களை கைவிட்டனர்.


9. இணக்கத்தன்மையின் முக்கியத்துவம்

ஒரு புதிய பதிப்பு வெளியிடப்பட்டால், புரோகிராமர்கள் பெரும்பாலும் புதிதாக தொடங்க விரும்புகிறார்கள். எல்லாவற்றிற்கும் மேலாக, தொடக்கத்திலிருந்தே குறியீடு எவ்வாறு எழுதப்பட்டிருக்க வேண்டும் என்பது முற்றிலும் நேர்மறையானதாக இருக்கும் போது, ​​பழைய பிழைகளின் தொகுப்பை யார் சரிசெய்ய விரும்புகிறார்கள்?

ஆனால் வரலாறு அத்தகைய அணுகுமுறையை ஆதரிக்கவில்லை. ஒவ்வொரு முறையும் புரோகிராமர்கள் ஒரு நிரலின் புதிய பதிப்பை வெளியிடும்போது, ​​அதன் 90% பயனர்கள் பழைய பதிப்பைப் பயன்படுத்துகின்றனர். அவர்கள் நிரலின் புதிய அம்சங்களைப் பயன்படுத்தலாம் அல்லது புறக்கணிக்கலாம், ஆனால் பயனர்கள் வெறுக்கிறார்கள், நன்றாக வேலை செய்த ஒன்று வேலை செய்வதை நிறுத்துகிறது.

புரோகிராமர்கள் இணக்கமற்ற புதிய பதிப்புகளை வெளியிட்டபோது பல சிறந்த தயாரிப்புகள் இறந்துவிட்டன. அல்லது அவர்கள் பெரிய மாற்றங்களைச் செய்தபோது. எடுத்துக்காட்டாக, விண்டோஸ் 8 இல் தொடக்க பொத்தானைக் கைவிடுவதற்கான யோசனை பயனர்களை ஈர்க்கவில்லை. விண்டோஸ் 8 இல் அகற்றப்பட்டதில் பாதியை விண்டோஸ் 10 இன் வெளியீடு மீண்டும் கொண்டு வந்தது.

மேலும் என்னவென்றால், விண்டோஸ் 95 க்காக 20 ஆண்டுகளுக்கு முன்பு எழுதப்பட்ட அல்லது 30 ஆண்டுகளுக்கு முன்பு MS DOS 3.0 க்காக எழுதப்பட்ட நிரல்களை இயக்க விண்டோஸ் உங்களை அனுமதிக்கிறது - அவை வேலை செய்யும். விண்டோஸ் பிரபலமாக இருப்பதற்கு இதுவும் ஒரு காரணம்.

ஜாவா அதன் டெவலப்பர்கள் இணக்கத்தன்மையைப் பற்றி கவலைப்படவில்லை என்றால் அது பிரபலமாக இருக்காது. எந்த நேரத்திலும் ஜாவா இயந்திரத்தின் புதிய பதிப்பு, SDK இன் புதிய பதிப்பு அல்லது வகுப்புகளில் பெரிய மாற்றங்கள் ஏற்பட்டால், ஜனவரி 1996 முதல் எழுதப்பட்ட அனைத்து ஜாவா குறியீடுகளும் தொடர்ந்து செயல்படும்.

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

ஒருபுறம், ஜாவா பழைய, துணை மற்றும் தேவையற்ற குறியீடு வடிவில் சாமான்களை சுற்றி இழுக்கிறது. மறுபுறம், Java 11 இல் எழுதப்பட்ட உங்கள் திட்டப்பணியானது Java 5 மற்றும் Java 2 இல் எழுதப்பட்ட நூலகங்களைப் பயன்படுத்தும் Java 8 இல் எழுதப்பட்ட நூலகத்தை எப்பொழுதும் பயன்படுத்தலாம். குறியீட்டின் இந்த hodgepodge நன்றாக வேலை செய்யும்.

C++ மொழியுடன், 32-பிட் மற்றும் 64-பிட் இயங்குதளங்களுக்காக தொகுக்கப்பட்ட நூலகங்களை ஒரே திட்டத்தில் பயன்படுத்த முடியாது. charஒரு நூலகத்தில் பயன்படுத்தப்படும் வகை ஒரு பைட்டையும், மற்றொன்று இரண்டு பைட்டுகளையும் பயன்படுத்துவதை நீங்கள் திடீரென்று கண்டறிந்தால் உங்களுக்கு பெரும் தலைவலி ஏற்படும் .


10. நிராகரிக்கப்பட்டது

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

இதைச் செய்ய, அவர்கள் சிறுகுறிப்பைக் கொண்டு வந்தனர் @Deprecated.

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

நீங்கள் இன்னும் நீக்கப்பட்ட வகுப்பு அல்லது முறையைப் பயன்படுத்தலாம், ஆனால் அது பரிந்துரைக்கப்படவில்லை.

பரிந்துரைக்கப்படாத விஷயங்களை மக்கள் எவ்வளவு அடிக்கடி செய்கிறார்கள்? கிட்டத்தட்ட எப்போதும் 🙂

பல வகுப்புகள் 20 ஆண்டுகளாக மறுக்கப்பட்டுள்ளன - அவை பயன்படுத்தப்பட்டு இன்னும் பயன்படுத்தப்படுகின்றன. மக்கள் அவர்களை நன்கு அறிந்திருக்கிறார்கள் அல்லது அவர்கள் வசதியானவர்கள். ஆனால் அவை ஒரு கட்டத்தில் அகற்றப்படும் அபாயம் உள்ளது, எனவே அவற்றைப் பயன்படுத்தாமல் இருப்பது நல்லது.

IntelliJ IDEA உட்பட அனைத்து நவீன IDEகளும் @Deprecatedசிறுகுறிப்பைக் கையாள முடியும். நிறுத்தப்பட்ட வகுப்புகள் மற்றும் முறைகளின் பெயர்கள் ஸ்ட்ரைக் த்ரூ வடிவமைப்பைப் பயன்படுத்தி காட்டப்படும். இந்த மாதிரி ஏதாவது:

Date date = new Date();
int day = date.getDay();

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