+++++ Dear ….. Thank you for visiting our booth at the Myanmar Black Hacking. We hope you will have a good time and enjoyed your visit to Underground. In case we won't answer some of your questions about our Real Info, we encourage you to visit our website at www.myanmarblackhacking.com +++++ It will give you a good idea of what we can do for +++++

Oct 26, 2015

0 Java နွင့္ စတင္မိတ္ဆက္ျခင္း


Object-Oriented Programming language တစ္ခုျဖစ္တဲ့ Java ကုိ Sun Microsystem မွ 1991 June မွာ set-top box projects အတြက္ James Gosling က တီထြင္ခဲ့တယ္လုိ႔ သိရပါတယ္။ ပထမဆုံး အမည္မွာ 0ak ျဖစ္ျပီး Sun Microsystem office ရဲ့အျပင္ဖက္မွာေပါက္ေနတဲ့ ၀က္သစ္ခ်ပင္ၾကီးကုိ အစြဲျပဳ၍ ေခၚတြင္ခဲ့သည္ဟု သိရပါတယ္။

syntax တည္ေဆာက္ပုံကေတာ့ C & C++ တုိ႔နဲ႔ဆင္တူပါတယ္ ။ Platform အေပၚမွီခုိမႈမရွိတဲ့ Java virtual Machine ေၾကာင့္ Java ဟာ Write Once Run Anywhere (WORA) တစ္ၾကိမ္ေရး မည္သည့္ Operating System တြင္မဆုိ သုံးနုိင္သည္ဟုဆုိပါတယ္ ။ အမ်ားျပည္သူ အသုံးျပဳနုိင္ရန္အတြက္Java 1.0ကုိ ၁၉၉၅ မွာစတင္ထုတ္လုပ္ခဲ့ပါတယ္ ။Javaရဲ့ အဓိကအက်ိဴးေက်းဇူး ၄ ခုရွိတယ္လုိ႔ဆုိတယ္ ။
၁။ Object-Oriented ျဖစ္ျခင္း
၂။ Platform မွီခုိမႈမရွိျခင္း
၃။ကြန္ယက္ဆက္သြယ္မႈအတြက္ Libraries မ်ားႏွင့္ Language facitilites မ်ားပါရွိျခင္း
၄။Remote Sources မ်ားမွ လုံျခဳံစြာ execute လုပ္နုိင္ရန္တည္ေဆာက္ထားျခင္း

Java Platform အေၾကာင္း

အရွင္းဆုံးေျပာရရင္ Java Platform ဆုိတာ Java Programming Language နဲ႔ေရးထားတဲ့ Application ေတြ run နုိင္ေအာင္ ေထာက္ပံ့ေပးတဲ့ Development Tools ေတြ စုထားတဲ့ အစုအဖြဲ႔ တစ္ခုပဲ ဆုိပါေတာ့။ Hardware-based Platform ေတြအေပၚမွာ Run တဲ့ Software-Only Platform လုိ႔ေျပာပါတယ္။ ဒီ့အျပင္ Vitual Machine လုိ႔ေခၚတဲ့ Execution Engine တစ္ခုရယ္ ၊အသင့္ ေရးထားေပးတဲ့ code ေတြပါတဲ့ Class Libraries ေတြ ျပီးေတာ့ Java Programming Language ရယ္ေပါင္းျပီး Java Platform လုိ႔ေခၚတယ္လုိ႔ဆုိ ပါတယ္ ။

Software ေတြ ေရးသားတဲ့ အခါအသုံးျပဳတဲ့ Platform ၾကီးနွစ္ခုထဲမွာ Java ဟာလည္း တစ္ခုအပါအ၀င္ ျဖစ္ပါတယ္။ ေနာက္တစ္ခု ကေတာ့ Microsoft .Net Platform ပဲျဖစ္ပါတယ္။ ကၽြန္ေတာ္ ကေတာ့ Java ကုိပဲ စိတ္၀င္စားတဲ့ အတြက္ Java အေၾကာင္းပဲ သိေအာင္ၾကိဳးစားပါတယ္။
တိတိက်က်ေျပာရရင္ Java Platform ကုိ အပုိင္းသုံးပုိင္းနဲ႔ဖြဲ႔စည္းထားပါတယ္ ။
1. Java Programming language
2. Java Virtual
3. Application Programming Interfaces(APIs)

ျပီးေတာ့ Java Platform ကုိ Edition သုံးပုိင္းခြဲထားျပန္ပါေသးတယ္ ။

