Comparison of Java and C++
ஜாவா மற்றும் சி + + இரண்டு முக்கிய பொருள் சார்ந்த நிரலாக்க மொழிகள் ஆகும். பல மொழி பிரபல அளவீடுகளால், இரு மொழிகளும் 21 ஆம் நூற்றாண்டின் பெரும்பகுதிக்கு பொருள் சார்ந்த மற்றும் உயர் செயல்திறன் கொண்ட மென்பொருள் வளர்ச்சியில் ஆதிக்கம் செலுத்தியுள்ளன, மேலும் அவை பெரும்பாலும் நேரடியாக ஒப்பிடப்படுகின்றன மற்றும் வேறுபடுகின்றன. ஜாவாவின் தொடரியல் சி/சி + + ஐ அடிப்படையாகக் கொண்டது. சி + + மற்றும் ஜாவா நிரலாக்க மொழிகளுக்கு இடையிலான வேறுபாடுகளை அவற்றின் பாரம்பரியத்தில் காணலாம், ஏனெனில் அவை வெவ்வேறு வடிவமைப்பு இலக்குகளைக் கொண்டுள்ளன. சி + + அமைப்புகள் மற்றும் பயன்பாடுகள் நிரலாக்கத்திற்காக வடிவமைக்கப்பட்டுள்ளது (அதாவது. உள்கட்டமைப்பு நிரலாக்கம்), நடைமுறை நிரலாக்க மொழி சி ஐ விரிவுபடுத்துகிறது, இது திறமையான செயல்பாட்டிற்காக வடிவமைக்கப்பட்டுள்ளது. சி க்கு, சி + + பொருள் சார்ந்த நிரலாக்கம், விதிவிலக்கு கையாளுதல், வாழ்நாள் அடிப்படையிலான வள மேலாண்மை (ஆர். ஏ. ஐ. ஐ), பொதுவான நிரலாக்கம், டெம்ப்ளேட் மெட்டாப்ரோகிராமிங் மற்றும் சி + + நிலையான நூலகம் ஆகியவற்றிற்கான ஆதரவைச் சேர்த்தது, இதில் பொதுவான கொள்கலன்கள் மற்றும் வழிமுறைகள் (நிலையான டெம்ப்ளேட் நூலகம் அல்லது எஸ். டி. எல்) மற்றும் பல பொது நோக்கத்திற்கான வசதிகள் உள்ளன. ஜாவா என்பது ஒரு பொது-நோக்கம், ஒரே நேரத்தில், வகுப்பு அடிப்படையிலான, பொருள் சார்ந்த நிரலாக்க மொழியாகும், இது செயல்படுத்தல் சார்புகளைக் குறைக்க வடிவமைக்கப்பட்டுள்ளது. இது பாதுகாப்பாகவும் மிகவும் எளிதில் எடுத்துச் செல்லக்கூடியதாகவும் இருக்க ஜாவா மெய்நிகர் இயந்திரத்தை நம்பியுள்ளது. இது அடிப்படை தளத்தின் சுருக்கத்தை வழங்க வடிவமைக்கப்பட்ட ஒரு விரிவான நூலகத்துடன் தொகுக்கப்பட்டுள்ளது. ஜாவா என்பது நிலையான தட்டச்சு செய்யப்பட்ட பொருள் சார்ந்த மொழியாகும், இது சி + + ஐப் போன்ற (ஆனால் பொருந்தாது) தொடரியல் பயன்படுத்துகிறது. இது ஜாவடோக் எனப்படும் ஆவணப்படுத்தும் முறையை உள்ளடக்கியது. சி + + மற்றும் ஜாவாவின் வளர்ச்சியில் வெவ்வேறு குறிக்கோள்கள் மொழிகளுக்கு இடையே வெவ்வேறு கொள்கைகள் மற்றும் வடிவமைப்பு பரிமாற்றங்களை விளைவித்தன. வேறுபாடுகள் பின்வருமாறுஃ மொழி அம்சங்கள் தொடரியல் ஜாவா தொடரியல் ஒரு சூழல் இல்லாத இலக்கணத்தைக் கொண்டுள்ளது, இது ஒரு எளிய எல். ஏ. எல். ஆர் பாகுபடுத்தியால் பாகுபடுத்தப்படலாம். சி + + ஐ பாகுபடுத்துவது மிகவும் சிக்கலானது. எடுத்துக்காட்டாக, ஃபூ <1> (3); என்பது ஃபூ ஒரு மாறி என்றால் ஒப்பீடுகளின் வரிசையாகும், ஆனால் ஃபூ என்பது ஒரு வகுப்பு வார்ப்புருவின் பெயர் என்றால் ஒரு பொருளை உருவாக்குகிறது. சி + + பெயர்-இடம்-நிலை மாறிகள் மற்றும் செயல்பாடுகளை அனுமதிக்கிறது. ஜாவாவில், அத்தகைய நிறுவனங்கள் ஒரு குறிப்பிட்ட வகையைச் சேர்ந்தவையாக இருக்க வேண்டும், எனவே ஒரு வகை வரையறைக்குள் வரையறுக்கப்பட வேண்டும், ஒரு வகுப்பு அல்லது ஒரு இடைமுகம். சி + + இல், பொருள்கள் மதிப்புகள், ஜாவாவில் அவை இல்லை. சி + + இயல்பாகவே மதிப்பு சொற்பொருள்களைப் பயன்படுத்துகிறது, அதே நேரத்தில் ஜாவா எப்போதும் குறிப்பு சொற்பொருள்களைப் பயன்படுத்துகிறது. சி + + இல் குறிப்பு சொற்பொருளைத் தேர்வு செய்ய, ஒரு சுட்டிக்காட்டி அல்லது ஒரு குறிப்பைப் பயன்படுத்தலாம். சி + + இல், கிளையன்ட் குறியீடு அதை மாற்றியமைப்பதைத் தடுக்க ஒரு சுட்டிக்காட்டி அல்லது கான்ஸ்ட் பொருளைப் பற்றிய குறிப்பை அறிவிக்க முடியும். செயல்பாடுகள் மற்றும் முறைகள் "கான்ஸ்ட்" முக்கிய வார்த்தையைப் பயன்படுத்தி ஒரு சுட்டிக்காட்டி சுட்டிக்காட்டிய பொருளை மாற்றியமைக்காது என்பதற்கும் உத்தரவாதம் அளிக்கலாம். இது கான்ஸ்ட்-சரியான தன்மையை செயல்படுத்துகிறது. ஜாவாவில், இறுதி முக்கிய சொல் சி + + இல் உள்ள கான்ஸ்ட் முக்கிய வார்த்தையைப் போன்றது, ஆனால் அதன் பயன்பாடு மிகவும் குறைவாக உள்ளது. பெரும்பாலும், கான்ஸ்ட்-சரியானது வகுப்பு இடைமுகத்தின் சொற்பொருள்களை நம்பியிருக்க வேண்டும், அதாவது, இறுதி என்று பெயரிடப்பட்ட பொது தரவு உறுப்பினர்களைத் தவிர, அது வலுவாக செயல்படுத்தப்படவில்லை. சி + + கோட்டோ அறிக்கைகளை ஆதரிக்கிறது, இது ஸ்பாகெட்டி குறியீடு நிரலாக்கத்திற்கு வழிவகுக்கும். கோட்டோ அறிக்கையைத் தவிர (இது உண்மையான குறியீட்டில் மிகவும் அரிதாகவே காணப்படுகிறது மற்றும் மிகவும் ஊக்கமளிக்கப்படுகிறது), ஜாவா மற்றும் சி + + இரண்டும் அடிப்படையில் ஒரே கட்டுப்பாட்டு ஓட்ட கட்டமைப்புகளைக் கொண்டுள்ளன, இது கட்டமைக்கப்பட்ட கட்டுப்பாட்டு ஓட்டத்தை அமல்படுத்த வடிவமைக்கப்பட்டுள்ளது, மேலும் சில கோட்டோ போன்ற செயல்பாடுகளை வழங்க இடைவெளி மற்றும் தொடர்ச்சியான அறிக்கைகளை நம்பியுள்ளது. இந்த பெயரிடப்பட்ட ஓட்டக் கட்டுப்பாட்டு அறிக்கைகள் கட்டமைக்கப்பட்ட நிரலாக்கத்தின் ஒற்றைப் புள்ளி-வெளியேறும் பண்புகளை உடைக்கின்றன என்று சில வர்ணனையாளர்கள் சுட்டிக்காட்டுகின்றனர். சி + + ஜாவாவில் பெரும்பாலும் இல்லாத குறைந்த அளவிலான அம்சங்களை வழங்குகிறது (ஒரு குறிப்பிடத்தக்க விதிவிலக்கு நேரடியான நினைவக அணுகல் மற்றும் கையாளுதலுக்கான sun.misc.Unsafe ஏபிஐ ஆகும்). சி + + இல், குறிப்பிட்ட நினைவக இருப்பிடங்களைக் கையாள சுட்டிகளைப் பயன்படுத்தலாம், இது குறைந்த அளவிலான இயக்க முறைமை கூறுகளை எழுதுவதற்குத் தேவையான பணியாகும். இதேபோல், பல சி + + தொகுப்பான்கள் ஒரு இன்லைன் அசெம்ப்ளரை ஆதரிக்கின்றன. அசெம்பிளி மொழி குறியீட்டை ஒரு சி நிரலுக்கு இறக்குமதி செய்யலாம் மற்றும் நேர்மாறாகவும் இருக்கலாம். இது சி மொழியை இன்னும் வேகமாக ஆக்குகிறது. ஜாவாவில், அத்தகைய குறியீடு வெளிப்புற நூலகங்களில் இருக்க வேண்டும், மேலும் ஒவ்வொரு அழைப்புக்கும் குறிப்பிடத்தக்க மேல்நிலையுடன் ஜாவா பூர்வீக இடைமுகம் வழியாக மட்டுமே அணுக முடியும். சொற்பொருள் சி + + ஒரு செயல்பாடு/முறையின் வாதங்களுக்கான இயல்புநிலை மதிப்புகளை அனுமதிக்கிறது. ஜாவாவில் இல்லை. இருப்பினும், ஜாவாவில் ஒத்த முடிவுகளைப் பெற முறை ஓவர்லோடிங் பயன்படுத்தப்படலாம், ஆனால் தேவையற்ற ஸ்டப் குறியீட்டை உருவாக்கலாம். சி + + க்கு தொகுக்க தேவையான குறைந்தபட்ச குறியீடு ஒரு செயல்பாடாகும், ஏனெனில் ஜாவா ஒரு வகுப்பு. சி + + சொந்த வகைகளுக்கு இடையில் (சில குறுகிய மாற்றங்கள் உட்பட) மறைமுகமான மாற்றங்களின் வரம்பை அனுமதிக்கிறது, மேலும் பயனர் வரையறுக்கப்பட்ட வகைகளை உள்ளடக்கிய மறைமுகமான மாற்றங்களை வரையறுக்கவும் அனுமதிக்கிறது. ஜாவாவில், சொந்த வகைகளுக்கு இடையிலான விரிவான மாற்றங்கள் மட்டுமே மறைமுகமாக உள்ளன; மற்ற மாற்றங்களுக்கு வெளிப்படையான வார்ப்பு தொடரியல் தேவைப்படுகிறது. இதன் விளைவாக, ஜாவா மற்றும் சி + + இல் வளைய நிபந்தனைகள் (என்றால், போது மற்றும் வெளியேறும் நிபந்தனை) இரண்டும் ஒரு பூலியன் வெளிப்பாட்டை எதிர்பார்க்கின்றன என்றாலும், (a = 5) போன்ற குறியீடு ஜாவாவில் தொகுப்பு பிழையை ஏற்படுத்தும், ஏனெனில் எந்த உள்ளார்ந்த குறுகலான மாற்றமும் இல்லை இன்டிலிருந்து பூலியனுக்கு, ஆனால் சி + + இல் தொகுக்கும். குறியீடு ஒரு எழுத்துப்பிழையாக இருந்தால் மற்றும் (a = = 5) நோக்கம் இருந்தால் இது எளிதானது. இருப்பினும், தற்போதைய சி + + தொகுப்பான்கள் வழக்கமாக ஒரு நிபந்தனை வெளிப்பாட்டிற்குள் அத்தகைய பணி செய்யப்படும்போது ஒரு எச்சரிக்கையை உருவாக்கும். இதேபோல், தனித்த ஒப்பீட்டு அறிக்கைகள், எ. கா. a = = 5;, பக்க விளைவு இல்லாமல் பொதுவாக ஒரு எச்சரிக்கைக்கு வழிவகுக்கும். செயல்பாடுகளுக்கு அளவுருக்களை அனுப்புவதற்கு, சி + + பாஸ்-பை-ரெஃபரன்ஸ் மற்றும் பாஸ்-பை-வேல்யூ ஆகிய இரண்டையும் ஆதரிக்கிறது. ஜாவாவில், பழமையான அளவுருக்கள் எப்போதும் மதிப்பால் அனுப்பப்படுகின்றன. வகுப்பு வகைகள், இடைமுக வகைகள் மற்றும் வரிசை வகைகள் ஆகியவை கூட்டாக ஜாவாவில் குறிப்பு வகைகள் என்று அழைக்கப்படுகின்றன, மேலும் அவை எப்போதும் மதிப்பால் அனுப்பப்படுகின்றன. ஜாவா உள்ளமைக்கப்பட்ட வகைகள் மொழி விவரக்குறிப்பால் வரையறுக்கப்பட்ட ஒரு குறிப்பிட்ட அளவு மற்றும் வரம்பைக் கொண்டுள்ளன. சி + + இல், உள்ளமைக்கப்பட்ட வகைகளுக்கு குறைந்தபட்ச அளவிலான மதிப்புகள் வரையறுக்கப்படுகின்றன, ஆனால் சரியான பிரதிநிதித்துவம் (பிட்களின் எண்ணிக்கை) கொடுக்கப்பட்ட மேடையில் விரும்பப்படும் எந்த சொந்த வகைகளுக்கும் வரைபடமாக்கப்படலாம். உதாரணமாக, ஜாவா எழுத்துக்கள் 16-பிட் யூனிகோட் எழுத்துக்கள், மற்றும் சரங்கள் அத்தகைய எழுத்துக்களின் வரிசையால் ஆனவை. சி + + குறுகிய மற்றும் பரந்த எழுத்துக்களை வழங்குகிறது, ஆனால் ஒவ்வொன்றின் உண்மையான அளவு மேடையை சார்ந்துள்ளது, பயன்படுத்தப்படும் எழுத்துத் தொகுப்பைப் போலவே. எந்த வகையிலிருந்தும் சரங்களை உருவாக்கலாம். சி + + தொகுப்பான்கள் தானாகவே இலக்கு தளத்திற்கான மிகவும் திறமையான பிரதிநிதித்துவத்தைத் தேர்ந்தெடுக்க முடியும் என்பதையும் இது குறிக்கிறது (அதாவது, 64-பிட் இயங்குதளத்திற்கான 64-பிட் முழு எண்கள்), அதே நேரத்தில் பிரதிநிதித்துவம் ஜாவாவில் சரி செய்யப்படுகிறது, அதாவது மதிப்புகள் குறைந்த திறமையான அளவில் சேமிக்கப்படலாம், அல்லது மீதமுள்ள பிட்களை பேட் செய்து குறியீட்டைச் சேர்க்க வேண்டும் குறைக்கப்பட்ட அகல நடத்தை பின்பற்ற. சி + + இல் மிதக்கும் புள்ளி மதிப்புகள் மற்றும் செயல்பாடுகளின் சுற்று மற்றும் துல்லியம் செயல்படுத்தல்-வரையறுக்கப்பட்டுள்ளது (மிகவும் கவர்ச்சியான அல்லது பழைய தளங்கள் மட்டுமே ஐ. இ. இ. இ 754 தரத்திலிருந்து விலகினாலும்). ஜாவா ஒரு விருப்பமான கண்டிப்பான மிதக்கும்-புள்ளி மாதிரியை (ஸ்ட்ரிக்ட்எஃப்பி) வழங்குகிறது, இது இயங்குதளங்களில் மிகவும் நிலையான முடிவுகளுக்கு உத்தரவாதம் அளிக்கிறது, இருப்பினும் மெதுவான ரன்-டைம் செயல்திறனின் செலவில். இருப்பினும், ஜாவா IEEE 754 தரநிலையுடன் கண்டிப்பாக இணங்கவில்லை. பெரும்பாலான சி + + தொகுப்பான்கள், இயல்பாகவே, ஐ. இ. இ. இ 754 உடன் ஓரளவு இணங்கும் (பொதுவாக கடுமையான ரவுண்டிங் விதிகளைத் தவிர்த்து, என். ஏ. என் முடிவுகளில் விதிவிலக்குகளை எழுப்புகின்றன), ஆனால் சில உகப்பாக்கத்தை அனுமதிக்க, மாறுபட்ட கண்டிப்பின் இணக்க விருப்பங்களை வழங்குகின்றன. அந்த விருப்பங்களை குறைந்தபட்ச இணக்கம் முதல் மிகவும் இணக்கம் வரை வேகமாக, சீராக (ஜாவாவின் ஸ்ட்ரிக்ட்எஃப்பி), அருகில்-ஐ. இ. இ. இ மற்றும் கண்டிப்பான-ஐ. இ. இ. இ என பெயரிட்டால், பெரும்பாலான சி + + செயல்படுத்தல்கள் இயல்புநிலையாக-ஐ. இ. இ. க்கு அருகில் உள்ளன, விருப்பங்களுடன் வேகமாக அல்லது கண்டிப்பான-ஐ. இ. இ. இ. க்கு மாறலாம், அதே நேரத்தில் ஜாவா இயல்புநிலையாக மாறுவதற்கான விருப்பத்துடன் வேகமாக மாறுகிறது. சி + + இல், சுட்டிகளை நினைவக முகவரி மதிப்புகளாக நேரடியாக கையாளலாம். ஜாவா குறிப்புகள் பொருள்களுக்கான சுட்டிகளாகும். ஜாவா குறிப்புகள் நினைவக முகவரிகளுக்கு நேரடி அணுகலை அனுமதிக்காது அல்லது நினைவக முகவரிகளை சுட்டிக்காட்டி எண்கணிதத்துடன் கையாள அனுமதிக்காது. சி + + இல் ஒருவர் சுட்டிகளுக்கு சுட்டிகளையும், இன்ட்ஸ் மற்றும் டபுள்ஸுக்கு சுட்டிகளையும், தன்னிச்சையான நினைவக இருப்பிடங்களுக்கு சுட்டிகளையும் உருவாக்கலாம். ஜாவா குறிப்புகள் பொருட்களை மட்டுமே அணுகுகின்றன, ஒருபோதும் முதன்மையானவை, பிற குறிப்புகள் அல்லது தன்னிச்சையான நினைவக இருப்பிடங்கள் அல்ல. ஜாவாவில், நினைவகத்தை sun.misc.Unsafe API ஐப் பயன்படுத்தி தன்னிச்சையான மதிப்புகளால் படிக்கவும் எழுதவும் முடியும், இருப்பினும் இது காலாவதியானது மற்றும் பரிந்துரைக்கப்படவில்லை. சி + + இல், சுட்டிகள் செயல்பாடுகள் அல்லது உறுப்பினர் செயல்பாடுகளை (செயல்பாட்டு சுட்டிகள்) சுட்டிக்காட்டலாம். ஜாவாவில் உள்ள சமமான பொறிமுறை பொருள் அல்லது இடைமுக குறிப்புகளைப் பயன்படுத்துகிறது. அடுக்கு-ஒதுக்கப்பட்ட பொருள்கள் வழியாக, சி + + அளவிடப்பட்ட வள மேலாண்மையை ஆதரிக்கிறது, இது நினைவகம் மற்றும் பிற கணினி வளங்களை தானாக நிர்வகிக்கப் பயன்படுத்தப்படும் ஒரு நுட்பமாகும், இது தீர்மானகரமான பொருள் அழிவை ஆதரிக்கிறது. சி + + இல் அளவிடப்பட்ட வள மேலாண்மைக்கு உத்தரவாதம் அளிக்க முடியாது என்றாலும் (சரியான அழிவுகளைக் கொண்ட பொருள்கள் கூட புதிய மற்றும் நீக்கப்படாதவற்றைப் பயன்படுத்தி ஒதுக்கப்படலாம்) இது வள மேலாண்மைக்கு ஒரு பயனுள்ள வழிமுறையை வழங்குகிறது. பகிரப்பட்ட வளங்களை பகிர்வு _ பிடிஆர் பயன்படுத்தி நிர்வகிக்கலாம், சுழற்சி குறிப்புகளை உடைக்க பலவீனமான _ பிடிஆர் உடன். ஜாவா குப்பை சேகரிப்பைப் பயன்படுத்தி தானியங்கி நினைவக மேலாண்மையை ஆதரிக்கிறது, இது சுழற்சி குறிப்புகள் இருந்தாலும் அணுக முடியாத பொருட்களை விடுவிக்க முடியும், ஆனால் பிற கணினி வளங்கள் (கோப்புகள், நீரோடைகள், ஜன்னல்கள், தகவல்தொடர்பு துறைமுகங்கள், நூல்கள் போன்றவை) கடைசி பொருள் குறிப்பு கைவிடப்பட்ட உடனேயே குப்பை சேகரிப்பு நடக்கும் என்று உத்தரவாதம் இல்லை என்பதால் வெளிப்படையாக வெளியிடப்பட வேண்டும். சி + + பயனர் வரையறுக்கப்பட்ட ஆபரேட்டர் ஓவர்லோடிங் அம்சங்களைக் கொண்டுள்ளது. ஆபரேட்டர் ஓவர்லோடிங் ஆபரேட்டர்களை (எண்கணிதம், ஒப்பீடுகள் போன்றவை) ஆதரிக்க பயனர் வரையறுக்கப்பட்ட வகைகளை அனுமதிக்கிறது. இந்த ஆபரேட்டர்களுக்கான பயனர் வரையறுக்கப்பட்ட செயலாக்கங்கள் மூலம் பழமையான வகைகளைப் போல. பொதுவாக ஆபரேட்டர்களின் சொற்பொருள்களைப் பாதுகாக்க பரிந்துரைக்கப்படுகிறது. ஜாவா எந்த வகையான ஆபரேட்டர் ஓவர்லோடிங்கையும் ஆதரிக்கவில்லை (இருப்பினும் அதன் நூலகம் சரம் இணைப்புக்கு கூட்டல் ஆபரேட்டரைப் பயன்படுத்துகிறது). ஜாவா தன்னிச்சையான புதிய குறியீட்டின் பிரதிபலிப்பு மற்றும் மாறும் ஏற்றுதலுக்கான நிலையான பயன்பாட்டு நிரலாக்க இடைமுகம் (ஏபிஐ) ஆதரவைக் கொண்டுள்ளது. சி + + பைனரிகளின் நிலையான மற்றும் மாறும் இணைப்பை ஆதரிக்கிறது. ஜாவாவில் ஜெனரிக்ஸ் உள்ளது, அதன் முக்கிய நோக்கம் வகை-பாதுகாப்பான கொள்கலன்களை வழங்குவதாகும். சி + + தொகுப்பு-நேர வார்ப்புருக்களைக் கொண்டுள்ளது, இது பொதுவான நிரலாக்கம் மற்றும் மெட்டாப்ரோகிராமிங்கிற்கு மிகவும் விரிவான ஆதரவை வழங்குகிறது. ஜாவாவில் சிறுகுறிப்புகள் உள்ளன, அவை வகுப்புகளுக்கு தன்னிச்சையான தனிப்பயன் மெட்டாடேட்டாவைச் சேர்க்கவும், சிறுகுறிப்பு செயலாக்க கருவி வழியாக மெட்டாப்ரோகிராமிங் செய்யவும் அனுமதிக்கின்றன. ஜாவா மற்றும் சி + + இரண்டும் சொந்த வகைகள் (அடிப்படை அல்லது உள்ளமைக்கப்பட்ட வகைகள் என்றும் அழைக்கப்படுகின்றன) மற்றும் பயனர் வரையறுக்கப்பட்ட வகைகள் (கலவை வகைகள் என்றும் அழைக்கப்படுகின்றன) ஆகியவற்றை வேறுபடுத்துகின்றன. ஜாவாவில், சொந்த வகைகளுக்கு மதிப்பு சொற்பொருள்கள் மட்டுமே உள்ளன, மேலும் கலவை வகைகளுக்கு குறிப்பு சொற்பொருள்கள் மட்டுமே உள்ளன. சி + + இல் அனைத்து வகைகளும் மதிப்பு சொற்பொருள்களைக் கொண்டுள்ளன, ஆனால் எந்த வகையிலும் ஒரு குறிப்பை உருவாக்க முடியும், இது குறிப்பு சொற்பொருள் மூலம் பொருளை கையாள அனுமதிக்கும். சி + + தன்னிச்சையான வகுப்புகளின் பல பரம்பரை உரிமைகளை ஆதரிக்கிறது. ஜாவாவில் ஒரு வகுப்பு ஒரே ஒரு வகுப்பிலிருந்து பெறப்படலாம், ஆனால் ஒரு வகுப்பு பல இடைமுகங்களை செயல்படுத்த முடியும் (வேறுவிதமாகக் கூறினால், இது பல வகையான வகைகளை ஆதரிக்கிறது, ஆனால் செயல்படுத்தலின் ஒற்றை பரம்பரை மட்டுமே). இடைமுகங்களுக்கும் வகுப்புகளுக்கும் இடையில் ஜாவா வெளிப்படையாக வேறுபடுகிறது. சி + + இல், பல பரம்பரை மற்றும் தூய மெய்நிகர் செயல்பாடுகள் ஜாவா இடைமுகங்களைப் போலவே செயல்படும் வகுப்புகளை வரையறுக்க உதவுகின்றன, சில சிறிய வேறுபாடுகளுடன். ஜாவா பல நூல்களுக்கு மொழி மற்றும் நிலையான நூலக ஆதரவு ஆகிய இரண்டையும் கொண்டுள்ளது. ஜாவாவில் உள்ள ஒத்திசைக்கப்பட்ட முக்கிய சொல் மல்டி-த்ரெட் பயன்பாடுகளை ஆதரிக்க மியூடெக்ஸ் பூட்டுகளை வழங்குகிறது. ஜாவா மேலும் மேம்பட்ட மல்டி-த்ரெடிங் ஒத்திசைவுக்கான நூலகங்களையும் வழங்குகிறது. சி + + 11 சி + + இல் பல-திரிதலுக்கான வரையறுக்கப்பட்ட நினைவக மாதிரியைக் கொண்டுள்ளது, மேலும் நூல்களை உருவாக்குவதற்கும் பல ஒத்திசைக்கும் முதன்மையானவற்றிற்கும் நூலக ஆதரவு உள்ளது. இதற்காக பல மூன்றாம் தரப்பு நூலகங்களும் உள்ளன. சி + + உறுப்பினர் செயல்பாடுகளை மெய்நிகர் செயல்பாடுகளாக அறிவிக்க முடியும், அதாவது அழைக்கப்பட வேண்டிய முறை பொருளின் ரன்-டைம் வகையால் தீர்மானிக்கப்படுகிறது (a. k. a. டைனமிக் அனுப்புதல்). முன்னிருப்பாக, சி + + இல் உள்ள முறைகள் மெய்நிகர் அல்ல (அதாவது, மெய்நிகர் தேர்வு). ஜாவாவில், முறைகள் இயல்பாகவே மெய்நிகர், ஆனால் இறுதி முக்கிய வார்த்தையைப் பயன்படுத்துவதன் மூலம் மெய்நிகர் அல்லாததாக மாற்றப்படலாம் (அதாவது, மெய்நிகர் விலகல்). சி + + கணக்கீடுகள் பழமையான வகைகள் மற்றும் முழு எண் வகைகளுக்கு மறைமுகமான மாற்றத்தை ஆதரிக்கின்றன (ஆனால் முழு எண் வகைகளிலிருந்து அல்ல). ஜாவா கணக்கீடுகள் பொது நிலையான enum {enumName1, enumName2} ஆக இருக்கலாம் மற்றும் வகுப்புகள் போல பயன்படுத்தப்படுகின்றன. மற்றொரு வழி, java.lang.Enum <E> ஐ நீட்டிக்கும் மற்றொரு வகுப்பை உருவாக்குவது, எனவே கட்டமைப்பாளர்கள், புலங்கள் மற்றும் முறைகளை வேறு எந்த வகுப்பையும் போல வரையறுக்கலாம். சி + + 11 ஐப் பொறுத்தவரை, சி + + வலுவான தட்டச்சு செய்யப்பட்ட கணக்கீடுகளை ஆதரிக்கிறது, இது அதிக வகை-பாதுகாப்பு மற்றும் சேமிப்பு வகையின் வெளிப்படையான விவரக்குறிப்பை வழங்குகிறது. யூனரி ஆபரேட்டர்கள் '+ +' மற்றும் '--': சி + + 'இல் ஓபராண்ட் ஒரு மாற்றியமைக்கக்கூடிய மதிப்பாக இருக்கும். இதன் விளைவாக புதுப்பிக்கப்பட்ட செயல்பாடு உள்ளது; இது ஒரு மதிப்பு. ", ஆனால் ஜாவாவில்" மேலே குறிப்பிடப்பட்ட பைனரி எண் விளம்பரத்தில் அன் பாக்ஸிங் மாற்றம் மற்றும் மதிப்பு தொகுப்பு மாற்றம் ஆகியவை அடங்கும். தேவைப்பட்டால், மதிப்பு தொகுப்பு மாற்றம் {மற்றும்/அல்லது [.] குத்துச்சண்டை மாற்றம்} அது மாறியில் சேமிக்கப்படுவதற்கு முன்பு தொகைக்கு பயன்படுத்தப்படுகிறது. ", அதாவது. ஜாவாவில், துவக்கத்திற்குப் பிறகு "முழு எண் i = 2;", "+ + i;" புதிய பொருளை ஒதுக்குவதன் மூலம் குறிப்பு i ஐ மாற்றுகிறது, அதே நேரத்தில் C + + இல் பொருள் இன்னும் அப்படியே உள்ளது. வள மேலாண்மை ஜாவா தானியங்கி குப்பை சேகரிப்பை வழங்குகிறது, இது நிகழ்நேர ஜாவா விவரக்குறிப்பு வழியாக குறிப்பிட்ட சூழ்நிலைகளில் புறக்கணிக்கப்படலாம். சி + + இல் நினைவக மேலாண்மை பொதுவாக கட்டமைப்பாளர்கள், அழிக்கும் கருவிகள் மற்றும் ஸ்மார்ட் சுட்டிகள் மூலம் செய்யப்படுகிறது. சி + + தரநிலை குப்பை சேகரிப்பை அனுமதிக்கிறது, ஆனால் அது தேவையில்லை. நடைமுறையில் குப்பை சேகரிப்பு அரிதாகவே பயன்படுத்தப்படுகிறது. சி + + தன்னிச்சையான நினைவகத் தொகுதிகளை ஒதுக்கலாம். ஜாவா பொருள் உடனடி மூலம் மட்டுமே நினைவகத்தை ஒதுக்குகிறது. தன்னிச்சையான நினைவகத் தொகுதிகள் ஜாவாவில் பைட்டுகளின் வரிசையாக ஒதுக்கப்படலாம். ஜாவா மற்றும் சி + + வள மேலாண்மைக்கு வெவ்வேறு முட்டாள்தனங்களைப் பயன்படுத்துகின்றன. ஜாவா முக்கியமாக குப்பை சேகரிப்பை நம்பியுள்ளது, இது நினைவகத்தை மீட்டெடுக்க முடியும், அதே நேரத்தில் சி + + முக்கியமாக ரிசோர்ஸ் அக்விஸிஷன் இஸ் இநிஷியலைசேஷன் (ஆர்ஏஐஐ) முட்டாள்தனத்தை நம்பியுள்ளது. இது இரு மொழிகளுக்கும் இடையிலான பல வேறுபாடுகளில் பிரதிபலிக்கிறதுஃ சி + + இல் கலவை வகைகளின் பொருள்களை உள்ளூர் அடுக்கு-பிணைக்கப்பட்ட மாறிகளாக ஒதுக்குவது பொதுவானது, அவை வரம்பிற்கு வெளியே செல்லும்போது அழிக்கப்படுகின்றன. ஜாவாவில் கலவை வகைகள் எப்போதும் குவியலில் ஒதுக்கப்பட்டு குப்பை சேகரிப்பாளரால் சேகரிக்கப்படுகின்றன (குவியல் ஒதுக்கீடுகளை அடுக்குக்கு ஒதுக்குவதற்கு தப்பிக்கும் பகுப்பாய்வைப் பயன்படுத்தும் மெய்நிகர் இயந்திரங்களைத் தவிர). சி + + இல் அழிப்பான்கள் உள்ளன, அதே நேரத்தில் ஜாவாவில் இறுதிப் பொருட்கள் உள்ளன. இரண்டும் ஒரு பொருளின் இடமாற்றத்திற்கு முன் அழைக்கப்படுகின்றன, ஆனால் அவை கணிசமாக வேறுபடுகின்றன. ஒரு சி + + பொருளின் அழிப்பவர் மறைமுகமாக (அடுக்கு-பிணைக்கப்பட்ட மாறிகள் விஷயத்தில்) அல்லது ஒரு பொருளை நீக்குவதற்கு வெளிப்படையாக அழைக்கப்பட வேண்டும். ஒரு பொருளை ஒதுக்கி வைக்கும் நிரலில் உள்ள புள்ளிக்கு சற்று முன்பு அழிக்கும் கருவி ஒத்திசைவாக செயல்படுத்தப்படுகிறது. ஒத்திசைவான, ஒருங்கிணைந்த தொடக்கமில்லாத மற்றும் சி + + இல் நீக்குதல் இதனால் ரேய் முட்டாள்தனத்தை திருப்திப்படுத்துகிறது. சி + + இல் உள்ள டெஸ்ட்ரக்டர்கள் என்பது ஒரு பொருளுடன் தொடர்புடைய வளங்களை திரும்பப் பெறுவதற்கான சாதாரண வழியாகும், மேலும் இது கட்டமைப்பாளர்களுக்குத் தேவையான எதிர்ப்பாகும். ஜாவாவில், பொருள் நீக்குதல் என்பது குப்பை சேகரிப்பாளரால் மறைமுகமாக கையாளப்படுகிறது. ஒரு ஜாவா பொருளின் ஃபைனலைசர் கடைசியாக அணுகப்பட்ட சிறிது நேரத்திற்குப் பிறகும், அது ஒதுக்கப்படுவதற்கு முன்பும் ஒத்திசைவற்ற முறையில் அழைக்கப்படுகிறது. மிகச் சில பொருள்களுக்கு மட்டுமே இறுதிப் பொருட்கள் தேவைப்படுகின்றன. ஜே. வி. எம்-க்கு வெளியே உள்ள வளங்களை வெளியிடும் வகையில், ஒதுக்குவதை நீக்குவதற்கு முன்பு பொருளின் நிலையை சிறிது சுத்தம் செய்வதற்கு உத்தரவாதம் அளிக்க வேண்டிய பொருட்களுக்கு மட்டுமே ஒரு ஃபைனலைசர் தேவைப்படுகிறது. ஃபைனலைசர்களின் நேரடி பயன்பாடுகள் பொதுவாக அறிவுறுத்தப்படுவதில்லை, ஏனெனில் அவை கணிக்க முடியாதவை, பொதுவாக ஆபத்தானவை மற்றும் பெரும்பாலான நேரங்களில் தேவையற்றவை. இறுதிப் போட்டிகளை சி + + அழிக்கும் கருவிகளாக கருதாமல் எச்சரிக்கையாக இருக்க வேண்டும். மாறாக, ட்ரை-வித்-ரிசோர்சஸ் அல்லது ட்ரை-ஃபைனலி பிளாக் என்பது அழிப்பாளரைப் போன்ற ஒத்த நோக்கத்தை அடைகிறது. ஃபைனலைசர்கள் அல்லது கிளீனர்களில் உள்ள ஒரு சிக்கல் என்னவென்றால், அவை உடனடியாக இயங்கும் என்பதற்கு உத்தரவாதம் இல்லை. எனவே, நேர-முக்கியமான பணிகளுக்கு ஒரு இறுதி செய்பவரை ஒருபோதும் பயன்படுத்தக்கூடாது. கூடுதலாக, ஃபைனலைசர்கள் கடுமையான செயல்திறன் அபராதங்களுடன் வருகின்றன, மேலும் பொருள்கள் ஒதுக்கப்படுவதற்கு எடுக்கும் நேரத்தை கணிசமாக அதிகரிக்கின்றன, எனவே அவற்றின் பயன்பாடு ஜாவா 9 இல் ஊக்கமளிக்கப்பட்டு குறைக்கப்படுகிறது. சி + + இல் உள்ள ஆர்ஏஐஐ உடன், ஒரு வகை வளம் பொதுவாக ஒரு சிறிய வகுப்பிற்குள் மூடப்பட்டிருக்கும், இது கட்டுமானத்தின் போது வளத்தை ஒதுக்கி, அழிக்கப்பட்டவுடன் வளத்தை வெளியிடுகிறது, மேலும் அந்த புள்ளிகளுக்கு இடையில் வளத்திற்கான அணுகலை வழங்குகிறது. அத்தகைய ரேய் பொருள்களை மட்டுமே கொண்ட எந்தவொரு வகுப்பும் ஒரு அழிப்பானை வரையறுக்க வேண்டிய அவசியமில்லை, ஏனெனில் ரேய் பொருட்களின் அழிப்பான்கள் தானாகவே அழைக்கப்படுகின்றன, ஏனெனில் இந்த வகுப்பின் பொருள் அழிக்கப்படுகிறது. ஜாவாவில், வளங்களின் பாதுகாப்பான ஒத்திசைவான ஒதுக்கீடு முயற்சி/பிடிப்பு/இறுதியாக கட்டமைப்பைப் பயன்படுத்தி தீர்மானகரமாக செய்யப்படலாம். மாற்றாக, ஜாவா 7 இல் அறிமுகப்படுத்தப்பட்ட ட்ரை-வித்-ரிசோர்சஸ் கட்டமைப்பை, ட்ரை-ஃபைனல் கட்டமைப்புக்கு முன்னுரிமை அளிக்க வேண்டும். வளங்களுடன் முயற்சி கட்டமைப்பு மிகவும் சுருக்கமாகவும் படிக்கக்கூடியதாகவும் உள்ளது. இது மிகவும் பயனுள்ள நோயறிதல் தகவல்களையும் வழங்குகிறது, ஏனெனில் அடக்கப்பட்ட விதிவிலக்குகள் நிராகரிக்கப்படவில்லை, மேலும் அவை அடக்கப்பட்டதாகக் கூறும் தகவல்களுடன் அடுக்கு தடயத்தில் அச்சிடப்படும். சி + + இல், தொங்கும் சுட்டிக்காட்டி இருக்க முடியும், இது ஏற்கனவே ஒதுக்கப்பட்ட ஒரு பொருளைப் பற்றிய பழைய குறிப்பு. தொங்கும் சுட்டியைப் பயன்படுத்த முயற்சிப்பது பொதுவாக நிரல் தோல்விக்கு வழிவகுக்கிறது. ஜாவாவில், குப்பை சேகரிப்பாளர் குறிப்பிடப்பட்ட பொருளை அழிக்க மாட்டார். சி + + இல், தொடக்கமில்லாத பழமையான பொருள்களைக் கொண்டிருக்க முடியும். ஜாவா இயல்புநிலை துவக்கத்தை செயல்படுத்துகிறது. சி + + இல், செல்லுபடியாகும் குறிப்பு இல்லாத ஒதுக்கப்பட்ட பொருளைக் கொண்டிருக்க முடியும். அத்தகைய அணுக முடியாத பொருளை அழிக்க முடியாது (ஒதுக்கப்பட்டுள்ளது), மேலும் நினைவக கசிவு ஏற்படுகிறது. இதற்கு மாறாக, ஜாவாவில் ஒரு பொருள் அணுக முடியாத வரை (பயனர் நிரலால்) குப்பை சேகரிப்பாளரால் ஒதுக்கப்படாது. (பலவீனமான குறிப்புகள் ஆதரிக்கப்படுகின்றன, அவை ஜாவா குப்பை சேகரிப்பாளருடன் இணைந்து பல்வேறு பலங்களை அடைய அனுமதிக்கின்றன.) ஜாவாவில் குப்பை சேகரிப்பு பல நினைவக கசிவுகளைத் தடுக்கிறது, ஆனால் சில சூழ்நிலைகளில் கசிவுகள் இன்னும் சாத்தியமாகும். ஜாவாவில் நினைவக மேலாண்மை பற்றி ஒருவர் சிந்திக்கத் தேவையில்லை என்ற தவறான எண்ணத்தை தானியங்கி குப்பை சேகரிப்பாளர் கொடுக்கலாம். இருப்பினும், இது முற்றிலும் உண்மை இல்லை. மெதுவாகச் சொல்வதானால், ஒரு நிரலில் "நினைவக கசிவுகள்" இருக்கலாம், இது மிகவும் முறையாக "தற்செயலான பொருள் தக்கவைப்புகள்" என்று அழைக்கப்படுகிறது. காலாவதியான குறிப்புகளை அகற்றவில்லை என்பதைத் தவிர, எந்தவொரு தர்க்கரீதியான பிழைகளும் இல்லாமல் எழுதப்பட்ட ஒரு நிரலுக்கான நினைவக கசிவு ஏற்படுவதற்கான ஒரு எடுத்துக்காட்டு. இதன் விளைவாக குப்பை சேகரிக்கும் செயல்பாட்டின் அதிக பயன்பாடு, அதிக நினைவக தடம் ஏற்படுகிறது. தீவிர சூழ்நிலைகளில், இந்த சிக்கல் ஒரு அவுட் ஆஃப் மெமரி பிழைக்கு வழிவகுக்கும், ஆனால் இது அரிதாகவே நிகழ்கிறது. இதற்கு தீர்வு பொருள் குறிப்புகளை ரத்து செய்வதாகும். நினைவக கசிவுக்கான இரண்டாவது பொதுவான காரணம், இனி பொருந்தாத தற்காலிக சேமிப்பின் பயன்பாடு ஆகும். பழைய தற்காலிக சேமிப்பைப் பயன்படுத்துவதால் ஏற்படும் நினைவக கசிவுகளுக்கான தீர்வு பலவீனமான ஹாஷ்மேப்பைப் பயன்படுத்தி தற்காலிக சேமிப்பைப் பிரதிநிதித்துவப்படுத்துவதாகும். நூலகங்கள் சி + + பொதுவாக இயங்குதள-குறிப்பிட்ட நூலகங்களில் கிடைக்கும் பல அம்சங்களுக்கான குறுக்கு-தள அணுகலை வழங்குகிறது. ஜாவாவிலிருந்து சொந்த இயக்க முறைமை மற்றும் வன்பொருள் செயல்பாடுகளுக்கு நேரடி அணுகலுக்கு ஜாவா பூர்வீக இடைமுகத்தைப் பயன்படுத்த வேண்டும். இயக்க நேரம் அதன் கட்டுப்பாடற்ற வெளிப்பாட்டின் காரணமாக, குறைந்த அளவிலான சி + + மொழி அம்சங்கள் (எ. கா. சரிபார்க்கப்படாத வரிசை அணுகல், மூல சுட்டிகள், வகை பஞ்சிங்) தொகுப்பு நேரத்தில் அல்லது ரன் நேரத்தில் மேல்நிலை இல்லாமல் நம்பகத்தன்மையுடன் சரிபார்க்க முடியாது. தொடர்புடைய நிரலாக்க பிழைகள் குறைந்த அளவிலான இடையக நிரம்பி வழிவதற்கும் பிரிவு பிழைகளுக்கும் வழிவகுக்கும். நிலையான வார்ப்புரு நூலகம் இத்தகைய பிழைகளைத் தவிர்க்க உதவும் வகையில் உயர் மட்ட ரேய் சுருக்கங்களை (திசையன், பட்டியல் மற்றும் வரைபடம் போன்றவை) வழங்குகிறது. ஜாவாவில், குறைந்த அளவிலான பிழைகள் ஏற்படாது அல்லது ஜாவா மெய்நிகர் இயந்திரத்தால் (ஜே. வி. எம்) கண்டறியப்பட்டு ஒரு விதிவிலக்கு வடிவத்தில் பயன்பாட்டிற்கு தெரிவிக்கப்படுகின்றன. ஜாவா மொழிக்கு வரம்புகளுக்கு வெளியே உள்ள வரிசை அணுகல் விஷயத்தில் குறிப்பிட்ட நடத்தை தேவைப்படுகிறது, இதற்கு பொதுவாக வரிசை அணுகல்களின் வரம்புகளை சரிபார்க்க வேண்டும். இது ஸ்திரமின்மையின் சாத்தியமான மூலத்தை நீக்குகிறது, ஆனால் பொதுவாக செயல்படுத்துவதை மெதுவாக்கும் செலவில். சில சந்தர்ப்பங்களில், குறிப்பாக ஜாவா 7 முதல், கம்பைலர் பகுப்பாய்வு ஒரு வரம்பு சரிபார்ப்பு தேவையற்றது என்பதை நிரூபித்து அதை அகற்றலாம். சொந்த வரிசைகளின் வரம்புகளுக்கு வெளியே அணுகுவதற்கு சி + + க்கு தேவையான நடத்தை இல்லை, இதனால் சொந்த வரிசைகளை சரிபார்க்க வரம்புகள் தேவையில்லை. இருப்பினும், STD:: திசையன் போன்ற C + + நிலையான நூலக சேகரிப்புகள் விருப்ப வரம்புகளை சரிபார்க்க வழங்குகின்றன. சுருக்கமாக, ஜாவா வரிசைகள் "பொதுவாக பாதுகாப்பானவை; சற்று கட்டுப்படுத்தப்பட்டவை; பெரும்பாலும் மேல்நிலை கொண்டவை" அதே நேரத்தில் சி + + சொந்த வரிசைகள் "விருப்ப மேல்நிலை கொண்டவை; சற்று கட்டுப்பாடற்றவை; பாதுகாப்பற்றவை". டெம்ப்ளேட்கள் மற்றும் ஜெனரிக்ஸ் சி + + மற்றும் ஜாவா இரண்டும் முறையே பொதுவான நிரலாக்கம், டெம்ப்ளேட்கள் மற்றும் ஜெனரிக்ஸுக்கான வசதிகளை வழங்குகின்றன. அவை ஒத்த வகையான சிக்கல்களைத் தீர்ப்பதற்காக உருவாக்கப்பட்டிருந்தாலும், ஒத்த தொடரமைப்பைக் கொண்டிருந்தாலும், அவை மிகவும் வேறுபட்டவை. {| வகுப்பு = "விக்கி செய்யக்கூடியது"! சி + + வார்ப்புருக்கள்! ஜாவா ஜெனரிக்ஸ் |-| வகுப்புகள், செயல்பாடுகள், மாற்றுப்பெயர்கள் மற்றும் மாறிகள் ஆகியவற்றை வார்ப்புருவாக அமைக்கலாம். | வகுப்புகள் மற்றும் முறைகள் பொதுவானதாக இருக்கலாம். |-| அளவுருக்கள் மாறுபடும், எந்த வகையிலும், ஒருங்கிணைந்த மதிப்பு, எழுத்து எழுத்து அல்லது ஒரு வகுப்பு வார்ப்புருவாக இருக்கலாம். | அளவுருக்கள் எந்தவொரு குறிப்பு வகையாகவும் இருக்கலாம், இதில் பாக்ஸ் செய்யப்பட்ட பழமையான வகைகள் (அதாவது. முழு எண், பூலியன்.). |-| தொகுக்கப்படும் போது ஒவ்வொரு அளவுரு-தொகுப்புக்கும் வகுப்பு அல்லது செயல்பாட்டின் தனித்தனி உடன்தொடர்கள் உருவாக்கப்படும். வகுப்பு வார்ப்புருக்களுக்கு, பயன்படுத்தப்படும் உறுப்பினர் செயல்பாடுகள் மட்டுமே உடனடியாக வழங்கப்படும். | வகுப்பு அல்லது செயல்பாட்டின் ஒரு பதிப்பு தொகுக்கப்பட்டுள்ளது, அனைத்து வகை அளவுருக்களுக்கும் வேலை செய்கிறது (வகை-அகற்றுதல் வழியாக). |-| வெவ்வேறு அளவுருக்களுடன் உடனடியாக இணைக்கப்பட்ட ஒரு வகுப்பு வார்ப்புருவின் பொருள்கள் இயக்க நேரத்தில் வெவ்வேறு வகைகளைக் கொண்டிருக்கும் (அதாவது, தனித்துவமான வார்ப்புரு இன்ஸ்டான்டியேஷன்கள் தனித்துவமான வகுப்புகள்). | தொகுக்கும்போது வகை அளவுருக்கள் அழிக்கப்படுகின்றன; வெவ்வேறு வகை அளவுருக்கள் கொண்ட ஒரு வகுப்பின் பொருள்கள் இயக்க நேரத்தில் ஒரே வகையாக இருக்கும். இது ஒரு வித்தியாசமான கட்டமைப்பாளரை ஏற்படுத்துகிறது. இந்த வகை அழிவு காரணமாக, பொதுவான வகுப்பின் வெவ்வேறு இன்ஸ்டான்டியேஷன்களைப் பயன்படுத்தி முறைகளை மிகைப்படுத்த முடியாது. |-| வகுப்பு அல்லது செயல்பாட்டு வார்ப்புருவை செயல்படுத்துவது அதை பயன்படுத்த ஒரு மொழிபெயர்ப்பு அலகுக்குள் தெரியும். இது வழக்கமாக தலைப்பு கோப்புகளில் வரையறைகளைக் கொண்டிருப்பதைக் குறிக்கிறது அல்லது தலைப்பு கோப்பில் சேர்க்கப்பட்டுள்ளது. சி + + 11 இன் படி, சில உடனடி தொகுப்புகளைப் பிரிக்க வெளிப்புற வார்ப்புருக்களைப் பயன்படுத்த முடியும். தொகுக்கப்பட்ட கிளாஸ் கோப்பில் இருந்து கிளாஸ் அல்லது செயல்பாட்டின் கையொப்பம் அதைப் பயன்படுத்த போதுமானது. |-| வார்ப்புருக்கள் சிறப்பு வாய்ந்தவையாக இருக்கலாம்-ஒரு குறிப்பிட்ட வார்ப்புரு அளவுருவிற்கு ஒரு தனி செயல்பாட்டை வழங்க முடியும். | ஜெனரிக்ஸ் சிறப்பு வாய்ந்ததாக இருக்க முடியாது. |-| டெம்ப்ளேட் அளவுருக்கள் இயல்புநிலை வாதங்களைக் கொண்டிருக்கலாம். முன்-சி + + 11, இது டெம்ப்ளேட் வகுப்புகளுக்கு மட்டுமே அனுமதிக்கப்பட்டது, செயல்பாடுகள் அல்ல. | பொதுவான வகை அளவுருக்கள் இயல்புநிலை வாதங்களைக் கொண்டிருக்க முடியாது. |-| வைல்டு கார்டுகள் ஆதரிக்கப்படவில்லை. அதற்கு பதிலாக, திரும்பும் வகைகள் பெரும்பாலும் உள்ளமைக்கப்பட்ட தட்டச்சு வகைகளாக கிடைக்கின்றன. (மேலும், சி + + 11 சேர்க்கப்பட்ட முக்கிய சொல் தானியங்கி, இது தொகுப்பு நேரத்தில் தீர்மானிக்கக்கூடிய எந்த வகையிலும் வைல்டு கார்டாக செயல்படுகிறது.) | வகை அளவுருவாக வைல்டு கார்டுகள் ஆதரிக்கப்படுகின்றன. |-| வகை அளவுருக்களின் வரம்புக்கு நேரடி ஆதரவு இல்லை, ஆனால் மெட்டாப்ரோகிராமிங் இதை வழங்குகிறது | மேல் மற்றும் கீழ் வரம்புகளுக்கு முறையே "நீட்டிப்புகள்" மற்றும் "சூப்பர்" உடன் வகை அளவுருக்களின் வரம்பை ஆதரிக்கிறது; வகை அளவுருக்களுக்கு இடையிலான உறவுகளை அமல்படுத்த அனுமதிக்கிறது. |-| அளவுரு வகையின் வகையுடன் ஒரு பொருளை உடனடிப்படுத்த அனுமதிக்கிறது. | அளவுரு வகையின் வகையுடன் ஒரு பொருளின் உடனடிப்படுத்தலை முன்னிறுத்துகிறது (பிரதிபலிப்பு வழியாக தவிர). |-| வகுப்பு வார்ப்புருவின் வகை அளவுருவை நிலையான முறைகள் மற்றும் மாறிகளுக்கு பயன்படுத்தலாம். பொதுவான வகுப்பின் வகை அளவுருவை நிலையான முறைகள் மற்றும் மாறிகளுக்கு பயன்படுத்த முடியாது. |-| வெவ்வேறு வகை அளவுருக்களின் வகுப்புகள் மற்றும் செயல்பாடுகளுக்கு இடையில் பகிரப்படாத நிலையான மாறிகள். | வெவ்வேறு வகை அளவுருக்களின் வகுப்புகளின் நிகழ்வுகளுக்கு இடையில் பகிரப்பட்ட நிலையான மாறிகள். |-| வகுப்பு மற்றும் செயல்பாட்டு வார்ப்புருக்கள் அவற்றின் அறிவிப்பில் வகை அளவுருக்களுக்கான வகை உறவுகளை அமல்படுத்துவதில்லை. தவறான வகை அளவுருவைப் பயன்படுத்துவது தொகுப்பு தோல்விக்கு வழிவகுக்கிறது, பெரும்பாலும் அதை அழைக்கும் பயனரின் குறியீட்டைக் காட்டிலும் வார்ப்புரு குறியீட்டிற்குள் ஒரு பிழைச் செய்தியை உருவாக்குகிறது. வார்ப்புரு வகுப்புகள் மற்றும் செயல்பாடுகளின் சரியான பயன்பாடு சரியான ஆவணப்படுத்தலைப் பொறுத்தது. மெட்டாப்ரோகிராமிங் இந்த அம்சங்களை கூடுதல் முயற்சியின் செலவில் வழங்குகிறது. சி + + 11 இல் இந்த சிக்கலைத் தீர்ப்பதற்கான ஒரு முன்மொழிவு இருந்தது, இது கருத்துக்கள் என்று அழைக்கப்படுகிறது, இது அடுத்த தரத்திற்கு திட்டமிடப்பட்டுள்ளது. பொதுவான வகுப்புகள் மற்றும் செயல்பாடுகள் அவற்றின் அறிவிப்பில் வகை அளவுருக்களுக்கான வகை உறவுகளை செயல்படுத்தலாம். தவறான வகை அளவுருவைப் பயன்படுத்துவது அதைப் பயன்படுத்தும் குறியீட்டிற்குள் ஒரு வகை பிழையை விளைவிக்கிறது. பொதுவான குறியீட்டில் உள்ள அளவுரு வகைகளின் செயல்பாடுகள் அறிவிப்பின் மூலம் பாதுகாப்பாக இருக்கும் என்று உத்தரவாதம் அளிக்கக்கூடிய வழிகளில் மட்டுமே அனுமதிக்கப்படுகின்றன. இது நெகிழ்வுத்தன்மையின் செலவில் அதிக வகை பாதுகாப்பை விளைவிக்கிறது. |-| வார்ப்புருக்கள் டூரிங்-முழுமையானவை (வார்ப்புரு மெட்டா புரோகிராமிங்கைப் பார்க்கவும்). | ஜெனரிக்ஸ் மேலும் டூரிங்-முழுமையான |} பல்வேறு ஜாவா மற்றும் சி + + குறியீட்டை பல மூலக் கோப்புகளாகப் பிரிக்க வெவ்வேறு வழிகளைப் பயன்படுத்துகின்றன. அனைத்து நிரல் வரையறைகளுக்கும் கோப்பின் பெயர் மற்றும் பாதையை ஆணையிடும் தொகுப்பு அமைப்பை ஜாவா பயன்படுத்துகிறது. அதன் கம்பைலர் செயல்படுத்தக்கூடிய கிளாஸ் கோப்புகளை இறக்குமதி செய்கிறது. சி + + மூலக் கோப்புகளுக்கு இடையில் அறிவிப்புகளைப் பகிர்ந்து கொள்ள ஒரு தலைப்பு கோப்பு மூலக் குறியீடு சேர்ப்பு முறையைப் பயன்படுத்துகிறது. தொகுக்கப்பட்ட ஜாவா குறியீடு கோப்புகள் பொதுவாக சி + + இல் உள்ள குறியீடு கோப்புகளை விட சிறியவை, ஏனெனில் ஜாவா பைட்ட்கோட் பொதுவாக சொந்த இயந்திரக் குறியீட்டை விட மிகவும் கச்சிதமானது மற்றும் ஜாவா நிரல்கள் ஒருபோதும் நிலையான முறையில் இணைக்கப்படுவதில்லை. சி + + தொகுப்பு ஒரு கூடுதல் உரை முன் செயலாக்க கட்டத்தைக் கொண்டுள்ளது, அதே நேரத்தில் ஜாவா இல்லை. இவ்வாறு சில பயனர்கள் நிபந்தனை தொகுப்பின் சிறந்த ஆதரவுக்காக தங்கள் கட்டுமான செயல்முறைக்கு ஒரு முன் செயலாக்க கட்டத்தை சேர்க்கின்றனர். ஜாவாவின் பிரிவு மற்றும் மாடுலஸ் ஆபரேட்டர்கள் பூஜ்ஜியமாக வெட்டுவதற்கு நன்கு வரையறுக்கப்பட்டுள்ளன. சி + + (முன்-சி + + 11) இந்த ஆபரேட்டர்கள் பூஜ்ஜியமாக வெட்டப்படுகிறார்களா அல்லது "முடிவிலிக்கு வெட்டப்படுகிறார்களா" என்பதைக் குறிப்பிடவில்லை. - 3/2 எப்போதும் ஜாவா மற்றும் சி + + 11 இல்-1 ஆக இருக்கும், ஆனால் ஒரு சி + + 03 தொகுப்பாளர் மேடையைப் பொறுத்து-1 அல்லது-2 ஐத் திருப்பித் தரலாம். C99 ஜாவா மற்றும் C + + 11 போன்ற அதே பாணியில் பிரிவை வரையறுக்கிறது. இரண்டு மொழிகளும் (a மற்றும் b முழு எண் வகைகளாக இருந்தால்) (a/b) * b + (a% b) = = a மற்றும் b (b! = 0) அனைத்திற்கும் உத்தரவாதம் அளிக்கின்றன. சி + + 03 பதிப்பு சில நேரங்களில் வேகமாக இருக்கும், ஏனெனில் இது செயலிக்கு சொந்தமான எந்த துண்டித்தல் பயன்முறையையும் தேர்வு செய்ய அனுமதிக்கப்படுகிறது. முழு எண் வகைகளின் அளவுகள் ஜாவாவில் வரையறுக்கப்படுகின்றன (இன்ட் 32-பிட், நீளம் 64-பிட்), அதே நேரத்தில் சி + + இல் முழு எண்கள் மற்றும் சுட்டிகளின் அளவு தொகுப்பு மற்றும் பயன்பாட்டு பைனரி இடைமுகம் (ஏபிஐ) கொடுக்கப்பட்ட கட்டுப்பாடுகளுக்குள் சார்ந்துள்ளது. எனவே ஒரு ஜாவா நிரல் இயங்குதளங்களில் நிலையான நடத்தையைக் கொண்டிருக்கும், அதேசமயம் ஒரு சி + + நிரலுக்கு சில தளங்களுக்கு ஏற்ப மாற்றியமைக்க வேண்டியிருக்கலாம், ஆனால் உள்ளூர் தளத்திற்கு அதிக இயற்கையான முழு எண் அளவுகளுடன் வேகமாக இயங்கலாம். சி + + மற்றும் ஜாவாவை ஒப்பிடுவதற்கான ஒரு எடுத்துக்காட்டு விக்கி புத்தகங்களில் உள்ளது. செயல்திறன் தொகுக்கப்பட்ட ஜாவா நிரலை இயக்குவதோடு மட்டுமல்லாமல், ஜாவா பயன்பாடுகளை இயக்கும் கணினிகள் பொதுவாக ஜாவா மெய்நிகர் இயந்திரத்தையும் (ஜே. வி. எம்) இயக்க வேண்டும், அதே நேரத்தில் தொகுக்கப்பட்ட சி + + நிரல்களை வெளிப்புற பயன்பாடுகள் இல்லாமல் இயக்க முடியும். ஜாவாவின் ஆரம்ப பதிப்புகள் சி + + போன்ற நிலையான தொகுக்கப்பட்ட மொழிகளால் கணிசமாக சிறப்பாக செயல்பட்டன. ஏனென்றால், இந்த இரண்டு நெருக்கமான தொடர்புடைய மொழிகளின் நிரல் அறிக்கைகள் சி + + உடன் ஒரு சில இயந்திர அறிவுறுத்தல்களுடன் தொகுக்கப்படலாம், அதே நேரத்தில் ஒரு ஜே. வி. எம் மூலம் விளக்கும்போது பல இயந்திர அறிவுறுத்தல்களை உள்ளடக்கிய பல பைட் குறியீடுகளாக தொகுக்கலாம். எடுத்துக்காட்டாகஃ செயல்திறன் உகப்பாக்கம் மிகவும் சிக்கலான பிரச்சினை என்பதால், சி + + மற்றும் ஜாவாவுக்கு இடையிலான செயல்திறன் வேறுபாட்டை பொதுவாக அளவிடுவது மிகவும் கடினம், மேலும் பெரும்பாலான அளவுகோல்கள் நம்பத்தகாதவை மற்றும் பக்கச்சார்பானவை. மொழிகளின் மிகவும் மாறுபட்ட இயல்புகளைக் கருத்தில் கொண்டு, உறுதியான தர வேறுபாடுகளையும் வரைய கடினமாக உள்ளது. சுருக்கமாக, ஜாவாவில் உகப்பாக்குவதில் உள்ளார்ந்த திறமையின்மை மற்றும் கடினமான வரம்புகள் உள்ளன, இது நெகிழ்வான உயர் மட்ட சுருக்கங்களை பெரிதும் நம்பியுள்ளது, இருப்பினும், ஒரு சக்திவாய்ந்த ஜேஐடி தொகுப்பாளரின் பயன்பாடு (நவீன ஜேவிஎம் செயல்படுத்தல்களைப் போல) சில சிக்கல்களைத் தணிக்க முடியும். எவ்வாறாயினும், ஜாவாவின் திறமையின்மை மிகவும் அதிகமாக இருந்தால், தொகுக்கப்பட்ட சி அல்லது சி + + குறியீட்டை ஜாவாவிலிருந்து ஜே. என். ஐ வழியாக அழைக்கலாம். ஜாவா மொழியில் உள்ளார்ந்த சில திறமையின்மைகள் அடங்கும், முக்கியமாகஃ அனைத்து பொருட்களும் குவியலில் ஒதுக்கப்படுகின்றன. 'பம்ப் ஒதுக்கீட்டை' பயன்படுத்தி நவீன ஜே. வி. எம்-களில் ஒதுக்கீடு மிகவும் வேகமாக இருந்தாலும், இது அடுக்கு ஒதுக்கீட்டைப் போலவே செயல்படுகிறது, குப்பை சேகரிப்பாளரின் அழைப்பின் காரணமாக செயல்திறன் இன்னும் எதிர்மறையாக பாதிக்கப்படலாம். ஆரக்கிள் ஜே. டி. கே 6 முதல், அடுக்கில் சில பொருட்களை ஒதுக்குவதற்கு தப்பிக்கும் பகுப்பாய்வு அல்லது தப்பிக்கும் கண்டறிதல் மூலம் நவீன ஜே. ஐ. டி தொகுப்பான்கள் இந்த சிக்கலை ஓரளவு குறைக்கின்றன. திறமையான தரவுத்தள அமைப்புகள் மற்றும் செய்தியிடல் நூலகங்கள் போன்ற செயல்திறன்-முக்கியமான திட்டங்கள் கையேடு வள மேலாண்மையை அணுகவும், அடுக்கு ஒதுக்கீட்டைச் செய்யவும் sun.misc.Unsafe போன்ற உள் அதிகாரப்பூர்வமற்ற ஏபிஐகளைப் பயன்படுத்த வேண்டியிருந்தது; போலி-சுட்டிகளை திறம்பட கையாளுதல். நிலையான கொள்கலன்களைப் பயன்படுத்துவதற்கு கூட நிறைய ரன்-டைம் காஸ்டிங் தேவைப்படுவது செயல்திறன் அபராதத்தைத் தூண்டுகிறது. இருப்பினும், இந்த வார்ப்புகளில் பெரும்பாலானவை ஜேஐடி தொகுப்பாளரால் நிலையான முறையில் அகற்றப்படுகின்றன. பாதுகாப்பு உத்தரவாதங்கள் ஒரு இயக்க நேர செலவில் வருகின்றன. எடுத்துக்காட்டாக, தொகுப்பாளர் குறியீட்டில் பொருத்தமான வரம்பு காசோலைகளை வைக்க வேண்டும். ஒவ்வொரு வரிசை அணுகலையும் ஒரு ரேஞ்ச் செக் மூலம் பாதுகாப்பது திறமையானதல்ல, எனவே பெரும்பாலான ஜேஐடி கம்பைலர்கள் அவற்றை நிலையான முறையில் அல்லது உள் சுழல்களிலிருந்து நகர்த்துவதன் மூலம் அகற்ற முயற்சிக்கும் (இருப்பினும் சி + + க்கான பெரும்பாலான சொந்த கம்பைலர்கள் ரேஞ்ச்-செக்குகள் விருப்பப்படி பயன்படுத்தப்படும்போது அதையே செய்யும்). குறைந்த அளவிலான விவரங்களுக்கான அணுகல் இல்லாதது தொகுப்பாளரால் அவ்வாறு செய்ய முடியாத நிரலை மேம்படுத்துவதில் இருந்து டெவலப்பரைத் தடுக்கிறது. ஜாவாவில் உள்ள அனைத்து பயனர் வரையறுக்கப்பட்ட வகைகளுக்கும் குறிப்பு-சொற்பொருள்களின் கட்டாய பயன்பாடு பெரிய அளவிலான மிதமிஞ்சிய நினைவக திசைகளை (அல்லது தாவல்களை) அறிமுகப்படுத்தலாம் (ஜேஐடி தொகுப்பாளரால் வெளியேற்றப்படாவிட்டால்) இது அடிக்கடி தற்காலிக சேமிப்பு தவறுகளுக்கு வழிவகுக்கும் (a. k. a. கேச் த்ராஷிங்). மேலும், கேச்-ஆப்டிமைசேஷன், வழக்கமாக கேச்-அவேர் அல்லது கேச்-ஒப்லிவியஸ் தரவு கட்டமைப்புகள் மற்றும் வழிமுறைகள் வழியாக, பெரும்பாலும் செயல்திறனில் அளவு மேம்பாடுகளின் ஆர்டர்களுக்கு வழிவகுக்கும், அத்துடன் நேர-சிக்கலான சீரழிவைத் தவிர்க்கலாம், இது பல கேச்-அவநம்பிக்கையான வழிமுறைகளின் சிறப்பியல்பாகும், எனவே இது உகப்பாக்கத்தின் மிக முக்கியமான வடிவங்களில் ஒன்றாகும்; ஜாவாவில் கட்டளையிடப்பட்டுள்ளபடி குறிப்பு-சொற்பொருள், அத்தகைய உகப்பாக்கங்களை நடைமுறையில் உணர முடியாது (புரோகிராமர் அல்லது ஜேஐடி தொகுப்பாளரால் அல்ல). குப்பை சேகரிப்பு, தானியங்கி நினைவக நிர்வாகத்தின் இந்த வடிவம் நினைவக மேல்நிலையை அறிமுகப்படுத்துகிறது. இருப்பினும், ஜாவாவின் வடிவமைப்பில் பல நன்மைகள் உள்ளன, சில உணரப்பட்டன, சில கோட்பாட்டளவில் மட்டுமே உள்ளனஃ ஜாவா குப்பை சேகரிப்பு நினைவக ஒதுக்கீட்டிற்கு மேலோக்/நியூவின் வழக்கமான பயன்பாட்டை விட சிறந்த தற்காலிக சேமிப்பு ஒத்திசைவைக் கொண்டிருக்கலாம். ஆயினும்கூட, இரு ஒதுக்கீட்டாளர்களும் குவியலை சமமாக துண்டிக்கிறார்கள் என்றும் சிறந்த தற்காலிக சேமிப்பு இருப்பிடத்தை வெளிப்படுத்தவில்லை என்றும் வாதங்கள் உள்ளன. இருப்பினும், சி + + இல், குவியலில் ஒற்றைப் பொருட்களின் ஒதுக்கீடு அரிதானது, மேலும் பெரிய அளவிலான ஒற்றைப் பொருட்கள் பொதுவாக ஒரு எஸ். டி. எல் கொள்கலன் மற்றும்/அல்லது ஒரு சிறிய பொருள் ஒதுக்கீடு மூலம் தொகுதிகளாக ஒதுக்கப்படுகின்றன. ரன்-டைம் தொகுப்பு குறியீட்டை மிகவும் திறம்பட மேம்படுத்த குறியீடு செயல்படுத்தப்படும் தளத்தைப் பற்றிய தகவல்களைப் பயன்படுத்தலாம். இருப்பினும், பெரும்பாலான அதிநவீன பூர்வீகம் (சி, சி + +, போன்றவை) தொகுப்பான்கள் கொடுக்கப்பட்ட அமைப்பின் முழு கணக்கீட்டு திறன்களைப் பயன்படுத்த பல குறியீடு பாதைகளை உருவாக்குகின்றன. மேலும், நேட்டிவ் கம்பைலர்கள் மல்டி-பிளாட்ஃபார்ம் ஜே. வி. எம் விநியோகங்களை விட கட்டமைப்பு-குறிப்பிட்ட உகப்பாக்கம் மற்றும் அறிவுறுத்தல் தொகுப்புகளை சிறப்பாகப் பயன்படுத்த முடியும் என்று தலைகீழ் வாதத்தை உருவாக்க முடியும். ரன்-டைம் கம்பைலிங் ஒரு நிலையான கம்பைலருக்கு சாத்தியமானதை விட அதிக ஆக்ரோஷமான மெய்நிகர் செயல்பாட்டை இன்லைனிங் செய்ய அனுமதிக்கிறது, ஏனெனில் ஜேஐடி கம்பைலர் மெய்நிகர் அழைப்புகளின் அனைத்து சாத்தியமான இலக்குகளையும் பற்றிய கூடுதல் தகவல்களைக் கொண்டுள்ளது, அவை வெவ்வேறு மாறும் ஏற்றப்பட்ட தொகுதிகளில் இருந்தாலும் கூட. தற்போது கிடைக்கக்கூடிய ஜே. வி. எம் செயல்படுத்தல்களில் பெரும்பாலான மோனோமார்பிக், பெரும்பாலும் மோனோமார்பிக் மற்றும் டைமார்பிக் அழைப்புகளை இணைப்பதில் எந்த பிரச்சனையும் இல்லை, மேலும் ஜாவா 7 இல் சேர்க்கப்பட்ட சமீபத்திய டைனமிக் மேம்பாடுகளுக்கு நன்றி, மெகாமார்பிக் அழைப்புகளையும் இணைப்பதற்கான ஆராய்ச்சி நடந்து வருகிறது. இன்லைனிங் லூப் வெக்டரைசேஷன் அல்லது லூப் அன்ரோலிங் போன்ற மேலும் உகப்பாக்கங்களை அனுமதிக்கும், இதன் விளைவாக ஒட்டுமொத்த செயல்திறன் அதிகரிக்கும். ஜாவாவில், நூல் ஒத்திசைவு மொழியில் கட்டமைக்கப்பட்டுள்ளது, எனவே ஜேஐடி தொகுப்பானது, தப்பிக்கும் பகுப்பாய்வு மூலம், பூட்டுகளை வெளியேற்றுவதன் மூலம், அப்பாவியான பல-நூல் குறியீட்டின் செயல்திறனை கணிசமாக மேம்படுத்த முடியும். மேலும், சி + + இல் சில செயல்திறன் சிக்கல்கள் ஏற்படுகின்றனஃ எந்த முகவரியையும் சுட்டிக்காட்ட சுட்டிகளை அனுமதிப்பது சுட்டிக்காட்டி மாற்றுப்பெயரிடுவதற்கான சாத்தியம் காரணமாக உகந்ததாக்குவதை கடினமாக்கும். சி + + இல் ஒரே வகுப்பு வார்ப்புருவின் பல்வேறு உடன்தொடர்தல்களிலிருந்து உருவாக்கப்படும் குறியீடு பகிரப்படாததால் (ஜாவாவில் வகை-அழிக்கப்பட்ட ஜெனரிக்ஸைப் போல), வார்ப்புருக்களின் அதிகப்படியான பயன்பாடு செயல்படுத்தக்கூடிய குறியீடு அளவை (குறியீடு வீக்கம்) கணிசமாக அதிகரிக்க வழிவகுக்கும். இருப்பினும், செயல்பாட்டு வார்ப்புருக்கள் ஆக்ரோஷமாக உட்பொதிக்கப்பட்டிருப்பதால், அவை சில நேரங்களில் குறியீடு அளவைக் குறைக்கலாம், ஆனால் மிக முக்கியமாக அதிக ஆக்ரோஷமான நிலையான பகுப்பாய்வு மற்றும் தொகுப்பாளரால் குறியீடு உகப்பாக்கம் செய்ய அனுமதிக்கின்றன, இது பெரும்பாலும் வார்ப்புரு அல்லாத குறியீட்டை விட மிகவும் திறமையானதாக அமைகிறது. இதற்கு நேர்மாறாக, ஜாவா ஜெனரிக்ஸ் உருவாக்கப்படாத குறியீட்டை விட குறைவான செயல்திறன் கொண்டவை. ஏனெனில் ஒரு பாரம்பரிய சி + + தொகுப்பில், சி + + இல் குறியீட்டை உருவாக்கி உகந்ததாக்கிய பிறகு டைனமிக் லிங்கிங் செய்யப்படுகிறது, வெவ்வேறு டைனமிக் தொகுதிகளில் பரவியிருக்கும் செயல்பாட்டு அழைப்புகளை இணைக்க முடியாது. இருப்பினும் எம்எஸ்விசி மற்றும் கிளாங் + எல்எல்விஎம் போன்ற நவீன சி + + தொகுப்பான்கள் இணைப்பு-நேர-குறியீடு-தலைமுறை விருப்பங்களை வழங்குகின்றன, அவை தொகுதிகளை இடைநிலை வடிவங்களுக்கு தொகுக்க அனுமதிக்கின்றன, இது இறுதி இணைப்பு கட்டத்தில் இணைக்க அனுமதிக்கிறது. அதிகாரப்பூர்வ தரநிலை மற்றும் மொழி மொழி விவரக்குறிப்பின் குறிப்பு சி + + மொழி ஐஎஸ்ஓ/ஐஇசி 14882 ஆல் வரையறுக்கப்படுகிறது, இது ஒரு ஐஎஸ்ஓ தரநிலையாகும், இது ஐஎஸ்ஓ/ஐஇசி ஜேடிசி 1/எஸ்சி 22/டபிள்யூஜி 21 குழுவால் வெளியிடப்படுகிறது. சி + + 17 இன் சமீபத்திய, தரப்படுத்தலுக்குப் பிந்தைய வரைவும் கிடைக்கிறது. சி + + மொழி சி + + தரக் குழு என்று அழைக்கப்படும் ஒரு திறந்த வழிநடத்தல் குழு மூலம் உருவாகிறது. இந்தக் குழுவில் சி + + பிஜார்னே ஸ்ட்ரூஸ்ட்ரப் உருவாக்கியவர், ஒருங்கிணைப்பாளர் ஹெர்ப் சுட்டர் மற்றும் தொழில்துறைகள் மற்றும் பயனர் குழுக்களின் (அதாவது, பங்குதாரர்கள்) பல பிரதிநிதிகள் உட்பட பிற முக்கிய நபர்கள் உள்ளனர். ஒரு திறந்த குழுவாக இருப்பதால், நிலையான மற்றும் தொழில்நுட்ப விவரக்குறிப்புகளின் வரவிருக்கும் வெளியீடுகளுக்கான திட்டங்களில் சேரவும், பங்கேற்கவும், பங்களிக்கவும் எவருக்கும் சுதந்திரம் உள்ளது. இந்தக் குழு இப்போது ஒவ்வொரு சில வருடங்களுக்கும் ஒரு புதிய தரநிலையை வெளியிடுவதை நோக்கமாகக் கொண்டுள்ளது, இருப்பினும் கடந்த காலத்தில் கடுமையான மறுஆய்வு செயல்முறைகள் மற்றும் விவாதங்கள் புதிய தரநிலைகளை வெளியிடுவதற்கு (1998,2003 மற்றும் 2011) இடையே நீண்ட தாமதங்களைக் குறிக்கின்றன. ஜாவா மொழி ஆரக்கிள் வெளியிட்ட ஜாவா மொழி விவரக்குறிப்பு என்ற புத்தகத்தால் வரையறுக்கப்படுகிறது. ஜாவா மொழி ஜாவா சமூக செயல்முறை என்று அழைக்கப்படும் ஒரு செயல்முறையின் மூலம் தொடர்ந்து உருவாகிறது, மேலும் உலகின் நிரலாக்க சமூகம் மக்கள் மற்றும் அமைப்புகளின் ஒரு குழுவால் பிரதிநிதித்துவப்படுத்தப்படுகிறது-ஜாவா சமூக உறுப்பினர்கள்-இது பொது கோரிக்கைகளை அனுப்புவதன் மூலம் மொழியை மேம்படுத்துவதில் தீவிரமாக ஈடுபட்டுள்ளது-ஜாவா விவரக்குறிப்பு கோரிக்கைகள்-அவை மொழியில் ஒருங்கிணைக்கப்படுவதற்கு முன்பு முறையான மற்றும் பொது மதிப்புரைகளை அனுப்ப வேண்டும். ஜாவாவுக்கான உறுதியான தரநிலையின் பற்றாக்குறை மற்றும் அதன் விவரக்குறிப்புகளின் சற்றே அதிக கொந்தளிப்பான தன்மை ஆகியவை புதிய மொழி மற்றும் நூலக அம்சங்களைச் சேர்ப்பதில் அதிக ஸ்திரத்தன்மை மற்றும் பழமைவாதத்தை விரும்பும் பங்குதாரர்களால் தொடர்ந்து விமர்சிக்கப்படுகின்றன. இதற்கு மாறாக, சி + + குழுவும் தொடர்ச்சியான விமர்சனங்களைப் பெறுகிறது, இதற்கு நேர்மாறான காரணத்திற்காக, அதாவது, மிகவும் கண்டிப்பான மற்றும் பழமைவாதமாக இருப்பது மற்றும் புதிய பதிப்புகளை வெளியிட அதிக நேரம் எடுத்துக்கொள்வது. வர்த்தக முத்திரைகள் "சி + +" என்பது எந்தவொரு நிறுவனம் அல்லது அமைப்பின் வர்த்தக முத்திரை அல்ல மற்றும் எந்தவொரு தனிநபருக்கும் சொந்தமானது அல்ல. "ஜாவா" என்பது ஆரக்கிள் கார்ப்பரேஷனின் வர்த்தக முத்திரையாகும். மேற்கோள்கள் மேற்கோள்கள் வெளிப்புற இணைப்புகள் சி + + மற்றும் ஜாவா பொருள் சார்ந்த நினைவக மேலாண்மைக்கு இடையிலான வேறுபாடுஃ ஜாவா வெர்சஸ் சி + + அத்தியாயம் 2: ஜாவா சி இலிருந்து எவ்வாறு வேறுபடுகிறது, ஜாவாவிலிருந்து அத்தியாயம் டேவிட் ஃபிளானகன் ஜாவா வெர்சஸ் சி + + வள மேலாண்மை ஒப்பீடு-ஜாவா வெர்சஸ் சி செயல்திறன் எடுத்துக்காட்டுகளுடன் விரிவான காகிதம். மீண்டும்.-ஜாவா மற்றும் சி/சி + + ஹைபர்போலி இடையே செயல்திறன் வேறுபாடுகள் பற்றிய ஆழமான விவாதம்-ஜாவா மற்றும் சி + + ஜாவா ஒப்பீடு மற்றும் சி + + ஜாவா (நிரலாக்க மொழி) சி + +