Saturday, April 27, 2019

JVM ­ ஜாவா செயற்பாடுகள்-பகுதி-2



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

ஸ்டேட்டிக் கம்பைலர் ஆகும் ஆனது பின் வரும் வரிகளை இன்புட்டாக ஏற்பதாக எடுத்துக் கொள்வோம்.



அதன் வெளீயீடு பைட் கோடில்:

 
 
 
 
 
டைனமிக் கம்பைலேசன் ஆனது கோடிங்க் இயங்கும் நேரத்தில்  நடப்பது.இது அப்ளிகேசன் லோட் மாற்றதிற்கு ஏற்றாற்போல் அடாப்ட் செய்து கொள்கின்றது.எந்த வித முன் கணிப்பும் செய்யா இயலா நிலையில் டைனமிக் கம்பைலர்கள் பயன்படுகின்றது.
பெரும்பாலான jvm கள் jit போன்ற (just intime compiler)கம்பைலர்களை பயன்படுத்துகின்றன.இதற்கு கூடுதல் டேட்டா ஸ்ட்ரக்சர், திரட், cpu ரிசோர்சஸ் ஆகியவை தேவைப்படும்.
ஒரு பைட் கோட்டை மெசின் கோடாக மாற்றுவதற்கு இண்டர்பிரட்டரோ அல்லது கம்பைலரோ தேவைப் படுகின்றது.
இண்டர்பிரட்டேசன் எளிய வழியாகும். இது பைட் கோடை ரீட் செய்து ஹார்டுவேர் இன்ஸ்ட்ரக்சன் ஆக மாற்றி அனுப்புகின்றது.
இது ஒரு அகராதியை பயன்படுத்துவது போல் ஒவ்வொரு அறிவுரைகளையும் மொழி மாற்றம் செய்கின்றது.ஒவ்வொரு முறை இது இன்வோக் செய்யும் பொழுதும் இன்டெர்பிரட் செய்கின்றது. எனவே வேலை மெதுவாக நடக்கின்றது.

கம்பைலேசன்  இவ்வாறு அல்லாமல் ஒட்டு மொத்தமாக லோட் செய்கின்றது. இயங்கு நேரத்தில் எவ்வாறு டிரான்ஸ்லேசன் செய்வது என்று தீர்மானிக்கபடுகின்றது. இது ஒவ்வொரு முறை டிரான்ஸ்லேசன் செய்யும் பொழுதும் பகுதியை சேமிக்கின்றது.அது அடுத்த தடவை இயக்கப்படும் பொழுது சேமிக்கப் பட்ட கோடிலிருந்து எடுத்து இயங்குகின்றது.இதனால் இயக்கம் வேகமாக நடக்கின்றது.மேலும் இது ஆப்டிமை சேசனுக்கும் வழி ஏற்படுத்துகின்றது.


வெவேறு வகையான கம்பைலர்கள்.
ஒவ்வொரு அப்ளிகேசனுக்கும்  ஏற்றாற் போல் ஒவ்வொரு விதமான கம்பைலர்கள் தேவைப்படுகின்றது.எண்டர்பிரைஸ் அப்ளிகேசன் என்றால் கூடுதல் ஆப்டிமைசேசன் செய்யக் கூடிய கம்பைலர்கள் தேவைப்படும். இதே கிளையண்ட் சைடு என்றால் குறைவான ரிசோர்ஸ்களை பயன்படுத்தி வேகமாக இயங்க வேண்டும்.
கிளையண்ட் சைட் கம்பைலர்.
இதற்கு உதாரணம் c1 கம்பைலர் இது –client என்கின்ற JVM ஸ்டார்ட் அப் ஆப்சன் மூலம் எனேபிள் செய்யப்படுகின்றது.இது அப்ளிகேசன் ஸ்டார்ட் அப் நேரத்தைக் குறைக்கின்றது.
சர்வர் சைட் கம்பைலர்.
கூடுதல் நேரம் இயங்க வேண்டிய எண்டர்பிரைஸ் அப்ளிகேசனுக்கு C1 என்ற கம்பைலரை விட கூடுதல் திறன் கொண்ட கம்பைலர்கள் தேவை.அதற்கு பதிலாக C2 என்கின்ற சர்வர் சைடு கம்பைலர் பயன்படுகின்றது.இது –SERVER என்ற JVM ஸ்டார்ட் அப் ஆப்சன் மூலம் எனேபிள் செய்யபடுகின்றது.
சர்வர் சைடு கம்பைலர் ஆனது சிக்கலான பிராஞ்ச் அனாலிசிஸ்  மற்றும் கூடுதல் டேட்டா பிரபைலிங்க்  போன்றவற்றிற்கு பயன்படுகின்றது.இதற்கு கூடுதல் திரட் மற்றும் கூடுதல் சிபியு சைக்கிள்கள் தேவைப்படும்.
TIERED   கம்பைலேசன்.
இது கிளையண்ட் சைட் கம்பைலேசன், சர்வர் சைட் கம்பைலேசன் இரண்டின் நண்மைகளயும் எடுத்துக் கொள்கின்றது. அப்ளிகேசன் தொடங்கும் பொழுது கிளையண்ட் சைட் கம்பைலேசன் ஆக்டிவாக  இருக்கின்றது.கூடுதல் ஆப்டிமைசேசனுக்கு ஏற்றாற் போல் பிறகு சர்வர் சைடு கம்பைலேசன் பங்கேற்கின்றது.
இன்டெர்பிரட்டொடு ஒப்பிடும் பொழுது கிளையண்ட் சைடு கம்பைலர் 5 அல்லது 10 மடங்கு திறன் வாய்ந்தது. இது அப்ளிகேசன் பெர்ஃபார்மன்சையும் ஏற்படுத்துகின்றது.
இந்த மாற்றம் கம்பைலரின் எஃபிசியன்ஸ்,என்னென ஆப்டிமைசேசன் இம்ப்ளிமென்ட் செய்யப்பட்டுள்ளன மற்றும் எவ்வாறு அப்ளிகேசன் நன்றாக வடிவமைக்கப்பட்டுள்ளது என்பதையும் பொறுத்ததாகும்.
-தொடரும்.
நன்றி
முத்து கார்த்திகேயன்,மதுரை.


 TO LEARN COURSES LIKE C,C++, JAVA, DOT NET, PYTHON, PHP, WEB DESIGNING, MS-OFFICE, TALLY CONTACT:96293 29142


PLEASE FEEDBACK ABOUT THIS ARTICLE








ads Udanz

No comments:

Post a Comment