1. Java Platform Standared Edition(J2SE or Java SE)
2. Java Platform Enterprise Edition (J2EE or Java EE)
3. Java Platform Micro Edition (J2ME or Java ME)
Standard Edition ကုိ Destop computer မ်ားတြင္ အသုံးျပဳရန္ အတြက္ရည္ရြယ္ျပီး ထုတ္လုပ္ ျခင္းျဖစ္ပါတယ္ ။ Enterprise Edition ကုိ Internet ကုိအေျခခံတဲ့ Server-side Computing မ်ားအတြက္ Micro Edition ကုိ Mobile phone ကဲ့သုိ႔ေသာေသးငယ္တဲ့ Electronic Device မ်ားအတြက္ရည္ရြယ္ပါတယ္ ။

Java Platform ကုိ Product ပုံစံနွစ္မ်ဴိးနဲ႔ ထုတ္လုပ္ပါတယ္တဲ့ ။

1. Java Runtime Enviroment (JRE)
2. Java Development Kit (JDK)

Java Runtime Enviroment ဆုိသည္မွာ Java language ျဖင့္ေရးထားေသာ Application မ်ားနဲ႔ Applet မ်ားကုိ run ေပးနုိင္ရန္ အတြက္လုိအပ္တဲ့ Component မ်ားပါ၀င္ျပီးCompiler & Debugger ကဲ့သုိ႔ေသာ tools & utilities မ်ားမပါ၀င္တဲ့ Sun ရဲ့ ထုတ္ကုန္တစ္ခုျဖစ္ပါတယ္ ။
Java Development Kit ဆုိသည္မွာ JRE မွာပါ၀င္တဲ့ component မ်ားအားလုံး ပါ၀င္သည့္အျပင္ Compiler & Debugger ကဲ့သုိ႔ေသာ Tools & Utilities မ်ား ထပ္ေပါင္းထည့္ထားတဲ့ Sun ၏ ထုတ္ကုန္ တစ္မ်ဴိးပင္ ျဖစ္သည္ လုိ႔ဆုိၾကပါတယ္ ။

Machine Language ေတြနဲ႔ေရးသာထားတဲ့ ရုိးရွင္းတဲ့ ညႊန္ၾကားခ်က္ေတြကုိ CPU မွတုိက္ရုိက္ execute လုပ္နုိင္ပါတယ္တဲ့ ….။ဒါေပမယ့္ Program အမ်ားစုကုိ High-Level programming မ်ားျဖစ္ၾကတဲ့ Java, Pascal,C++ စတာေတြနဲ႔သာ ေရးသား ၾကတာေတြ႔ရပါတယ္ …။ High-level programming ေတြနဲ႔ေရးထားတဲ့ programs ေတြကုိေတာ့ Computer CPU ကတုိက္ရုိက္ execute လုပ္နုိင္ျခင္းမရွိပါဘူး ..။ အရင္ဆုံးသူတုိ႔ကုိ computer ကနားလည္တဲ့ Machine language အျဖစ္ေျပာင္းေပးဖုိ႔ လုိအပ္ပါတယ္ …။ဒီလုိ ေျပာင္းလဲျခင္းကုိ compiler လုိ႔ေခၚတဲ့ program နဲ႔ျပဳလုပ္ရပါတယ္လုိ႔ ဆုိပါတယ္…။ဒီလုိ High-level program ကေနစက္ကနားလည္တဲ့ executable machine-language အျဖစ္ေျပာင္းလဲျခင္း ကုိ compile လုပ္တယ္လုိ႔ေခၚပါတယ္ …။

ထုိသုိ႔ compile လုပ္တဲ့အခါမွာ compiler ကေန object code လုိ႔ေခၚတဲ့ executable file (.exe) ကုိ ထုတ္ေပး ပါတယ္ …။ တစ္ၾကိမ္ compile လုပ္ထားျပီးတဲ့ program ကုိေနာက္တစ္ၾကိမ္ထပ္ျပီး compile လုပ္စရာမလုိပဲ အၾကိမ္ေပါင္းမ်ားစြာသုံးနုိင္ပါတယ္တဲ့ …။ ဒါေပမယ့္ compile လုပ္ထားတဲ့ computer မွာပဲသုံးလုိ႔ရမွာပါ …။ ေနာက္ထပ္ platform မတူတဲ့ computer မွာသုံးခ်င္ရင္ေတာ့ ေနာက္ထပ္ သုံးခ်င္တဲ့ computer မွာ ေနာက္ထပ္compiler တစ္ခုနဲ႔ compile ျပန္လုပ္ရမွာျဖစ္ပါတယ္ …။

