ဒီပို႔စ္ကိုဖတ္တဲ့ အခါ ပံုကိုေသခ်ာတြဲၿပီးၾကည့္ေစခ
Developer ေတြ တည္ေဆာက္သမွ် Java Code ေတြကို .java ဖိုင္ ေတြအေနနဲ႔ သိမ္းပါတယ္၊ ပံုမွာျပထားတဲ့ အနီေရာင္ပံုေတြထဲက Start.java ဖိုင္ကေတာ့ main() method ရွိတဲ့ဖိုင္ပါ (main function လို႔လဲယူစႏိုင္သလို အမ်ားစုလဲ function လို႔ပဲေခၚပါတယ္၊ တကယ္ေတာ့ Java မွာ Method ေတြနဲ႔ အလုပ္လုပ္ပါတယ္၊ C++ ဘာသာရပ္မွာေတာ့ main function လို႔ ေခၚပီး Program စတင္တဲ့ Initialize function ျဖစ္ပါတယ္၊
အထက္က main method ထဲမွာ ေနာက္ထပ္ method ႏွစ္ခုကိုုေခၚထားပါတယ္၊ f1() နဲ႔ f2() တို႔ပါ၊ ေအာက္က ဖိုင္ႏွစ္ခုျဖစ္ ကေတာ့ f1() method ပါတဲ့ fun1.java ဖိုင္နဲ႔ ေအာက္ဆံုးတစ္ခုက f2() method ပါတဲ့ fun2.java ဖုိင္တို႔ပါ၊
ပံုမွာပါတဲ့ Start.java ဖိုင္ကိုစ Run ပီဆိုတာနဲ႔ javac (Java Compiler) က Start.java , fun1.java နဲ႔ fun2.java တို႔ကို compile (စီကုံုးေပးတယ္၊ တည္ေဆာက္ေပးတယ္)၊ Java Compiler က တည္ေဆာက္လိုက္ရင္ .java ဖိုင္ေတြကေန .class ဖိုင္ေတြအျဖစ္ေျပာင္းသြားပါ
Byte Code ေတြပါ၀င္တဲ့ .class ဖိုင္ေတြကို Class Loader component က RAM ထဲကို ၀န္တင္ပါတယ္၊ Class Loader Component က JVM (Java Virtual Machine) ထဲ မွာရွိတာပါ၊ JVM က RAM ထဲမွာရွိေနတယ္၊ JVM ထဲမွာ Class Loader တစ္ခုထည္းတာပါ၀င္တာမဟုတ္ပဲန
JVM ထဲမွာရွိေနတဲ့ Class Loader က Byte Code ေတြပါ၀င္တဲ့ Class ဖိုင္ေတြကို ၀န္တင္မယ္၊ Byte Code Verifier က Class Loader ၀န္တင္ေပးတဲ့ Class ဖိုင္ေတြကို Operant Stack Under flow ျဖစ္လား Operation Stack Overflow ျဖစ္လား Access Restriction Violation ျဖစ္လားကို စစ္ေဆးပါတယ္၊ ဒါက Java ကို လံုျခံဳေရးစိတ္ခ်ရတဲ့ ဘာသာရပ္တစ္ခုျဖစ္ေစတဲ့ အေၾကာင္းအရင္းပါ၊ ဒီလို Byte Code Verifier ကလိုအပ္တဲ့ စစ္ေဆးမွဴေတြျပဳလုပ္ပီးသြား
ဘာ့ေၾကာင့္ Java ကို mid-level language လို႔ေခၚသလဲ
programming ဘာသာရပ္ျဖစ္တဲ့ Java ကို ဘာလို႔ mid-level လို႔သတ္မွတ္တာလဲ၊ အဓိက အေၾကာင္းအရင္းက Java မွာ JVM လို႔ေခၚတဲ့ ၾကားခံ Compiler ပါ၀င္ေနလို႔ပါ၊ အျခားဘာသာရပ္ေတြျဖစ္တဲ့ C program နဲ႔ C++ ဖိုင္ေတြကို Compile လုပ္လိုက္ရင္ Machine Code ေတြပါ၀င္တဲ့ .obj ဖိုင္ေတြခ်က္ျခင္း ရပါတယ္၊ ဒီဖိုင္ေတြကို Linker ေတြက ခ်ိတ္ဆက္ပီး .exe ဖိုင္ကို အေျဖထုတ္ေပးတယ္၊ Java ဘာသာက JVM လို႔ ၾကားခံ Machine Code Generate လုပ္မယ့္ Components ကို RAM ထဲမွာ တင္ထားစရာမလိုဘူး၊ Java ကေတာ့ လိုတယ္၊ ဒီလိုပဲ C# ကလဲ .Net ကို ၾကားခံ Machine Code Generator လိုတယ္၊ ဒီ့ အတြက္ေၾကာင့္ Java နဲ႔ C# ကို mid-level programming လို႔ေခၚတာပါ၊
ေန႔စဥ္ပို႔စ္ေတြတင္ေပးသြားပ
ဒီပိုုစ့္ကိုု pdf ဖိုုင္ အျဖစ္ ေဒါင္းလုုဒ္လုုပ္လိုု ပါက ေအာက္ပါ လင့္တြင္း ေဒါင္းလုုပ္ရယူႏုုိင္ပါသည္
http://goo.gl/hUyi4t
ေက်းဇူးျပဳ၍
ဒီပို႔စ္ကို BrighterMyanmar အဖြဲ႔႕ ေရးတာျဖစ္ပီး အကယ္၍ ပို႔စ္ မွာ အမွား ပါေနတာေတြ႔ရင္ ေက်းဇူးျပဳၿပီး brightermyanmar@gmail.com ကို ေၾကာင္းၾကားေပးပါခင္ဗ်ာ၊ ကၽြန္ေတာ္တို႔ ေသခ်ာ ျပန္စီစစ္ပီး ျပင္ပါ့မယ္၊
0 comments:
Post a Comment