Java ဟာ compilation ေရာ interpertation ေရာ ႏွစ္မ်ဴိးလုံးလုပ္ေဆာင္တဲ့ Language တစ္ခုပါ …။ Java Language နဲ႔ေရးထားတဲ့ program တစ္ခုကို Java compiler နဲ႔ compile လုပ္ျပီးတဲ့အခါမွာ object code (.exe ) executable file ကုိရရွိမွာမဟုတ္ဘဲ byte code(.class) binary file ကုိသာထုတ္ေပးမွာျဖစ္ပါတယ္ …။ byte code ကုိ computer CPU ကေနတုိက္ရုိက္ execute လုပ္နုိင္ျခင္းမရွိပါဘူး ..။၄င္း byte code ကုိ execute လုပ္ေပးမွာက Java Virtual Machine ပဲျဖစ္ပါတယ္ ..။ Real machine အတြက္ Machine language ကုိ Object code လုိ႔ေခၚသလုိ Java Virtual Machine အတြက္ Machine Language ကုိ Byte code လုိ႔လည္း ေခၚလုိ႔ရပါတယ္ …။ ၄င္း Java Virtual Machine (JVM) ကုိ platform အမ်ဴိးအစား မတူညီတဲ့ Computer ေတာ္ေတာ္မ်ားမ်ား အတြက္ရနုိင္ပါတယ္ ..။ ဒါေၾကာင့္တစ္ၾကိမ္ compile လုပ္ထားျပီးတဲ့ Java byte code ကုိမတူညီတဲ့ ေနာက္ထပ္ JVM ရွိသည့္ မည္သည့္ computer မွာမဆုိထပ္မံ compile လုပ္စရာမလုိပဲသုံးနုိင္ပါတယ္ ..။ဥပမာအားျဖင့္ Mircosoft windows platform computer မွာ compile လုပ္ထားတဲ့byte code ကုိ JVM ရွိတဲ့Apple ရဲ့ Mac OS မွာပင္ျဖစ္ေစ JVM ရွိတဲ့ Linux platform computer မွာပင္ျဖစ္ေစထပ္မံ compile မလုပ္ပဲသုံးနုိင္္ပါတယ္ …။

Interface ဆုိတာ ဆက္သြယ္မႈ နယ္ပယ္ တစ္ခုပဲျဖစ္တယ္ ။ ဥပမာအားျဖင့္ Software နဲ႔ Hardware တုိ႔ၾကား ဆက္သြယ္မႈနယ္ပယ္ ျပီးေတာ့ Software နဲ႔ အသုံးျပဳသူ ေတြၾကား ဆက္သြယ္မႈနယ္ပယ္ တုိ႔ကုိ Interface လုိ႔ေခၚပါတယ္တဲ့ ..။ Computer နဲ႔ လူတုိ႔အၾကား ဆက္သြယ္မႈ ကုိ user interface လုိ႔ေခၚျပီး Hardware အစိတ္အပုိင္း ေတြၾကားဆက္သြယ္မႈ ကုိေတာ့ Physical Interface လုိ႔ေခၚပါတယ္ …။
Java ရဲ့ Application Programming Interface အေၾကာင္း

Java ရဲ့ API ကုိဘာေတြနဲ႔ဖြဲ႔စည္းထားသလဲ ?
အဓိကအပုိင္းသုံးပုိင္းနဲ႔ဖြဲ႔စည္းထားပါတယ္ ..။

(၁)Deployment Technologies ေတြျဖစ္တဲ့
Deployment ,Java Web Start ,Java Plug in စတာေတြရယ္ ..
(၂)User Interface Toolkit ေတြျဖစ္တဲ့
AWT,Swing နဲ႔ Java 2D API ေတြ ျပီးေတာ့ ..
(၃)Libraries ေတြစတာေတြနဲ႔ဖြဲ႔စည္းထားပါတယ္ …။

Libraries မွာလည္း

(၁)Lang & Util based libraries နဲ႔
(၂)Other based libraries ဆုိျပီးခြဲျခားနုိင္ပါေသးတယ္ ..။

ေဖာ္ျပပါ API မ်ားနွင့္ JVM ႏွစ္ခုေပါင္းကုိ JRE ( Java Runtime Environment ) အျဖစ္
သတ္မွတ္ျပီးJava programming Language ႏွင့္ Tools & Tools API နွင့္ JRE စတာေတြကုိေပါင္းျပီး Java Development Kit ( JDK ) အျဖစ္သတ္မွတ္ ၾကေၾကာင္း မွတ္သားခဲ့ဖူးပါသည္ ..။
 

MMSO site ေလးမွာကူးယူတင္ျပသည္။

0 comments:

Post a Comment