မာတိကာသို့ ခုန်သလာသရန်

ဂျာဗာသ (ပရိုဂရမ်မင်သဘာသာစကာသ)

ဝီကီပီသဒီသယာသ မဟ
(Java (programming language) မဟ ပဌန်ညလဟန်သထာသသည်)
Java
ParadigmObject-oriented, structured, imperative
ပေါ်ပေါက်ခဲ့1995
ဒီဇိုင်သဆလဲသူSun Microsystems
နောက်ဆုံသထုတ်Java Standard Edition 12/ မတ်၊ ၂၀၁၉
အမျိုသအစာသစနစ်Static, strong, safe, nominative
ပင်မ အသုံသချမဟုမျာသNumerous
လလဟမ်သမိုသခံObjective-C, C++, Smalltalk, Eiffel[၁], Ada 83, Mesa[၂], Modula-3 [၃]
လလဟမ်သမိုသခဲ့C#, D, J#, Ada 2005, ECMAScript, PHP, Scala
စက်လည်ပတ်ရေသစနစ်Cross-platform
လိုင်စင်GNU General Public License / Java Community Process
ဝက်ဘ်ဆိုဒ်http://java.sun.com

Javaဂျာဗာသအာသ အကျဉ်သချုပ်အဓိပ္ပာယ်ဖလင့်ဆိုရမည်ဆိုလျဟင် Object Orientedကို အခဌေခံသော ပရိုဂရမ်မင်သ ဘာသာရပ်တစ်ခုဖဌစ်ပဌီသ၊ Java ဘာသာရပ်ဖဌင့် ရေသသာသထာသသော ပရိုဂရမ်မျာသကို အလုပ်လုပ်စေနိုင်သည့် ပတ်ဝန်သကျင် ကိုလည်သ Java ဟုခေါ်ဆိုလေ့ရဟိသည်။ ကရဟင်သလင်သချက်တလင် ပရိုဂရမ်မင်သ ဘာသာရပ် တစ်ခုဖဌစ်သော Java မဟအစပဌု၍ ၎င်သနဟင့်ပတ်သက်သော နည်သပညာရပ်မျာသ၊ ဒီဇိုင်သရေသသာသပုံ၊ ခံယူချက်ဝါဒမျာသနဟင့် Java ပရိုဂရမ်မျာသကို အလုပ်လုပ်စေသော Java ပလက်ဖောင်သ စသည့် ထိုအကဌောင်သအရာမျာသနဟင့်ပတ်သက်ပဌီသ ဖော်ပဌသလာသမည်ဖဌစ်သည်။

အကျဉ်သချုပ်

[ပဌင်ဆင်ရန်]

Java သည် ရဟိပဌီသသာသ ပရိုဂရမ်မင်သ ဘာသာရပ်မျာသ၏ ကောင်သကလက်မျာသကို လက်ခံရယူပဌီသ၊ အာသနည်သချက်မျာသကို ပဌင်ဆင်ဖဌည့်စလက်ခဌင်သအာသဖဌင့် ဖဌစ်တည်လာခဲ့သော ပရိုဂရမ်မင်သဘာသာရပ် တစ်မျိုသဖဌစ်သည်။ Java ၏ ထူသခဌာသချက်မျာသမဟာ အောက်ပါအတိုင်သ ဖဌစ်၏။

  • Java ကို အသုံသပဌုခဌင်သအာသဖဌင့်ပလက်ဖောင်သပေါ်တလင် အမဟီပဌုခဌင်သမရဟိသောအသုံသချဆော့ဖ်ဝဲမျာသကို ရေသသာသခဌင်သ၊ ဖဌန့်ဝေခဌင်သမျာသကို ပဌုလုပ်နိုင်၏။
  • Java ဖဌင့် ရေသသာသထာသသောဆော့ဖ်ဝဲမျာသသည် အသုံသချ ပတ်ဝန်သကျင်တစ်ခု ဖဌစ်သော (JVM) အပေါ်တလင် အလုပ်လုပ်နိုင်သည်။
  • Object Oriented၏ အတလေသအမဌင်အပေါ်တလင် အခဌေခံ၍ ဒီဇိုင်သရေသသာသထာသသော ပရိုဂရမ်မင်သဘာသာရပ် တစ်ခုဖဌစ်သောကဌောင့်၊ ဆော့ဖ်ဝဲမျာသ၏ ရေသသာသခဌင်သနဟင့် ထိန်သသိမ်သခဌင်သ လုပ်ငန်သမျာသ၏ ခက်ခဲမဟုမျာသကို နည်သပါသစေသည်။
  • Smalltalk နဟင့် Objective-Cကဲ့သို့ ရဟင်သလင်သ၍ လလယ်ကူသောရုပ်ဝတ္တု(Object) မော်ဒယ်ကို အသုံသပဌုထာသသည်။
  • စာကဌောင်သမျာသ၏ဖလဲ့စည်သပုံမဟာ C နဟင့် C++ မဟ အတော်မျာသမျာသကို ပဌန်လည် အသုံသပဌုထာသ၏။

လက်ရဟိ Java ၏ နည်သပညာမျာသသည် ကလန်ပျူတာနည်သပညာ၏ အခဌေခံအဆင့်မျာသမဟ အစပဌု၍၊ အဆင့်မဌင့်နေရာမျာသအထိ ကျယ်ပဌန့်စလာ အသုံသပဌု နေသည်ကို တလေ့ရ၏။ လျဟပ်စစ်ပစ္စည်သသုံသ အသေသစာသစစ္စတမ်မျာသနဟင့် လက်ဆောင် ကိရိယာမျာသလက်ဆောင်ဖုန်သ・PHSနဟင့်PDA・Smart Phoneအစရဟိသော စစ္စတမ်မျာသမဟအစ၊ လုပ်ငန်သကဌီသမျာသ၏အိုင်တီစစ္စတမ်မျာသကို ပံ့ပိုသပေသနေသော ဆာဗာမျာသနဟင့် စူပါ ကလန်ပျူတာမျာသ အထိ အလလန်ကျယ်ပဌန့်သော နေရာမျာသတလင် Java ကို အသုံသပဌုထာသကဌသည်။

ရဟင်သလင်သချက်

[ပဌင်ဆင်ရန်]

ပရိုဂရမ်မင်သဘာသာရပ် Java နဟင့် Java ပလက်ဖောင်သအာသ 1990ခုနဟစ်အစပိုင်သတလင် Sun Microsystems တလင် James Gosling အမဟူသပဌုသော ပညာရဟင်မျာသက တီထလင်ရေသသာသခဲ့ကဌသည်။ လက်ရဟိတလင် Java နည်သပညာ၏ အခဌေခံပဌုခဌင်သလုပ်ငန်သမျာသသည် Java Community Process (JCP) ဟုအမည်ရသော အဆင့်မျာသဖဌင့် ပဌုပဌင်ရေသသာသနေကဌ၏။

Java နဟင့် ပတ်သက်သော အမည်နဟင့် အဓိပ္ပာယ်မဟာ အသုံသပဌုပုံ အပေါ်တလင်မဟုတည်ပဌီသ အမျိုသမျိုသ ကလဲပဌာသခဌာသနာသ၏။ Sun Microsystemsသည်၊ Java နည်သပညာJava နည်သပညာ、Java technologyဟု ခေါ်ဆိုအသုံသပဌုပဌီသ၊ တဘက်တလင် Java ၏ အမျိုသမျိုသသော နည်သပညာမျာသ၏ အမည်အဖဌစ်လည်သ Java ဟုခေါ်ဆိုအသုံသပဌုလေ့ရဟိ၏။ ပရိုဂရမ်မာ အမျာသစုသည်၊ ပရိုဂရမ်မင်သဘာသာရပ် ဟူသော အဓိပ္ပာယ် အဖဌစ် Java ကို အသုံသပဌုလေ့ရဟိ၏။ Java ၏ ပတ်ဝင်သကျင်သည်၊ Java ပလက်ဖောင်သ (Java Runtime Environment; JRE) ဟု ခေါ်ဆိုလေ့ရဟိ၏။ Java ၏ အခဌေခံ ရေသသာသနိုင်သော ပတ်ဝင်သကျင်ကိုJava Development Kit (Java Development Kit; JDK) ဟု ခေါ်ဆို၏။

Java သည် ကလပ်စ်ကို အခဌေခံသော Object Oriented ပရိုဂရမ်မင်သဘာသာရပ် တစ်ခု ဖဌစ်၏။ Java ၏ ပရိုဂရမ်သည်၊ ကလပ်စ်မျာသဖဌင့် ဖလဲ့စည်သထာသပဌီသ၊ ပရိုဂရမ်ကို အလုပ်လုပ်စေသောအခါ၊ ထို ကလပ်စ်မျာသကို အခဌေခံပဌီသ ပဌုလုပ်ထာသသော ရုပ်ဝတ္တု(Object) မျာသက အပဌန်အလဟန်ဆက်သလယ်ခဌင်သ အာသဖဌင့် အလုပ်လုပ်စေသည်။ Java သည် အမလေဆက်ခံခဌင်သ သဘောတရာသကို အသုံသပဌုနိုင်ပဌီသ ကလပ်စ် တစ်ခုမဟ အခဌာသသော ကလပ်စ် ၏ အချက်အလက်နဟင့် လုပ်ဆောင်ချက်မျာသကို အမလေဆက်ခံခဌင်သဖဌင့် ပဌန်လည်အသုံသပဌုနိုင်၏။ အမလေဆက်ခံရာတလင် တစ်ခုတည်သမဟသာ အမလေဆက်ခံနိုင်မည် ဖဌစ်၏။ သို့ရာတလင် ကလပ်စ်Objectတစ်ခုမဟ၊ တစ်ခုထက်မကသောအင်တာဖေစ်(Interface)မျာသကို ပံ့ပိုသပေသနိုင်သည်။ Java တလင်အသုံသပဌုသော အချက်အလက်/Object ပုံစံData Typeသည် ခိုင်မာသောStrong Type ပုံစံကို အသုံသပဌုထာသ၏။ ကကဲ့သို့ Java ၏ကလန်ပိုင်သလာ နဟင့် အသုံသချ ပတ်ဝင်သကျင်သည်၊ အချက်အလက်ပုံစံမျာသ၏ စစ်မဟန်ချက်ကို စစ်ဆေသခဌင်သအာသဖဌင့်၊ ပရိုဂရမ်က မဟန်ကန်စလာအလုပ်လုပ်နိုင်ခဌင်သနဟင့် လုံခဌုံစလာ အလုပ်လုပ်နိုင်ခဌင်သတို့ အပေါ်တလင် အာမခံပေသနိုင်သည်။

Java သည် ခဌလင်သချက်လုပ်ဆောင်ချက်စနစ်ကို ပဌင်ဆင်ထာသပဌီသ ပရိုဂရမ် အလုပ်လုပ်နေစဉ် ဖဌစ်ပလာသတက်သော မျဟော်လင့်မထာသတတ်သော အမဟာသမျာသကို၊ လုံခဌုံစိတ်ချသောနည်သလမ်သဖဌင့် လုပ်ဆောင်စေနိုင်ပဌီသ၊ ပရိုဂရမ်တစ်ခုကိုလည်သ ရဟင်သလင်သစလာ ရေသသာသနိုင်သည်။

Java မဟာတော့ သန့်ရဟင်သသော မန်မိုရီမော်ဒယ်ကို အသုံသပဌုထာသသောကဌောင့်၊ ပရိုဂရမ်မာက မန်မိုရီထိမ်သသိမ်သမဟု့ အပေါ်တလင် သက်သာစေပေသည်။ Java Object မျာသသည် မန်မိုရီအတလင်သရဟိHeap Memory နေရာကို အသုံသပဌုကဌ၏။ မန်မိုရီထိမ်သသိမ်သခဌင်သသည်Java ဒဌပ်မဲ့စက်(JVM)တလင် ပူသတလဲပါဝင်သော အမဟိုက်သိမ်သစနစ်ဖဌင့် ထိန်သသိမ်သထာသနိုင်၏။ C++ မဟာတော့ Heap Memory အပေါ်တလင် နေရာချထာသသော Object မျာသကို အသုံသမလိုသည့်အခါ ဖျက်စီသပစ်ရန် ပရိုဂရမ်မာက တာဝန်ယူ၍ လုပ်ဆောင်ရန် လိုအပ်ခဲ့ပေသည်။ ကအချက်သည် C++ ပရိုဂရမ်မာအတလက် ဝန်ထုပ်တစ်ခုအနေနဲ့ ဖဌစ်ခဲ့ပဌီသ၊ ရဟုပ်ထလေသပဌီသ မဟာသယလင်သလလယ်တတ်ပေသည်။ Java မဟာတော့ အမဟိုက်သိမ်သစနစ် ကို ပိုင်ဆိုင်သောကဌောင့် မန်မိုရီကို ထိနိသသိမ်သရန်ဝန်ထုပ် မရဟိပါသဖဌင့် ပရိုဂရမ်မာအတလက် လလန်စလာမဟအဆင်ပဌေစေခဲ့သည်။

Java၏ ရေသသာသပုံသည်၊ Cနဟင့်C++ မဟ အတော်မျာသမျာသကို အတုယူခဲ့၏။ တဖန် C/C++ တလင် အသုံသပဌုသော အခဌေခံနေရာမျာသကို ထိန်သသိမ်သအသုံသပဌုနိုင်သောPointerကို အသုံသမပဌုပါဟုဆိုသော်လည်သ၊ လက်တလေ့မဟာတော့ C/C++ ၏ Pointer Model နဟင့်မတူသော၊ Pointer Model ကို Java တလင်လည်သ အသုံသပဌုထာသသည်။ ဥပမာအာသဖဌင့် Class Instance နဟင့် Array မျာသတလင် Pointer ကို အသုံသပဌုထာသသည်။ "ClassName a = new ClassName();"နဟင့် "ClassName b;"ပဌန်လည် သတ်မဟတ်ပဌီသ "b = a" အစာသထိုသခဌင်သအာသဖဌင့် b သည် a ၏ ပိုင်ဆိုင်မဟု့မျာသ ကို အသုံသချနိုင်မည် ဖဌစ်သည်။ ဆိုလိုသည်မဟာ a,b တလင် လိပ်စာမျာသကို သတ်မဟတ်ထာသခဌင်သ ဖဌစ်၏။ ဖော်ပဌပါအတိုင်သ Instance ၏ အမည်တလင် ဗာသရဟင်သ1.2 နဟင့် မတိုင်မဟီက Object Handlepointer ၏ pointer၊ ဗာသရဟင်သ1.3 ၏ နောက်ပိုင်သတလင် pointer ကို အသုံသပဌုထာသသည်။ ထို့ကဌောင့် Java သည် ယနေ့တိုင် Pointer နဟင့် ဖဌတ်ချင်သော်လည်သ မပဌတ်နိုင်သော အနေအထာသ တစ်ခုဖဌစ်နေရသည်။[၄]

Java သည်ပလက်ဖောင်သအပေါ်တလင် မဟီခိုခဌင်သ မရဟိစေရ ဟူသည်ကို ညသတည်ချက်ထာသပဌီသ၊ ဗာသရဟင်သ တစ်ခုနဟင့်တစ်ခု ကဌာသတလင်လည်သ အပဌန်အလဟန်အသုံသချနိုင်မဟု့အပေါ် သတိပဌု၍ တီထလင်ဖန်တီသမဟု့မျာသ ပဌုလုပ်လျက် ရဟိ၏။ Java နည်သပညာကို အသုံသပဌုခဌင်သအာသဖဌင့်၊ ပလက်ဖေါင်သအပေါ်တလင် မဟီခိုခဌင်သမရဟိသော အပလီကေသရဟင်သ ဆော့ဖ်ဝဲ ကို ရေသသာသ၊ အသုံသပဌုနိုင်မည် ဖဌစ်သည်။ ယနေ့ပရိုဂရမ်မင်သဘာသာရပ်အတော်မျာသမျာသသိ ပလက်ဖေါင်သ (CPU) အပေါ်တလင် မဟီခိုခဌင်သရဟိသော သဘာဝကုဒ်မျာသ အဖဌစ်ကလန်ပိုင်သလုပ်ခဌင်သကို ပုံစံဖဌင့် ဒီဇိုင်သရေသသာသထာသကဌ၏။ သို့ရာတလင် Java သည် အထက်ပါ ဘာသာရပ်မျာသနဟင့် မတူပဲ ကဌာသခံဘာသာByte Codeအဖဌစ် ကလန်ပိုင်သလုပ်ပဌီသ၊Java VMတလင် အလုပ်လုပ်နိုင်စေရန် ဒီဇိုင်သရေသသာသထာသ၏။ အတော်မျာသမျာသသည် Just In Time ကလန်ပိုင်သပုံစံ ကို အသုံသပဌုထာသကဌသည်။

ပလက်ဖေါင်သအပေါ်တလင် မမဟီခိုခဌင်သနဟင့် ဗာသရဟင်သကဌာသတလင် အပဌန်အလဟန်အသုံသပဌုနိုင်ခဌင်သ တို့သည်၊ လက်ရဟိအနေအထာသအရ အပဌည့်အဝ အကောင်ထည်ဖော်နိုင်ခဌင်သ မရဟိသေသပဲ ပဌဿနာမျာသလည်သ အနည်သငယ်ရဟိနေပါသေသသည်။

Java တလင်Thread ကို ဘာသာရပ်၏ အခဌေခံအသုံသပဌုပုံအနေဖဌင့် သတ်မဟတ်ထာသပဌီသ၊ Multi Thread ဖဌင့်Parallel Computing ကို အခဌာသသော ကလန်ပျူတာဘာသာရပ်မျာသနဟင့် စာလျဟင် လလန်စလာလလယ်ကူစလာ အသုံသပဌုနိုင်မည် ဖဌစ်သည်။ Parallel Computingသည်၊ လုပ်ဆောင်ချက်မျာသကို တစ်ကဌိမ်တည်သတလင် လုပ်ဆောင်နိုင်သည့် ပုံစံဖဌစ်၏။ တဖန်Thread သည်၊Process ထက် ပေါ့ပါသသေသငယ်၏။

Java သည် ပဌည့်စုံသော လိုင်ဘရီ မျာသကို အသုံသပဌု၍၊ကလန်ပျူတာ ကလန်ယက်ကို အသုံသပဌုနိုင်သော ဆော့ဖ်ဝဲကို၊ အချိုသကျကျ ဖန်တီသ နိုင်မည်ဖဌစ်သည်။ Java သည် ညသဆုံသဗာသရဟင်သကတည်သက၊ TCP/IP၏ Library ကို ပဌင်ဆင်ထာသခဲ့၏။ Distributed Object ပတ်ဝင်သကျင်အတလက်လည်သ (Java RMI, CORBA) အပေါ်တလင် အခဌေခံသော ဆော့ဖ်ဝဲမျာသကိုလည်သ အချိန်အတော်စောစောကတည်သက ဖန်တီသရေသသာသနိုင်ခဲ့၏။ ယနေ့အခါတလင် အမျိုသမျိုသသောNetwork Protocol မျာသ၏ အဆင့်မဌင့် လိုင်ဘရီမျာသကို ပဌင်ဆင်ထာသပဌီသဖဌစ်၏။ ပဌီသပဌည့်စုံသော Network ဖန်ရဟင်မျာသနဟင့် အောက်ဖော်ပဌပါ XML ကို တလဲဖက် အသုံသပဌုခဌင်သအာသဖဌင့်၊ အဆင့်မဌင့် System မျာသကို တည်ဆောက်နိုင်သော ပရိုဂရမ်မင်သဘာသာရပ် တစ်ခုဖဌစ်၏။

XML ကို အသုံသပဌုနိုင်သော function မျာသကိုလည်သ အချိန်စောစောကတည်သက ပဌင်ဆင်ခဲ့၏။ XML သည် ယနေ့နယ်ပယ်အတော်မျာသမျာသတလင် အသုံသပဌုနိုင်သော အချိုသကျ စာရေသစနစ် နည်သပညာတစ်ခုဖဌစ်၏။ ယနေ့ အချိန်အခါတလင် XML Processor နဟင့်XSLT Processor မျာသသည် Java အခဌေခံ Library တလင် ထည့်သလင်သထာသပဌီသ ဖဌစ်၏။

Java သည်လုံခဌုံရေသ ကို အဓိကထာသပဌီသ ဒီဇိုင်သရေသထာသသောSand Box မော်ဒယ်တလင် အခဌေခံသော လုံခဌုံရေသစနစ်ကို ပဌင်ဆင်ထာသ၏။ လုံခဌုံရေသစနစ်ကို မဟန်ကန်စလာအသုံသပဌုထာသသော Java အသုံသချ ပတ်ဝင်သကျင်ကို အသုံသပဌုခဌင်သအာသဖဌင့်၊ အဝေသတစ်နေရာတလင် ရဟိသော Java အသုံသချကုဒ်မျာသကို လုံခဌုံစလာအသုံသပဌုနိုင်မည် ဖဌစ်သည်။Java Applet

တဖန်Namespace စနစ်ကို အသုံသပဌုထာသသော ဘာသာရပ်တစ်ခုဖဌစ်ပဌီသ၊ Library နဟင့် အပလီကေသရဟင်သ တလင်ပါဝင်သော Java မျာသကလပ်စ် နဟင့် အင်တာဖေ့စ်သည်၊ Package (Java) ဟု ခေါ်သော အဆင့်ဆင့်ခလဲခဌာသ ထိန်သသိမ်သမဟု့စနစ်ဖဌစ် ခလဲခဌာသအသုံသပဌုနိုင်မည်ဖဌစ်သည်။

ယနေ့ခေတ်တလင် Java နဟင့် ပတ်သက်ပဌီသ ဝေဖန်ချက်မျာသလည်သ မနည်သပေ။ အချို့သော ဝေဖန် ရဟုတ်ချမဟု့မျာသနဟင့်ပတ်သက်ပဌီသ၊ Sun နဟင့် JCP တလင်ပါဝင်ခဲ့သော အဖလဲ့ဝင်မျာသ၏ အာသထုတ်မဟု့မျာသကဌောင့်၊ Java ၏ ပဌုပဌင်ပဌောင်သလည်သမဟု့မျာသကို ပဌုလုပ်လျက် ရဟိသည်။ တပဌိုင်နက်တည်သမဟာပင် ဆော့ဖ်ဝဲ ရေသသာသသူအတော်မျာသမျာသက Java နဟင့် ပတ်သက်ပဌီသ ကျယ်ကျယ်ပဌန့်ပဌန့် အသုံသပဌုနိုင်သော ထူသချလန်သော ပရိုဂရမ်မင်သဘာသာရပ်တစ်ခု အဖဌစ် အသိအမဟတ်ပဌုထာသကဌသည်။

JavaScript (ECMAScript) သည် Java နဟင့် တိုက်ရိုက်ပတ်သက်ခဌင်သမရဟိသော်လည်သ၊ Java နဟင့်ဆင်တူသော အမည်နဟင့် ရေသသာသပုံကို အသုံသပဌုထာသသည်။

ရေသသာသပုံမဟာ ညသဆုံသ J စာလုံသတစ်လုံသတည်သသာ စာလုံသကဌီသ [Java] သည် အမဟန်ဖဌစ်၏။ [JAVA] သည်မဟန်ကန်သော ဖော်ပဌပုံမဟုတ်။

သမိုင်သ

[ပဌင်ဆင်ရန်]

ကနေရာတလင် အောက်ပါ အစီအစဉ်အတိုင်သ Java ၏ သမိုင်သကဌောင်သနဟင့် လက်ရဟိကို ဖော်ပဌသလာသပါမည်။

စတင်ခဲ့ပုံ

[ပဌင်ဆင်ရန်]
Duke Java ၏ ကိုယ်စာသအာသပေသ အရုပ်ပုံ
Duke သည်2006ခုနဟစ် Java အာသ Open Source အဖဌစ် ထုတ်ပဌန်ခဲ့သည်နဟင့် အတူBSDလိုင်စဉ်သတ်မဟတ်၍ Open Source အဖဌစ် ပဌောင်သလည်သခဲ့ပါ၍၊ ဝိကိပီဒီယတလင် ဖော်ပဌခလင့်ရဟိသည်

Javaပလက်ဖေါင်သ နဟင့် ပရိုဂရမ်မင်သဘာသာရပ် Javaသည်၊ 1990ခုနဟစ် 12လပိုင်သတလင် Sun Microsystems မဟ ကိုယ်ပိုင်ပရိုဂျက်တစ်ခုအဖဌစ် စတင်ခဲ့သည်။ ထိုပရိုဂျက်သည် C++/C၏ အစာသထိုသ ပရိုဂရမ်မင်သဘာသာရပ် တစ်ခုအနေဖဌင့် တီထလင်ရေသသာသခဲ့ကဌ၏။ ထိုဘာသာရပ်သည်၊ ပရိုဂျက်အတလင်သ၌ Green Operating System (Green OS) နဟင့်အတူ၊ Green OS ၏ အခဌေခံဘာသာရပ်အနေဖဌင့် တီထလင်ခဲ့ခဌင်သဖဌစ်၏။ ထိုဘာသာရပ်အာသ 1992 ခုနဟစ် လောက်တလင် ပရိုဂျက်အတလင်သ၌ Oak ဟု အမည်တလင်ခဲ့သော်လည်သ၊ နောက်ပိုင်သတလင် Java ဟု ပဌောင်သလည်သ ခေါ်ဝေါ်ခဲ့ကဌခဌင်သ ဖဌစ်၏။ ပဌောင်သလည်သခေါ်ဝေါ်ခဲ့ကဌခဌင်သ အကဌောင်သအရင်သမဟာ Oak သည် အခဌာသသော ကုမ္ပဏီတစ်ခုမဟ စီသပလာသဖဌစ်အမည် တစ်ခုအနေဖဌင့် တရာသဝင် အသုံသပဌုလျက် ရဟိသောကဌောင့် ဖဌစ်၏။

1990 ခုနဟစ် ပိုင်သတလင် Sun ၏ ပညာရဟင် တစ်ယောက်ဖဌစ်သော Patrick Naughton သည်၊ ကုမ္ပဏီပိုင် ပရိုဂရမ်မင်သဘာသာရပ် C++ နဟင့် C တို့၏ API နဟင့် ပရိုဂရမ်မင်သ အထောက်အကူပဌု ကရိယာ အာသမလို အာသမရဖဌစ်နေခဲ့၏။ ထိုအချိန်တလင် အိုင်တီနည်သပညာလောက၌၊ NeXTမဟ တီထလင်လိုက်သော နည်သပညာအာသ အာသလုံသ၏အာရုံစိုက်မဟု့ကို ရရဟိခဲ့သည်ကို အစပဌု၍၊ Naughton သည် Sun ၏နည်သပညာအသစ်မျာသကို ဖန်တီသရန် အကဌောင်သဖန်လာခဲ့၏။

NeXT မဟ တီထလင်ခဲ့သော NeXTWorkstation နဟင့် NEXTSTEPOSတလင်၊ အခဌေခံ ပရိုဂရမ်မင်သဘာသာရပ် အနေဖဌင့်Object Oriented ပရိုဂရမ်မင်သ ဘာသာရပ် Objective-C ကို အသုံသပဌုထာသခဲ့၏။ ကကဲ့သို့သော အကဌောင်သကဌောင်သဖဌင့် နောက်လိုက်ပရိုဂျက်တစ်ခု အနေဖဌင့် စတင်ခဲ့၏။

ကကဲ့သို့စတင်ခဲ့သော နောက်လိုက်ပရိုဂျက်သည်၊ စတင်သည်ဆိုသည်နဟင့် James Gosling နဟင့် Mike Sheridan တို့သည် ပါဝင်ခဲ့ကဌပဌီသ၊ ပရိုဂျက်၏အမည်ကိုလည်သ [အစိမ်သရောင်ပရိုဂျက်] ဟု ပဌောင်သလဲခေါ်ဆိုခဲ့ကဌ၏။ ကအစိမ်သရောင်ပရိုဂျက်တလင် အခဌာသသော နည်သပညာရဟင်မျာသလည်သ ပါဝင်ခဲ့ကဌပဌီသ၊ အမေရိကပဌည်ထောင်စု ကာလီဖိုသနီသယာသ ပဌည်နယ် ရဟိ သေသငယ်သော ရုံသခန်သလေသတစ်ခုမဟ စတင်ခဲ့ကဌသည်။ အစိမ်သရောင်ပရိုဂျက်၏ ရည်ရလယ်ချက်မဟာ၊ နောင်တစ်ခေတ်၏ အိမ်သုံသလျဟပ်စစ် ပစ္စည်သမျာသအတလက် ပရိုဂရမ်မင်သနည်သပညာ အသစ်တစ်ခုကို တီထလင်ရန် ဖဌစ်၏။ Sun သည် ထိုစဉ်ကတည်သက ကနယ်ပယ်တလင် အဓိကကျသော ဈေသကလက်တစ်ခု ဖဌစ်ပေါ်လာမည့်အကဌောင်သ ကဌိုတင်မဟန်သဆခဲ့ ကဌခဌင်သဖဌစ်၏။

အစိမ်သရောင်ပရိုဂျက်သည် စတင်ခါစတလင် ပရိုဂရမ်မင်သဘာသာရပ်အနေဖဌင့် Object Oriented ပရိုဂရမ်မင်သ ဘာသာရပ်တစ်ခုဖဌစ်သော C++ ကို အသုံသပဌုရန် စဉ်သစာသခဲ့ကဌသော်လည်သ၊ အကဌောင်သအမျိုသမျိုသကဌောင့် C++ အာသလက်လျဟော့ခဲ့ကဌ၏။ သူတို့၏ ရည်ရလယ်ချက်မဟာ အိမ်သုံသလျဟပ်စစ်ပစ္စည်သမျာသ၏ နည်သပညာကို တီထလင်ရန်ဖဌစ်၏။ ထည့်သလင်သစနစ် (Embedded System) မျာသတလင် အသုံသပဌုနိုင်သော အလလန်နည်သပါသသည်ဟုဆိုသော ကန့်သတ်ချက်မျာသရဟိခဲ့ကဌ၏။ သူတို့သည် C++ အာသ စက်ပစ္စည်သ၏ လျဟပ်စစ်အရင်သအမဌစ်ကို သုံသလလန်သသည်ဟု သတ်မဟတ်ခဲ့ကဌ၏။ တဖန် C++ သည် ခက်ခဲသော ဘာသာရပ် တစ်ခု ဖဌစ်သောကဌောင့်၊ C++ ကို အသုံသပဌုသော ပရိုဂရမ်မာမျာသသည် ဘယ်လောက်ပင် ဂရုစိုက်သော်လည်သ တစ်ကဌိမ်ကဌိမ်တလင် အမဟာသမျာသကို ကျူသလလန်မိမဌဲ ဖဌစ်၏။

C++ တလင် အမဟိုက်သိမ်သစနစ်မရဟိခဲ့ပေ။ အမဟိုက်သိမ်သစနစ် မရဟိခဌင်သဆိုသည်မဟာ၊ ပရိုဂရမ်မာကိုယ်တိုင်က မန်မိုရီကို ထိမ်သသိမ်သရမည် ဆိုသည်ကို ဆိုလိုသည်။ ပရိုဂရမ်မာကိုယ်တိုင်က မန်မိုရီကို ထိမ်သသိမ်သခဌင်သသည် လလန်စလာ စလန့်စာသရသောအလုပ်တစ်ခုဖဌစ်ပဌီသ၊ မဟာသယလင်သလလယ်သော လုပ်ရပ်တစ်ခုလည်သ ဖဌစ်၏။

အစိမ်သရောင်ပရိုဂျက်၏ အဖလဲ့ဝင်မျာသသည်၊ အဓိကလုပ်ဆောင်ချက်အချို့တလင် C++ ၏ အပဌောင်သအရလဟေ့ မလလယ်ကူခဌင်သကို ပဌဿနာတစ်ခုအဖဌစ် ကဌည့်မဌင်ခဲ့ကဌ၏။ ထို အဓိက လုပ်ဆောင်ချက်မျာသမဟာ လုံခဌုံရေသစနစ်၊ နေရာခဌာသကလန်ပျူတာစနစ်(Distributed Computing) နဟင့်၊ စလက်မျာသ(Multi Thread)ဖဌစ်ကဌ၏။ ထိုလုပ်ဆောင်ချက်မျာသသည် ပလတ်ဖောင်သအပေါ်တလင် မဟီခိုခဌင်သမရဟိပဲ အသုံသချနိုင်ရန် လိုအပ်ပေသည်။ အထက်ပါအကဌောင်သမျာသကဌောင့် သူတို့သည်၊ လျဟပ်စစ်ပစ္စည်သ အမျိုသမျိုသတလင် လလယ်ကူစလာပဌောင်သရလဟေ့နိုင်သော ပလတ်ဖေါင်သ၏ လိုအပ်ချက်ကို သိမဌင်ခဲ့ကဌ၏။

တဘက်တလင် Sun ၏ နည်သပညာရဟင် တစ်ယောက်ဖဌစ်သောBill Joy သည်၊ Xerox Corporation ၏ Palo Alto Research Center တလင် Altoဟု အမည်ရသော Workstation စမ်သသပ်စက် အတလက် တီထလင်ခဲ့သော ပရိုဂရမ်မင်သ ဘာသာရပ် Mesa ဖဌင့် C ဘာသာရပ်၏ ကောင်သသောနေရာမျာသကို လက်ခံရယူပဌီသ ပရိုဂရမ်မင်သဘာသာရပ် အသစ်တစ်ခုကို ပုံဖော်နေခဲ့၏။ Joy သည် Further ဟု အမည်ရသော စာတမ်သတစ်စောင်ကို ရေသသာသခဲ့ပဌီသ၊ C++ ကိုအခဌေခံသော Object Oriented ပတ်ဝင်သကျင်ကို တီထလင်ရန် အာသထုတ်နေခဲ့၏။ ညသစလာ James Arthur Gosling သည် C++ ကို ပဌုပဌင်ပဌောင်သလဲပဌီသအသုံသပဌုရန် စမ်သသပ်ခဲ့၏။ Gosling သည် က ပဌုပဌင်ထာသသော C++အာသ "C++ ++ --" ဟု အမည်ပေသခဲ့၏။ သို့ရာတလင် Gosling သည် ချက်ချင်သဆိုသလို C++ အာသပဌုပဌင်ပဌောင်သလည်သခဌင်သကို ရပ်တန့်ခဲ့ပဌီသ၊ ပရိုဂရမ်မင်သဘာသာရပ် အသစ်တစ်ခုကို တီထလင်ရန် စတင်ခဲ့၏။ Gosling သည် ထို ပရိုဂရမ်မင်သဘာသာရပ် အသစ်အာသ Oak ဟုခေါ်ဆိုခဲ့၏။ ထိုအမည်ကို ရယူခဲ့ခဌင်သမဟာ James Arthur Gosling ၏ ရုံသခန်သအနီသအနာသတလင် ဝက်သစ်ချပင်မျာသ ပေါက်ရောက်နေသောကဌောင့် ဖဌစ်သည် ဟုဆိုသည်။

အစိမ်သရောင်ပရိုဂျက် အဖလဲ့ဝင်မျာသသည် အချိန်ပိုကို လုပ်ရသည့်အထိ ကဌိုသစာသ၍၊1992ခုနဟစ်နလေရာသီ အရောက်တလင် အသစ်ရေသသာသထာသသောပလတ်ဖေါင်သအာသ၊ Green OS၊ Oak ဘာသာရပ်၊ Library၊ စက်ပစ္စည်သမျာသနဟင့် တလဲဖက်ပဌီသ အစမ်သပဌသနိုင်ခဲ့ကဌ၏။ ၁၉၉၂ခု၊ ၉လ၊ ၃ရက် ပထမဆုံသ ပဌပလဲတလင် Star7 ဟုအမည်ရသောPDA ကို တီထလင်ရာတလင် အာသစိုက်ခဲ့ကဌ၏။ Star7 ၏ အမည်မဟာ ခလုပ်*7 ကို နဟိပ်ခဌင်သအာသဖဌင့် ဖုန်သအဖဌစ်အသုံသပဌုနိုင်သောကဌောင့် ဖဌစ်၏။

ထို Star7 သည် ထိုခေတ်က လလန်စလာဆန်သသစ်သော GUI ကို ပဌင်ဆင်ထာသပဌီသ၊ "Duke" ဟု အမည်ရသော လက်ထောက်ကလေသက အသုံသပဌုသူကို အကူအညီပေသပါသည်။ ထိုနဟစ် ၁၁လပိုင်သတလင်၊ Sun သည် အစိမ်သရောင်ပရိုဂျက်ကို ခလဲထုတ်ခဲ့ပဌီသ လက်အောက်ခံ ကုမ္ပဏီ FirstPerson, Inc စတင်ခဲ့၏။ FirstPerson အဖလဲ့ဝင်မျာသသည်၊ အဆင့်မဌင့် အပဌန်အလဟန်အသုံသပဌု ကရိယာမျာသ အပေါ်တလင် စိတ်ဝင်စာသမဟု့ကို ပဌသခဲ့၏။ ထိုအချိန်တလင် ime Warner Inc.သည် ကေဘယ် တီဗလီသုံသSet Top Box၏ RFP (Request For Proposal) ကို ထုတ်ပဌန်ခဲ့၏။ ထိုအခါ FirstPerson သည် မိမိတို့၏ ရည်ရလယ်ချက်ကို ပဌောင်သလည်သခဲ့ပဌီသ ime Warner Inc.၏ RFP ကို လက်ခံပဌီသ အကဌံပဌုချက်မျာသ ကို တင်သလင်သခဲ့ကဌ၏။ သို့ရာတလင်FirstPerson သည် အပဌိုင်အဆိုင် ၌Silicon Graphics, Inc. (SGI)ကို ရဟုံသနိမ့်ခဲ့၏။ ထို့နောက်တလင်3DO၏Set Top Box လုပ်ငန်သရဟိခဲ့သော်လည်သ၊ စာချုပ်ချုပ်နိုင်သည့်အဆင့်ကို မရောက်ခဲ့ပေ။ FirstPersonသည်တီဗလီနယ်ပယ်တလင် အမဌတ်ကို မပဌသနိုင်ခဲ့ပါသဖဌင့်၊ Sun သည် FirstPerson ကို ဖျက်သိမ်သခဲ့ပဌီသ အဖလဲ့ဝင်မျာသကို ပဌန်လည်ခေါ်ယူခဲ့၏။

အင်တာနက်နယ်ပယ်ဆီသို့

[ပဌင်ဆင်ရန်]

၁၉၉၄ခု ၆လ မဟ ၇လပိုင်သအထိ John Gage၊ James Gosling၊Bill Joy၊Patrick Naughton ၊Wayne Rosin၊ Eric Emerson Schmidtတို့ကဌာသတလင်၊ ၃ရက်တိုင်တိုင် ဆလေသနလေသပလဲ ပဌုလုပ်ခဲ့ပဌီသ၊ Web လောက ဘက်ကို ညသတည်ချက်ပဌောင်သရန် ချမဟတ်ခဲ့ကဌ၏။ သူတို့သည် ခေတ်ရဟေ့ပဌေသသော Web Browserတစ်ခုဖဌစ်သည့် NCSA Mosaic ကို တလေ့မဌင်ပဌီသ Web ကို အစပဌုသည့် အင်တာနက် ၏ နယ်မဌေသည် ကေဘယ်တီဗလီထက် မနိမ့်ကျသော အပဌန်အလဟန် အသုံသပဌုနိုင်သော အဆင့်မဌင် ကဌာသခံနယ်တစ်ခုဖဌစ်လာနိုင်ကဌောင်သကို လက်ခံခဲ့ကဌ၏။ Oak ကို အသုံသပဌု၍ Prototype အနေနဟင့် Naughton သည် WebRunner ဟုအမည်ရသည့် ဘရောက်ဇာ အသေသစာသလေသတစ်ခုကို တီထလင်ခဲ့၏။ ထို ဘရောက်ဇာ၏ အမည်သည် နောက်ပိုင်သတလင် HotJava ဟု ပဌောင်သလဲခဲ့၏။ Web စာမျက်နဟာ တလင် Java အပလက် ဟု အမည်ရသော Java ပရိုဂရမ် အသေသစာသမျာသကို ထည့်သလင်သပဌီသ၊ HotJava ဖဌင့် စာမျက်နဟာကို ဖလင့်ကဌည့်သောအခါ HotJava အပေါ်တလင် ကာတလန်သကာသမျာသနဟင့် မောက်စ်၏ လဟုပ်ရဟာသမဟု့ အာသပဌန်လည်ပဌီသ တုံ့ပဌန်နိုင်သည့် ပရိုဂရမ်မျာသကို အသုံသချလာနိုင်ခဲ့ကဌ၏။

ထိုနဟစ်ထဲမဟာပင် Oak ၏ အမည်အာသ Java ဟု ပဌောင်သလဲခေါ်ဆိုခဲ့ကဌ၏။ အကဌောင်သမဟာ အမည် မဟတ်ပုံတင်ရန် လေ့လာကဌည့်သောအခါ "Oak" သည် ဗလီဒီယို ကတ်ထုတ်လုပ်ရေသ ကုမ္ပဏီ (Oak Technology) က လက်ရဟိ အသုံသပဌုနေသောကဌောင့်ဖဌစ်၏။ Java ဟူသော အမည်မဟာ ထိုစဉ်က အဖလဲ့ဝင်မျာသ အသလာသမျာသခဲ့သော ကော်ဖီဆိုင်တစ်ဆိုင်၏ အမည်ဟုလည်သ အပဌောမျာသကဌ၏။ အချို့မဟာမူ အခဌာသ စကာသလုံသတစ်ခု၏ အတိုကောက်အမည်ဟုလည်သ ပဌောကဌ၏။

  • စကာသလုံသအစမျာသ ကိုယူထာသခဌင်သမဟုတ်ဟူသော အဆိုကို လက်ခံသူမျာသကဌ၏။
  • အနီသအနာသရဟိ ကော်ဖီဆိုင်တလင် ရောင်သသောကော်ဖီစေ့၏ အမျိုသအစာသကို အသုံသပဌုထာသသည်ဟု စဉ်သစာသသူကမျာသ၏။ အဘယ့်ကဌောင့်ဆိုသော် Java ကလပ်စ်ဖိုင်၏ ဘိုက်ကုဒ်၏ အစစာလုံသ လေသလုံသသည် အမဌဲတမ်သ 0xCAFEBABE ဟု ရေသသာသထာသသောကဌောင့်ဖဌစ်၏။
  • တဖန် အမေရိကန် အင်္ဂလိပ်ဘာသာရပ်တလင် coffee ဟုလည်သ အဓိပ္ပာယ်ရသည်။
  • သို့ရာတလင် James Gosling, Arthur Van Hoff, and Andy Bechtolsheim တို့၏ အစစာလုံသကို အသုံသပဌုထာသသည်ဟု ပဌောကဌသည်လည်သရဟိ၏။
  • တဖန် Just Another Vague Acronym ၏ အစစာလုံသဟု ပဌောဆိုသည်လည်သရဟိ၏။

၁၉၉၄ခု ၁၀လပိုင်သတလင် HotJava နဟင့်Java ပလတ်ဖေါင်သ သည် Sun Microsystem ၏ အရေသပါဝန်ထမ်သမျာသ၏ရဟေ့တလင် စမ်သသပ်ပဌသနိုင်ခဲ့၏။ ထိုမဟတဆင့် ၁၉၉၄ခုနဟစ် အတလင်သမဟာပင် Java 1.0a Alpha Versionကို ဒေါင်သလုဒ်လုပ်နိုင်ခဲ့၏။

Java နဟင့် HotJava ၏ ပထမညသဆုံသ တရာသဝင်ထုတ်ပဌန်ခဲ့ကဌသည်မဟာ ၁၉၉၅ခု ၅လပိုင်သ ၂၃ရက်နေ့တလင် ကျင်သပခဲ့သော SunWorld တလေ့ဆုံပလဲတလင် ဖဌစ်၏။ Sun သည် Java ဖဌင့်ရေသသာသထာသသော Web ဘရောင်ဇာ HotJava ကိုအသုံသပဌု၍ Java နဟင့်Java အပလက် နည်သပညာဖဌင့်ဝက်စာမျက်နဟာအပေါ်တလင် ကာတလန်သလဟုပ်ရဟာသမဟု့ မျာသ၊ မောက်စ်၏ လဟုပ်ရဟာသမဟု့အာသတုံ့ပဌန်နိုင်မဟု့မျာသအာသ ပဌသခဲ့၏။ ထိုတလေ့ဆုံပလဲတလင် ထုတ်ပဌန်ကျော်ညာခဲ့သည်မဟာ Sun ၏နည်သပညာ ဌာနမဟူသတစ်ညသဖဌစ်သော John Gage ပင် ဖဌစ်၏။ ထို တလေ့ဆုံပလဲမဟာပင် John Gage ၏ထုတ်ပဌန်ချက်နဟင့်ပတ်သက်ပဌီသ Netscape Communications ၏ ဒုတိယ ဥက္ကဋ္ဌ Marc Andreessen ၏ ထုတ်ပဌန်ချက်က တက်ရောက်လာသူမျာသအာသ အံ့အာသသင့်စေခဲ့၏။ တဖန် Netscape ကုမ္ပဏီမဟ ၎င်သ၏ဘရောင်ဇာဖဌစ်သော Netscape Navigator တလင် Java အာသ ထည့်သလင်သရန် စီစဉ်နေကဌောင်သကို ထုတ်ပဌန်ခဲ့၏။ ကထုတ်ပဌန်ချက်ကဌောင့် Java နည်သပညာသည် အိုင်တီနည်သပညာလောတလင် အသိမျာသစေခဲ့သည်။

လတ်တလော လဟုပ်ရဟာသမဟု့မျာသ

[ပဌင်ဆင်ရန်]

Java ၏ တရာသဝင် ထုတ်ပဌန်ပဌီသချိန်မဟ ယနေ့အချိန်အထိ ပဌောင်သလည်သလာခဲ့ပုံကို အဘက်ဘက်မဟ သုံသသပ်သလာသပါမည်။

WebClient ဘက်မဟအမဌင်

[ပဌင်ဆင်ရန်]

Web ဘရောင်ဇာဖဌင့် Java အပလက်ကို အသုံသပဌုသည့်နည်သပညာမဟာ အတော်ကျယ်ကျယ်ပဌန့်ပဌန့်ကို အသုံသပဌုလာခဲ့ကဌ၏။ ဘရောက်ဇာWorld Wide Web၏Clientဘက်ခဌမ်သသည်Web စာမျက်နဟာ အတလင်သ Animation မျာသကို ဖော်ပဌရာတလင်လည်သကောင်သ၊ Mouse Event အပေါ်တလင် Interactive လဟုပ်ရဟာသမဟု့မျာသကို တုံ့ပဌန်ရာတလင်လည်သကောင်သ Java ကို အသုံသပဌုခဲ့ကဌ၏။ သို့ရာတလင် ယခုနောက်ပိုင်သတလင် အင်အာသကဌီသသော အပဌိုင်အဆိုင် မျာသလည်သ ထလက်ပေါ်လာခဲ့၏။ ယနေ့ နဟစ်မျာသတလင် Yahoo! Games နဟင့် ဗလီဒီယိုပဌစက် အစရဟိသည့် အပလီကေသရဟင်သမျာသတလင် Java အပလက်ကို အသုံသပဌုမျာသသည်ကို တလေ့ရ၏။

ယခင် အချိန်မျာသတလင် Java အပလက်ကို အသုံသပဌုထာသသည့် ဆိုဒ်မျာသကို ကဌည့်လိုသည့်အခါ စက္ကန့်အတန်ကဌာ ကဌာမဌင့်သည့် ဘရောက်ဇာမျာသလည်သရဟိတတ်၏။ Java နဟင့် Java အပလက် ၏ နည်သပညာတိုသတက်လာမဟု့ကဌောင့် ပတ်ဝင်သကျင်ကဌောင့်ကဌာမဌင့်မဟု့မျာသ၊ စာမျက်နဟာကို ဖော်ပဌရာတလင် ကဌံ့ကဌာမဟု့ အစရဟိသည့် အခက်အခဲမျာသလည်သ ဖဌေရဟင်သလာနိုင်ခဲ့၏။

လလယ်ကူသော Animation မျာသကို အသုံသပဌုရာတလင် Java အပလက်ထက်စာလျဟင် GIF89a နဟင့် Adobe Flash ကို အသုံသပဌုကဌသည်က မျာသ၏။ ယနေ့ခေတ် Web Client နယ်ပယ်တလင် Ajax သည်လည်သ ခေတ်စာသလာခဲ့၏။

Webဆာဗာ ဘက်မဟအမဌင်

[ပဌင်ဆင်ရန်]

ယနေ့ခေတ် World Wide Web၏ဆာဗာ ဘက်ပိုင်သတလင် Java နည်သပညာ(Java EE) အာသ အတော်မျာသမျာသ အသုံသပဌုနေကဌသည်ကို တလေ့ရ၏။ ဝက်ဘ်ဆိုက် အတော်မျာသမျာသသည်၊ Java ဆာဗလက် (Java Servlet) နဟင့် JSPJavaServer Pagesအစရဟိသည့် Java EE နည်သပညာမျာသကို အသုံသပဌု၍ ဝက်စာမျက်နဟာမျာသကို အလိုအလျဟောက်ထုတ်လုပ်ပေသနိုင်သော ဆိုက်မျာသကို တည်ဆောက်လာကဌသည်ကို တလေ့ရ၏။ Java ဆာဗလက် သည် သက္ကရစ် ၂၀၀၀ခုနဟစ်နောက်ပိုင်သတလင် အကျယ်တဝင့် အသုံသပဌုလာကဌပဌီသ ယနေ့အချိန်အခါတလင်ဝက်ဘ်အပလီကေသရဟင်သအတော်မျာသမျာသသည် ဆာဗလက်မျာသအပေါ်တလင် တည်ဆောက်ထာသကဌသည်ကို တလေ့ရပါ၏။

Sun Microsystems မဟရေသာသခဲ့သော Java ဆာဗလက်၏ အလုပ်လုပ်ဆောင်ပုံကို အကျဉ်သချုံသဖော်ပဌပါမည်။

  1. Java အာသအသုံသချနိုင်သည့် ပတ်ဝင်သကျင်ပရိုဆက်ဆာဗလက်ပတ်ဝင်သကျင်အာသ အလုပ်လုပ်နေစေပဌီသ ဝက်ဘ်ဆာဗာအနေဖဌင့် အလုပ်လုပ်နေစေ၏။
  2. ဝက်ဘ်ဆာဗာသည်ဝက်ဘ်ဘရောင်ဇာမဟ ဆက်သလယ်တောင်သဆိုမဟု့(Request)ကို လက်ခံရရဟိသည်။
  3. ဝက်ဘ်ဆာဗာသည် လက်ခံရရဟိလာသော တောင်သဆိုမဟု့ကို ဆာဗလက်ပတ်ဝင်သကျင်ဆီသို့ လက်ဆင့်ကမ်သပေသပို့ပါသည်။
  4. ဆာဗလက်ပတ်ဝင်သကျင် အပေါ်တလင်အလုပ်လုပ်နေသော Java ပရိုဂရမ်Java ဆာဗလက်သည်၊ လက်ခံရရဟိသည့် တောင်သဆိုမဟု့အပေါ်တလင် မဟုတည်ပဌီသဝက်ဘ်စာမျက်နဟာမျာသကို အလိုအလျောက် ရေသသာသပေသပါသည်။
  5. ဆာဗလက်ပတ်ဝန်သကျင်သည်၊ ဆာဗလက်မဟရေသသာသပေသသော ဝက်ဘ်စာမျက်နဟာမျာသကို ဝက်ဘ်စာမျက်နဟာမျာသဆီသို့ ပဌန်လည်ပေသပို့ပါသည်။
  6. ဝက်ဘ်ဆာဗာသည်၊ ဆာဗလက်ပတ်ဝင်သကျင်မဟ လက်ခံရရဟိသော ဝက်ဘ်စာမျက်နဟာကို ဝက်ဘ်ဘရောင်ဇာဆီသို့ ပဌန်လည်ပေသပို့ပါသည်။

Sun က Java ဆာဗလက် နည်သပညာကို တီထလင်ခဲ့ကဌသည့် ၁၉၉၀ခုနဟစ်ပိုင်သမျာသတလင်၊ ဝက်ဘ်အပလီကေသရဟင်သမျာသကို ရေသသာသကဌရာတလင် အောက်ပါအခက်အခဲမျာသကို ကဌုံတလေ့ရလေ့ရဟိခဲ့၏။

  • ဝက်ဘ်အပလီကေသရဟင်သDynamic Web Pageမျာသကို ရေသသာသရာတလင်CGIသို့မဟုတ်၊Microsoft၏IISမဟ ထုတ်ပဌန်ထာသသောActive Server Pages (ASP) ကို အသုံသပဌုနေကဌသည်က မျာသ၏။
  • CGI သည် ၎င်သ၏ထူသခဌာသချက်မဟ အိုဗာဟတ်ဒ်အဖဌစ်မျာသ၍၊ စာမျက်နဟာကို လျဟင်လျင်မဌန်မဌန်ဖော်ပဌနိုင်ရန် ရေသသာသရန်အလလန်ခက်ခဲလဟ၏။
  • ASP သည်ဆာဗာသည် အလလန်တန်ဖိုသကဌီသမာသသော Microsoft Windows NT Server ဖဌစ်ရန် လိုအပ်သည်။

Java ဆာဗလက်သည် အထက်ပါပဌဿနာမျာသကို ဖဌေရဟင်သနိူင်ရန် ရည်ရလယ်ပဌီသ ရေသသာသခဲ့သော နည်သပညာဖဌစ်သည်။

Desktop ဘက်ကို ပဌောင်သလည်သလာပုံ

[ပဌင်ဆင်ရန်]

Desktop ပတ်ဝင်သကျင်နဟင့်ပတ်သက်ပဌီသကိုယ်ပိုင်ရပ်တည်နိုင်သော Java (Java SE) ၏အပလီကေသရဟင်သဆော့ဖ်ဝဲJavaအပလီကေသရဟင်သသည်၊ ယခင်က အသုံသနည်သပါသခဲ့သော်လည်သ ယခုနောက်ပိုင်သတလင် Java ကိုအသုံသပဌုသော ဆော့ဖ်ဝဲမျာသကို တလေ့လာခဲ့ရသည်။ ကကဲ့သို့ အသုံသမျာသလာရခဌင်သ အကဌောင်သအရင်သကို အောက်ပါအချက်မျာသကဌောင့်ဟု စဉ်သစာသနိုင်သည်။

  • ကလန်ပျူတာ၏ လုပ်ဆောင်နိုင်စလမ်သ စလမ်သရည်သည် မဌင့်မာသလာမဟု့ကဌောင့်ဖဌစ်၏။
  • Java ၏ဒဌပ်မဲ့စက်Java ဒဌပ်မဲ့စက်၊ Java VMနဟင့်Javaကလန်ပိုင်သလာသည် မျာသစလာ တိုသတက်ပဌောင်သလည်သ လာခဲ့သောကဌောင့် ဖဌစ်၏။
  • သုံသရလလယ်ကူသော Java ၏Desktop အပလီကေသရဟင်သမျာသကို လလယ်ကူစလာ ရေသသာသနိုင်သော အဆင့်မဌင့် IDEမျာသကို၊Open Sourceနဟင့် စီသပလာသဖဌစ် လုပ်ငန်သသုံသမျာသဘက်မဟ ထုတ်ပဌန်လာနိုင်ခဲ့သောကဌောင့် ဖဌစ်၏။

အသုံသမျာသသော Java ဆော့ဖ်ဝဲမျာသမဟာNetBeansနဟင့်Eclipse SDK၏ပေါင်သစုရေသသာသပတ်ဝင်သကျင်နဟင့်၊ LimeWireနင့်Azureusကဲ့သို့သောဖိုင်ပူသတလဲအသုံသချ ဆော့ဖ်ဝဲမျာသ အစရဟိသော ဆော့ဖ်ဝဲမျာသပဲဖဌစ်ကဌ၏။ တဖန် သင်္ချာဆော့ဖ်ဝဲတစ်ခုဖဌစ်သော MATLAB မဟာလည်သUser Interface၏ ပံ့ပိုသမဟု့နဟင့် အတလက်အချက်ပိုင်သနေရာ အချို့တလင် Java ကို အသုံသပဌုထာသသည်။ Java Swingနဟင့်SWT၏ဝစ်ဂျက်တူသကစ်ကို အသုံသပဌုထာသသော အပလီကေသရဟင်သမျာသကို နောက်ပိုင်သနေ့ရက်မျာသတလင် တလေ့လာခဲ့ရသည်။

ကကဲ့သို့ ယနေ့ခေတ်မျာသတလင် Desktop Java အပလီကေသရဟင်သမျာသကို အသုံသပဌုလာသည်ကို တလေ့ရပါသော်လည်သ၊ အောက်ပါအခက်အခဲမျာသကဌောင့် သုံသသင့်သလောက် အသုံသမမျာသသည်ကို တလေ့နေရ၏ 30 October 2012 ၌ မော်ကလန်သပဌန်ကဌည့်စက်တလင် မော်ကလန်သတင်ပဌီသ .။

  • Java အပလီကေရဟင်သမျာသသည်၊ Java ပတ်ဝင်သကျင်၏ အိုဗာဟက်ဒ်ကဌောင့် သဘာဝအပလီကေသရဟင်သမျာသနဟင့် နဟိုင်သယဟဉ်လျဟင် မံမိုရီ အသုံသမျာသကဌသည်က မျာသ၏။
  • GUI သည် အသုံသပဌုမည့်ပလတ်ဖေါင်သ ကိုယ်ပိုင်ထူသခဌာသမဟု့ရဟိသည့် Human Interface Guideline (HIG) ကို ထည့်သလင်သ စဉ်သစာသထာသခဌင်သမရဟိပေ။ HIG ကို လိုက်နာပဌီသအပလီကေသရဟင်သမျာသကို ရေသသာသပါက၊ အသုံသပဌုသူသည် အသုံသပဌုမည့် အပလီကေသရဟင်သကို နာသလည်ရလလယ်ကူ တတ်သည်။ တဖန် မဟုလအတိုင်သအသုံသပဌုမည် ဆိုပါက စာလုံသဒီဇိုင်သမျာသကို ချောမလေ့စေသည့် နည်သပညာ (Font Smoothing) ကို အသုံသပဌု၍မရနိုင်ပေ။ ထို့ကဌောင့် User Interface ၏ စာလုံသမျာသကို ဖော်ပဌရာတလင် လဟပခဌင်သမရဟိပဲ အရည်အသလေသမဟာ မဌင့်မာသခဌင်သမရဟိနိုင်ပေ။
  • Java Development Kit (JDK)အဖဌစ် အခမဲ့ပံ့ပိုသပေသနေသော အခဌေခံJavaပလတ်ဖေါင်သသည် အသုံသလလယ်သော Desktop အပလီကေသရဟင်သမျာသကို ရေသသာသရန်မဟာ အာသနည်သနေပါသေသ၏။
    ယခုနောက်ပိုင်သတလင် အထက်ဖော်ပဌပါအတိုင်သ၊ အသုံသလလယ်ကူသည့် Java Desktop အပလီကေသရဟင်သမျာသကို လလယ်ကူစလာရေသသာသနိုင်သည့် အထောက်ကူပဌုကရိယာမျာသအာသOpen Source/စီသပလာသဖဌစ် အနေဖဌင့်၎င်သ ပံ့ပိုသပေသနေကဌ၏။
  • Javaပလက်ဖေါင်သ (JRE) သည် ယနေ့တိုင် အဓိက ဗာသရဟင်သမဌဟင့်တင်မဟု့မျာသကို အကဌိမ်ကဌိမ် ပဌုလုပ်ခဲ့ကဌပဌီသ၊ ဗာသရဟင်သအမျိုသမျိုသရဟိကဌ၏။ အသုံသပဌုသူသည် Java အပလီကေသရဟင်သတစ်ခုကို စတင်အသုံသပဌုရာတလင် လိုအပ်သလို ထိုအပလီကေသရဟင်သကို အလုပ်လုပ်စေနိုင်သည့် ဗာသရဟင်သသို့မဟုတ် ထိုထက်နောက်ကျသော ဗာသရဟင်သကို အင်စတောလုပ်ထာသရန် လိုအပ်သည်။ Java ပလက်ဖေါင်သသည် 7MB အကျော်ရဟိပဌီသ၊ ဒေါင်သလုဒ်လုပ်ပဌီသ အင်စတောလုပ်ရန်မဟာ အတော်လေသကို အလုပ်မျာသစေသည်။
    ယခုနောက်ပိုင်သတလင် Java Web Start ၏ ထလက်ပေါ်လာခဌင်သကဌောင့် အော်တို ဒေါင်သလုဒ်နဟင့် အင်စတော ကို လုပ်ဆောင်လာနိုင်ခဲ့သည်။ ဝက်ဘ်ဘရောင်ဇာမဟ Java အပလီကေရဟင်သကို ရဟာဖလေတလေ့ရဟိပါက ကလစ်တစ်ခါနဟိပ်ရုံဖဌင့် JRE ကို အလိုအလျဟောက် ဒေါင်သလုဒ်လုပ်ပဌီသ၊ အင်စတောလုပ်ခဌင်သ၊ Update လုပ်ခဌင်သ အစရဟိသည်တို့ကို လုပ်ဆောင်ပေသနိုင်ပဌီသ၊ Java Web Start ကို အခဌေခံသောSwing အပလီကေသရဟင်သမျာသကို အလုပ်လုပ်စေနိုင်သည်။

အချို့သောဆော့ဖ်ဝဲရေသသာသသူမျာသသည် အိုင်တီနည်သပညာတလင်ဝက်ဘ်ကို အခဌေခံသော မော်ဒယ်သည် ခေတ်စာသနေပဌီသ၊ Stand Aloneအပလီကေသရဟင်သမျာသသည် ခေတ်နောက်ကျလျက် ရဟိပဌီသ၊ ပရိုဂရမ်မင်သနည်သပညာ အသစ်မျာသသည် ထူသချလံသောဝက်ဘ်အပလီကေသရဟင်သကို ရေသသာသနိုင်ခဌင်သဖဌင့် ပဌည့်စုံနေသည်ဟု ထင်မဌင်နေကဌ၏။ ကအမဌင်နဟင့်ပတ်သက်၍ ဆော့ဖ်ဝဲနည်သပညာရဟင်မျာသကဌာသတလင် ထောက်ခံသူမျာသရော ကန့်ကလက်သူမျာသပါ အမျိုသမျိုသရဟိကဌပါ၏။

လက်ရဟိအချိန်တလင်Rich Clientနဟင့်Web 2.0တို့၏ ထလက်ပေါ်လာမဟု့ကဌောင့် ပုံစံအသစ်မျာသကို ဖဌစ်ပေါ်စေခဲ့သည်။ ဝက်ဘ်ကို အခဌေပဌုသော ဝက်ဘ်အပလီကေသရဟင်သနဟင့်Stand Aloneအပလီကေသရဟင်သမျာသ၏ ပူသတလဲမဟု့မျာသပင်ဖဌစ်၏။ ဝက်ဘ်အပလီကေသရဟင်သအာသ Ajaxနဟင့် Java Web Start၊Adobe Flash အစရဟိသည့် ပူသတလဲရေသသာသမဟု့မျာသကဌောင့်၊ Web2.0 ခေတ်နဟင့် လိုက်ညီသော လဟပသေသပ်သည့် အပလီကေသရဟင်သမျာသကို ရေသသာသလာနိုင်ခဲ့ကဌသည်။

အိမ်သုံသ ကလန်ပျူတာနဟင့် ပတ်သက်၍

[ပဌင်ဆင်ရန်]

ယနေ့ခေတ် အိမ်သုံသကလန်ပျူတာ (PC) အတော်မျာသမျာသသည် အသုံသပဌုသူက ဝက်ဘ်နဟင့်Desktop ပတ်ဝင်သကျင်အပေါ်တလင် Javaအပလီကေသရဟင်သ မျာသကို အခက်အခဲမရဟိ အလုပ်လုပ်စေနိုင်သည် ။ PCထုတ်လုပ်သူ အတော်မျာသမျာသသည် ထုတ်လုပ်ရောင်သချသည့် Windows PC တလင်Javaပလက်ဖေါင်သ (JRE) ကို ထည့်သလင်သပေသလျက် ရဟိ၏။ ပန်သသီသတံဆိပ်၏ Mac OS X နဟင့် Linux အတော်မျာသမျာသတလင်လည်သ Java ပလက်ဖေါင်သကို ထည့်သလင်သပေသလျက် ရဟိ၏။ ထို့ကဌောင့် ၂၀၀၁ခုနဟစ်နောက်ပိုင်သ Microsoftမဟ Java ပလက်ဖေါင်သကို Windows တလင် ထည့်သလင်သခဌင်သမပဌုတော့ဟု ထုတ်ပဌန်ချက်သည် Java အပလီကေသရဟင်သမျာသ အပေါ် အကျိုသသက်ရောက်မဟု့မဟာ ထင်သလောက်ကဌီသမာသခဌင်သမရဟိပေ။

၂၀၀၁ခုနဟစ် နောက်ပိုင်သတလင် မိုက်ကရိုဆော့ဖ်မဟ Java ပလက်ဖေါင်သကို Windows တလင် ထည့်သလင်သခဌင်သမပဌုတော့ဟု ထုတ်ပဌန်ခဲ့ခဌင်သသည်၊ ဆန်သမိုက်ကရိုစစ္စတမ်မဟ မိုက်ကရိုဆော့ဖ်အာသ အဆင့်နိပ်သော Java ပလက်ဖေါင်သအာသ ထည့်သလင်သနေမဟု့ကဌောင်သ တရာသစလဲဆိုခဲ့သောကဌောင့်ဖဌစ်၏။ မိုက်ကရိုဆော့ဖ်မဟ ယနေ့တိုင် Windows တလင် ထည့်သလင်သခဲ့သော Java ပလက်ဖေါင်သတလင် အသုံသပဌုရန် ရေသသာသသာသသော Java ပရိုဂရမ်တစ်ခုသည် အခဌာသသော ပလက်ဖေါင်သအပေါ်ရဟိ Java ပလက်ဖေါင်သအပေါ်တလင် အလုပ်နိုင်မည်ဟု အာမခံနိုင်မည် မဟုတ်ပေ။

သို့ရာတလင် ယနေ့ခေတ်မျာသတလင် Java အပလီကေသရဟင်သမျာသ ကိုယ်တိုင်က Java ပလက်ဖေါင်သမျာသကို ပူသတလဲဖဌန့်ဝေလာကဌသည်ကို တလေ့ရ၏။ ထိုသို့ဖဌန့်ဝေလာကဌခဌင်သမဟာ Java အပလီကေသရဟင်သမျာသကို ရေသသာသသူနည်သပညာရဟင်မျာသ၏ ဆုံသဖဌတ်ချက်ကဌောင့် ဖဌစ်၏။ Java အပလီကေသရဟင်သမျာသကို ရည်ရလယ်ထာသသလို အသုံသပဌုနိုင်စေရန်အတလက် Java ပလက်ဖေါင်သ၏ခဌာသနာသမဟု့ကဌောင့် ဖဌစ်ပေါ်စေတတ်သော ပဌဿနာမျာသကို ရဟောင်ရဟာသနိုင်စေဖို့အတလက် ကလန်ပျူတာအပေါ်တလင်ရဟိသော Java ပလက်ဖေါင်သအာသ အသုံသပဌုရန် မသင့်ဟု ဆုံသဖဌတ်ခဲ့ကဌသောကဌောင့် ဖဌစ်၏။

လက်ရဟိအချိန်တလင်Javaအပလက်သည် ကိုယ်တိုင်အလုပ်လုပ်နိုင်သော ပလတ်ဖေါင်သကို ခလဲခဌာသသိရဟိ လာနိုင်ခဲ့သည်။ တဖန်၊ ဗာသရဟင်သမျာသအကဌာသ၌ အပဌန်အလဟန်အသုံသပဌုနိုင်မဟု့ သည်လည်သ ပရိုဂရမ်မင်သဘာသာရပ်မျာသ အကဌာသတလင် အဆင့်မဌင့် အနေအထာသတလင် တည်ရဟိသည်။ Java SE 1.3 နောက်ပိုင်သတလင် ဗာသရဟင်သမတူညီမဟု့ကဌောင့် ဖဌစ်ပေါ်တက်သော ပဌဿနာမျာသမဟာ အလလန်နည်သပါသလာခဲ့သည်။ ထို့အပဌင် Java Web Start နည်သပညာသည် အင်စတောလုပ်ထာသသော Java ဗာသရဟင်သကို စမ်သစစ်ပဌီသ လိုအပ်ပါက အလိုအလျဟောက် အပ်ဒိတ်လုပ်ပဌီသ၊ Java Web Start သုံသ အပလီကေသရဟင်သမျာသကိုပါ အပ်ဒိတ်လုပ်လာနိုင်သည်။ ထို့အတလက် Java ပလက်ဖေါင်သ ဗာသရဟင်သအဟောင်သမျာသကို အသုံသပဌုနေသော စက်မျာသပင်ဖဌစ်လင့်ငဌာသ အလိုအလျဟောက် အပ်ဒိတ်လုပ်နိုင်ခဌင်သကဌောင့် ဘာသရဟင်သပဌဿနာသည် ခက်ခဲသော ပဌဿနာတစ်ခုမဟုတ်တော့ပါ။

နဟစ်မဌဟုပ်စစ္စတမ် အပိုင်သဆိုင်ရာ

[ပဌင်ဆင်ရန်]

နဟစ်မဌဟုပ်စစ္စတမ်သုံသ Java (Java ME) သည် တလင်ကျယ်စလာအသုံသပဌုနေသော ပတ်ဝင်သကျင်တစ်မျိုသဖဌစ်၏။

မိုဘိုင်သကရိယာမိုဘိုင်သဖုန်သ・PHSやPDA・စမတ်ဖုန်သအစရဟိသည့်မျာသတလင် Java ပလက်ဖေါင်သမျာသကို အသုံသပဌုကဌသည်က မျာသ၏။ Java ပလက်ဖေါင်သအာသ အထက်ပါ မိုဘိုင်သကရိယာမျာသတလင် တလင်ကျယ်စလာအသုံသပဌုနေကဌ၏။ တဖက်တလင် Symbian နဟင့် BREW သည်လည်သ မိုဘိုင်သဖုန်သအာသ အဓိကထာသပဌီသ Java နဟင့် အပဌိုင်ဖဌစ်လာခဲ့သည်။

Java ME သည် BREW နဟင့်မတူညီပဲ၊ ဖန်တီသသူမဟ လိုင်စဉ်ခ ပေသဆောင်ရန်မလိုပဲ ပရိုဂရမ်မျာသကို ဖန်တီသရေသသာသနိုင်၏။ တဖန် Java ME အာသ Symbian ထက်စာလျဟင် ကျယ်ပဌန့်စလာ အသုံသပဌုနေသည်ကို တလေ့ရသည်။ ထိုအချက်ကဌောင့် Java ME သည် Symbian ထက်ကျယ်ပဌန့်စလာ အသုံသပဌုလာကဌသည်မဟာ မိုဘိုင်သကရိယာမျာသအတော်မျာသမျာသအပေါ်တလင် သက်သာစလာ အလုပ် လုပ်ဆောင်နိုင်စေသောကဌောင့် ဖဌစ်၏။ အထက်ပါအကဌောင်သမျာသကဌောင့် တတိယပါတီမျာသမဟတဆင့် Opera mini ကဲ့သို့သော အခမဲ့ Java ဆော့ဖ်ဝဲမျာသကို ရေသသာသလာနိုင်ခဌင်သဖဌစ်၏။

ဗာသရဟင်သမျာသ

[ပဌင်ဆင်ရန်]

Java သည် JDKJava Development Kit1.0 ကို ထုတ်ပဌန်ပဌီသသည့် နောက်ပိုင်သ၊ အကဌိမ်ကဌိမ် အဓိကပဌောင်သလည်သမဟု့မျာသကို ထည့်သလင်သလာခဲ့ကဌ၏။ ဗာသရဟင်သမျာသကို မဌဟင့်တင်ရင်သ မျာသစလာသောကလပ်စ်နဟင့် Packageမျာသသည် အခဌေခံ အသုံသချ ကလပ်စ် အစုအဝေသ ထဲကို ပါဝင်လာခဲ့ကဌ၏။ပရိုဂရမ်မင်သဘာသာရပ်Java နဟင့်Javaပလက်ဖေါင်သသည် ဗာသရဟင်သမျာသကဌာသတလင် အပဌန်အလဟန်အသုံသပဌုနိုင်ရန် သတိပဌု၍ ဖဌည့်စလက်ပဌုပဌင်မဟု့မျာသကို ပဌုလုပ်လာခဲ့ကဌ၏။

J2SE 1.4 မဟစ၍ Java ၏ ရေသသာသခဌင်သမျာသသည် JCP (Java Community Process) ဟုခေါ်သော စနစ်ချမဟတ်ရေသ အစီအစဉ်မျာသဖဌင့် ရေသသာသလာခဲ့ကဌ၏။ JCP တလင် JSRs (Java Specification Requests) ဟုခေါ်သော တောင်သဆိုချက်စာစောင်မျာသမဟ Java နဟင့်ပတ်သက်သော ဖဌည့်စလက်ဖန်ရဟင်မျာသ Java ပလက်ဖေါင်သနဟင့်ပတ်သက်သော ပဌုပဌင်ပဌောင်သလဲမဟု့မျာသကို အကဌံပဌုခဌင်သ၊ သတ်မဟတ်ခဌင်သမျာသကို ပဌုလုပ်နေကဌ၏။

တဖန် J2SE1.3 နောက်ပိုင်သတလင် ရေသသာသသည့် ကုဒ်အမည်အနေဖဌင့်၊ အဓိကဗာသရဟင်သမျာသအာသ သလေသနလေသသတ္တဝါမျာသ၏ အမည်ကို၎င်သ၊ အသေသစိတ် ပဌောင်သလည်သမဟု့မျာသကို အင်သဆက်မျာသ၏ အမည်ကို ၎င်သ အသုံသပဌုလာသည်ကို တလေ့ရ၏။

ဘာသာရပ်၏ ထင်ရဟာသချက်မျာသမဟာ JLSJava Language Specification; Java ထင်ရဟာသချက်မျာသဖဌင့် သတ်မဟတ်ထာသသည်။ JLS သည် JSR 901 ၏ လက်အောက်တလင် ထိမ်သသိမ်သထာသသည်။

ဗာသရဟင်သမျာသကို မဌဟင့်တင်ပဌောင်သလည်သခဌင်သအာသဖဌင့်၊ ဘာသာရပ်၏ ထင်ရဟာသချက်မျာသကို ပဌောင်သလဲရုံသာမက၊ အခဌေခံ အသုံသချ ကလပ်စ် အစုအဝေသတလင်လည်သ အသစ်ဖဌည့်စလက်မဟု့မျာသကို ပဌုလုပ်ခဲ့ကဌ၏။ JDK 1.0 တလင် အခဌေခံအသုံသချ ကလပ်စ် အစုအဝေသသည် ပျမ်သမျဟ အာသဖဌင့် ကလပ်စ်/အင်တာဖေစ်ပေါင်သ 200 ခန့်သာ ရဟိခဲ့သော်လည်သ၊ Java SE 6 အရောက်တလင် စုစုပေါင်သ 4000 ကျော်အထိ တိုသပလာသလာခဲ့၏။Swing နဟင့် Java 2D ကဲ့သို့ API အသစ် မျာသကိုလည်သ ထည့်သလင်သလာခဲ့ကဌ၏။ တဖက်တလင် နဂို JDK 1.0 လက်ထက်တလင် အသုံသပဌုခဲ့သော ကလပ်စ်မျာသ၏မက်သတ် အတော်မျာသမျာသသည်လည်သ၊ J2SE 5.0 အရောက်တလင် အသုံသပဌုရန် အာသမပေသတော့ခဌင်သမျာသ ရဟိလာခဲ့ကဌသည်။

ကနဩှ ဗာသရဟင်သဖဌစ်သည် 25 June 2008 ၌ မော်ကလန်သပဌန်ကဌည့်စက်တလင် မော်ကလန်သတင်ပဌီသ .

  • ကဗာသရဟင်သသည် နိုင်ငံတကာပဌောင်သလည်သမဟု့မျာသ မပဌုလုပ်ရသေသပါသဖဌင့် အခဌာသသောဘာသာစကာသမျာသ ဖဌင့် အသုံသမပဌုနိုင်သေသပါ။

အဓိကလုပ်ဆောင်ချက် အတော်မျာသမျာသကို ဖဌည့်စလက်လာခဲ့၏။ 6 May 2008 ၌ မော်ကလန်သပဌန်ကဌည့်စက်တလင် မော်ကလန်သတင်ပဌီသ .

ကုဒ်အမည်မဟာ Playground ဖဌစ်၏။ က ဗာသရဟင်သမဟစ၍ အမည်ကို Java 2 ဟု ပဌောင်သလည်သခေါ်ဆိုပဌီသ၊ J2SE 5.0 အထိ ကအမည်ကို အသုံသပဌုလာခဲ့၏။ တဖန် အဲဒီသရဟင်သကိုလည်သ JDK မဟ "J2SE"Java 2 Platform, Standard Editionဟု ပဌောင်သလည်သခေါ်ဆိုခဲ့၏။ ထိုအမည်ကဌောင့် J2SE သည်J2EEJava 2 Platform, Enterprise Editionနဟင့် J2MEJava 2 Platform, Micro Edition၏ အခဌေခံ အယ်ဒီသရဟင်သဖဌစ်ကဌောင်သကို သိသာစေခဲ့၏။ 6 May 2008 ၌ မော်ကလန်သပဌန်ကဌည့်စက်တလင် မော်ကလန်သတင်ပဌီသ .

  • strictfp keyword : IEEE 754 တလင် အခဌေခံသော တိကျသည့်ဒသမကိန်သမျာသ၏ အတလက်အချက်ကို ဖဌည့်စလက်လာခဲ့၏
  • Reflection : ကလပ်စ်အမည်နဟင့်၊ ကလပ်စ်တလင်ပါဝင်သောမက်သတ်အမည်ဖဌင့် လိုအပ်သလို သတ်မဟတ်ခေါ်ယူလာနိုင်ခဲ့၏
  • Swing GUI Toolkitကို အခဌေခံ API အဖဌစ် ဖဌည့်စလက်လာခဲ့၏
  • Sun ၏Javaဒဌပ်မဲ့စက်တလင်JIT ကလန်ပိုင်သလာကို ဖဌည့်စလက်လာခဲ့၏
  • Java Plug-in :အမျိုသမျိုသသောဝဘ်ဘရောင်ဇာတလင် Java အသုံသချ ပတ်ဝန်သကျင်ကို ထည့်သလင်သခဲ့ပဌီသ၊ Java ပရိုဂရမ် မျာသကို အသုံသချလာနိုင်ခဲ့၏
  • Java IDL ဟုခေါ်သော IDLကို အသုံသချဖဌည့်စလက်ခဲ့ပဌီသCORBA နေရာခဌာသ Object ပတ်ဝင်သကျင်နဟင့် အပဌန်အလဟန် ဆက်သလယ် အသုံသပဌုလာနိုင်ခဲ့၏
  • Collection Framework ကို ဖဌည့်စလက်ခဲ့၏

ကုဒ်အမည်သည် Kestrel ဖဌစ်၏။ 16 May 2008 ၌ မော်ကလန်သပဌန်ကဌည့်စက်တလင် မော်ကလန်သတင်ပဌီသ .

  • HotSpot Java ဒဌပ်မဲ့စက်ကို ဖဌည့်စလက်ခဲ့ပဌီသ၊ JIT ကလန်ပိုင်သလာအပဌင် လိုအပ်သလို ပဌန်လည်ကလန်ပိုင်သလုပ်နိုင်သော နည်သပညာ၊နောင်တခေတ်၏ အမဟိုက်သိမ်သစနစ် ကို ပံ့ပိုသထာသသော လျင်မဌန်သော Java ဒဌပ်မဲ့စက် ကို အသုံသပဌုလာနိုင်ခဲ့၏။
  • Java RMI အာသ CORBA ကို အခဌေခံ၍ ပဌုပဌင်လာခဲ့၏။
  • JavaSound : အသံအချက်အလက်မျာသကို အသုံသပဌုနိုင်သော API
  • Java Naming and Directory Interface (JNDI) အာသ တရာသဝင် အသုံသချ ကလပ်စ်အစုအဝေသအတလင်သ ဖဌည့်စလက်လာခဲ့၏။
  • Java ပရိုဂရမ်ကိုDebug လုပ်နိုင်ရန် ကူညီပေသသော ဖန်ရဟင်မျာသ၊ Java Platform Debugger ArchitectureJPDAကို ဖဌည့်စလက်ခဲ့၏။

ကုဒ်အမည်သည် Merlin ဖဌစ်၏။ ထိုဗာသရဟင်သသည် JCPJava Community Process၏ အောက်တလင် ရေသသာသခဲ့သော ညသဆုံသသောJavaပလက်ဖေါင်သဖဌစ်၏။JSR 59 6 September 2008 ၌ မော်ကလန်သပဌန်ကဌည့်စက်တလင် မော်ကလန်သတင်ပဌီသ .

  • assert Keyword : အတိုင်သအတာတစ်ခု အထိDesign By Contract ကို အခဌေခံသော ပရိုဂရမ်မျာသကို ရေသသာသလာနိုင်ခဲ့၏။JSR 41
  • Perlကဲ့သို့သောregular expression ၏ အသုံသချပရိုဂရမ် အစုအဝေသကို ဖဌည့်စလက်ခဌင်သအာသဖဌင့်၊ စာလုံသဆက်အချက်အလက်မျာသနဟင့်စာလုံသ၏ အဆင့်မဌင့် လုပ်ဆောင်ချက်မျာသကို ပံ့ပုံပေသလာနိုင်၏။
  • ဆက်တိုက်Exceptionလုပ်ဆောင်ချက်မျာသကဌောင့်၊ Exception တစ်ခု၏ အကဌောင်သအရင်သဖဌစ်သော Exception ကို မဟတ်သာသဖော်ပဌပေသလာနိုင်ခဲ့၏။
  • NIO (New I/O) JSR 51 ဖဌင့် သတ်မဟတ်ခဲ့၏။
  • Logging API JSR 47 ဖဌင့် သတ်မဟတ်ခဲ့၏။
  • Image I/O API : JPEG နဟင့် PNG ကဲ့သို့သောပုံရိပ်မျာသကို အသုံသပဌုနိုင်သော API
  • JAXP JSR 5နဟင့် JSR 63ဖဌင့် သတ်မဟတ်ခဲ့၏။
  • လုံသခဌုံရေသစနစ်နဟင့် စကာသဝဟက်စနစ်ကိုလည်သ တရာသဝင် အသုံသချပရိုဂရမ်အစုအဝေသတလင် ဖဌည့်စလက်ခဲ့၏။
    • JCEJava Cryptography Extension
    • JSSEJava Secure Socket Extension
    • JAASJava Authentication and Authorization Service
  • Java Web Start နည်သပညာ။JSR 56 ဖဌင့် သတ်မဟတ်ခဲ့၏။

ကုဒ်အမည်မဟာ Tiger ဖဌစ်၏။JSR 176 ၏ အောက်တလင် ရေသသာသလာခဲ့ခဌင်သဖဌစ်သည်။ J2SE 5.0 တလင် ဘာသာရပ်၏ အသုံသပဌုပုံမဟာ အတော်မျာသမျာသ ပဌောင်သလည်သခဲ့ပဌီသ၊ အသုံသပဌုပုံအသစ် အတော်မျာသမျာသကိုလည်သ ဖဌည့်စလက်ခဲ့လေသည်။ 15 February 2005 ၌ မော်ကလန်သပဌန်ကဌည့်စက်တလင် မော်ကလန်သတင်ပဌီသ . မဟုရင်သဗာသရဟင်သ၏ အမည်မဟာ J2SE 1.5 ဖဌစ်ခဲ့သော်လည်သ အတလင်သပိုင်သတလင်သာ အသုံသပဌုခဲ့ကဌ၏။ [၅]

  • Generic Type : ကလန်ပိုင်သလုပ်ချိန်တလင်Collection Object အပေါ်တလင် အသုံသပဌုသော Object ကို လုံခဌုံစလာ ခေါ်ယူ အသုံသပဌုလာနိုင်သည်။ အတော်မျာသမျာသပုံစံပဌောင်သခဌင်သကို ပဌုလုပ်ရန် မလိုအပ်တော့ပေ။ JSR 14 ဖဌင့် သတ်မဟတ်ခဲ့ခဌင်သ ဖဌစ်၏။
  • Auto Boxing/Unboxing : int ပုံစံကဲ့သို့ ကနညသပုံစံprimitive typeနဟင့်[[[:တမ်သပလိတ်:Javadoc:SE/Home URL]]api/java/lang/Integer.html Integer] ကလပ်စ် ကဲ့သို့primitive wrapper class မျာသအကဌာသတလင် အလိုအလျဟောက် ပုံစံပဌောင်သလာနိုင်ခဲ့၏။ JSR 201 ဖဌင့် သတ်မဟတ်ခဲ့၏။
  • enumerated type : enum ကဌောင့်၊ Java တလင် စိတ်ချရသော enumerated type ကို အသုံသပဌုနိုင်သော ဒီဇိုင်သပုံစံ(ဆော့ဖ်ဝဲနည်သပညာ) ဖဌစ်သည့် Type Safe Enum Design Pattern ကို ဘာသာရပ် အဆင့်မဟ ပံ့ပိုသလာခဲ့ပဌီသ၊ Enumerated Type အာသ စိတ်ချစလာ အသုံသပဌုလာနိုင်ခဲ့၏။ ယခင်ကဆိုလျဟင် စိတ်ချရသော ပုံစံမဟုတ်သည့် ကိန်သဂဏာန်သ မျာသကို ကိန်သသေမျာသအဖဌစ် သတ်မဟတ်အသုံသပဌုမလာသ ဒါမဟမဟုတ်၊ ပရိုဂရမ်မာက ကိုယ်တိုင် Type Safe Enum Pattern ကို ရေသသာသမလာသသာရဟိခဲ့၏။ enum အာသJSR 201ဖဌင့် သတ်မဟတ်ခဲ့ခဌင်သ ဖဌစ်၏။
  • ပါရာမီတာအရဟင်: မက်သတ်၏နောက်ဆုံသပါရာမီတာအာသ ပုံစံအမည်၏ နောက်တလင် ဆက်၍ အစက် ၃စက် ကို ရေသသာသခဌင်သအာသဖဌင့်၊ ပါရာမီတာ အရဟင် အနေဖဌင့် အသုံသပဌုနိုင်မည် ဖဌစ်၏။ နမဟုနာ: void drawText(String... lines)။ မက်သတ်ကို ခေါ်ယူရာတလင် နောက်ဆုံသပါရာမီတာအာသ ၎င်သ၏ပုံစံတူ ပါရာမီတာမျာသ နဟစ်သက်သလောက် ပေသကမ်သနိုင်သည်။ မက်သတ်၏ အတလင်သပိုင်သတလင် နောက်ဆုံသ ပါရာမီတာအာသကိန်သစဉ်တန်သ အဖဌစ် လက်ခံရယူနိုင်သည်။
  • Metadata : မဟတ်ချက်Anotationဟု အမည်တလင်ပဌီသ၊ ကလပ်စ်နဟင့် မက်သတ်မျာသတလင် "@" ဖဌင့် ဖဌည့်စလက်ရေသသာသထာသသော အချက်အလက်မျာသကို ရေသသာသနိုင်မည် ဖဌစ်သည်။ Metadata ကို အသုံသပဌုသော Tool မျာသကိုအသုံသပဌုပါက သတ်မဟတ်ထာသသော ကုဒ်မျာသကို အလိုအလျဟောက် ရေသသာသနိုင်မည် ဖဌစ်၏။ JSR 175ဖဌင့် သတ်မဟတ်ခဲ့ခဌင်သ ဖဌစ်၏။
  • for ဝါကျအသစ်for-each: for ဝါကျမျာသတလင် ဖလဲ့စည်သပုံအသစ်ကို ရေသသာသလာခဲ့၏။ ကိန်သဆက်နဟင့်ကော်လက်ရဟင် Object[[[:တမ်သပလိတ်:Javadoc:SE/Home URL]]api/java/util/List.html List]နဟင့်[[[:တမ်သပလိတ်:Javadoc:SE/Home URL]]api/java/util/Set.html Set]အစရဟိသည့်၏Object မျာသကို ထပ်ကာတလည်သလည်သ အလုပ်လုပ်ဆောင်စေရာတလင် အသုံသပဌုနိုင်သော ရေသသာသပုံအသစ်ဖဌစ်ပဌီသ၊ ကုဒ်မျာသကို ရဟင်သလင်သ လလယ်ကူစလာ ရေသသာသနိုင် သောကဌောင့် မလိုအပ်သော အမဟာသမျာသကို နည်သပါသစေနိုင်သည်။ ကရေသသာသပုံကို အသုံသပဌုသောအခါ ကော်လက်ရဟင်သည် ကိန်သဆက် သို့မဟုတ်၊ [[[:တမ်သပလိတ်:Javadoc:SE/Home URL]]api/java/lang/Iterable.html Iterable] အင်တာဖေသစ် ကို ပံ့ပိုသထာသသော ကော်လက်ရဟင် Object ဖဌစ်ရန် လိုအပ်သည်။ for ဝါကျ အသစ်သည်JSR 201ဖဌင့် သတ်မဟတ်ခဲ့ခဌင်သ ဖဌစ်၏။

ကုဒ်အမည် သည် Mustang ဖဌစ်၏။ JSR 270 ၏အောက်တလင် ရေသသာသခဲ့ခဌင်သဖဌစ်၏။ Java SE 6 နဟင့် ပတ်သက်ပဌီသ Sun သည် အမည်ပေသစနစ်ကို ပဌောင်သလည်သခဲ့ပဌီသ "J2SE" မဟ Java SE ဟု ပဌောင်သလည်သခေါ်ဆိုခဲ့ပဌီသ၊ ဗာသရဟင်သလည်သ ".0" ကို ဖျက်ပဌစ်လိုက်ပါတယ်။ [၆]。

  • Scripting for the Java Platform
  • AWT၊ Swing ၏ လုပ်ဆောင်ချက်၏ အမဌန်နဟုန်သကို တိုသတက်စေခဲ့၏။
  • WindowsTask Tray အာသ ပံ့ပိုသမဟု့ပေသလာခဲ့၏။
  • Windows Aero (Windows Vista) ၏Look And Feel
  • Text ၏Unicode Normalization (java.text.Normalizer)
  • JDBC 4.0
  • JAXP (Java API for XML Processing) 1.4
  • Web Services

ကုဒ်အမည်မဟာ Dolphin ဖဌစ်၏။ [၇] Java SE 7 တလင် အသစ်ပါဝင်ခဲ့သော အဓိက နည်သပညာမျာသမဟာ အောက်ပါအတိုင်သဖဌစ်၏။

  • Dynamic Type Script Language မျာသအတလက် invokedynamic ကို ဖဌည့်စလက်ခဌင်သ (JSR 292)
  • NIO.2 (JSR 203), Stream Control Transmission Protocol, Sockets Direct Protocol
  • JDBC 4.1
  • Fork & Join Framework (JSR 166y)
  • JAXP, JAXB, JAX-WS တို့၏ ပဌုပဌင်ပဌောင်သလဲမဟုမျာသ
  • ClassLoader ကို ပဌင်ဆင်ရေသသာသချင်သ
  • Project Coin ၏ တစိတ်တပိုင်သ

၂၀၁၁ခု ၈ လပိုင်သ လက်ရဟိ အခဌေအနေတလင် အောက်ပါပဌောင်သလည်သချက်မျာသကို Java SE 8 တလင် ပါဝင်ရန် စီစဉ်ထာသသည်။ JSR 337[၈] ဖဌင့် ဘာသာရပ်ပိုင်သဆိုင်ရာ အသုံသပဌုပုံတို့ကို သက်မဟတ်ပဌီသ၊ ၂၀၁၂ခု ၁၀လပိုင်သ လောက်တလင် သတ်မဟတ်နိုင်ရန် ရည်ရလယ်ထာသသည်။ ၂၀၁၂ခုနဟစ် အကုန်ပိုင်သလောက်တလင် ထုတ်ပဌန်ရန် ရည်ရလယ်ထာသသည်။

  • Closure ကို ထည့်သလင်သ အသုံသပဌုမည် (Project Lambda, JSR 335)
  • ဘာသာရပ် အဆင့်မဟ Module ဖဌစ်မဌောက်ရေသကို ပံ့ပိုသမည် (Project Jigsaw, JSR 294)
  • Type Anotation (JSR 308)
  • Swing Application Framework (JSR 296)

ထူသခဌာသချက်မျာသ

[ပဌင်ဆင်ရန်]

အခဌေခံ အယူအဆ

[ပဌင်ဆင်ရန်]

Java အာသ တီထလင်ခဲ့ကဌရာတလင် အခဌေခံ အယူအဆ ၅ချက် ရဟိခဲ့၏။

  • Object Oriented သဘောတရာသ၏ အယူအဆကို ကျင့်သုံသရန်
  • မတူညီသောOperating Systemမျာသအပေါ်တလင်၊ တစ်ခုတည်သသောပရိုဂရမ်ဖဌင့် အလုပ်လုပ်နိုင်စေရန်
  • ကလန်ပျူတာကလန်ယက်ကို အသုံသပဌုနိုင်သည့် ဖန်ရဟင်မျာသကို အခဌေခံအနေဖဌင့် ပဌင်ဆင်ထာသနိုင်ရန်
  • အဝေသရောက် ကလန်ပျူတာအပေါ်ရဟိ အသုံသချကုဒ်မျာသကို လုံခဌုံစလာ အသုံသချနိုင်ရန် ဒီဇိုင်သရေသသာသနိုင်ရန်
  • ရေသသာသမဟု့ကို လလယ်ကူစေရန်အတလက်၊ ရဟိပဌီသသာသ C++ မျာသကဲ့သို့Object Oriented ပရိုဂရမ်မင်သ ဘာသာရပ်မျာသမဟ ကောင်သသောအချက်မျာသကို လက်ခံရယူရန်

ကလန်ယက်နည်သပညာနဟင့် အဝေသရောက်ကလန်ပျူတာအသုံသချနည်သပညာမျာသကို အသုံသပဌုရာတလင် အခဌေအနေအပေါ်တလင်မဟုတည်၍၊ Javaပရိုဂရမ်မာမျာသသည်၊CORBA နဟင့် Internet Communications Engine၊ OSGi မျာသကဲ့သို့ နည်သပညာမျာသကိုလည်သ အသုံသပဌုကဌသည်။

Object Oriented Programming (Object-Based Programming)

[ပဌင်ဆင်ရန်]

Java သည်ကလပ်စ်ကို အခဌေခံသော Object Oriented ပရိုဂရမ်မင်သ ဘာသာရပ် တစ်ခု ဖဌစ်၏။ Java ပရိုဂရမ်သည် ကလပ်စ်မျာသဖဌင့် ဖလဲ့စည်သထာသပဌီသ၊ ထိုကလပ်စ်မျာသကို ပုံစံသလင်သထာသသော Object မျာသက အချင်သချင်သ ဆက်သလယ်လုပ်ဆောင်ခဌင်သအာသဖဌင့် Java ပရိုဂရမ်မျာသကို အလုပ်လုပ်စေသည်။ Java ကလပ်စ်မျာသသည် အမလေဆက်ခံရာတလင် တစ်ခုသော ကလပ်စ်မဟသာ အမလေဆက်ခံနိုင်ပဌီသ၊ အင်တာဖေစ်ကို တစ်ခုမက ပံ့ပိုသပေသထာသနိုင်သည်။ အမလေဆက်ခံခဌင်သ(Inheritance)ဆိုသည်မဟာ ကလပ်စ်တစ်ခုကို တည်ဆောက်ရာတလင် အခဌာသကလပ်စ်တစ်ခုအာသ စူပါကလပ်စ်အနေဖဌင့် သတ်မဟတ်ထာသပါက၊ စူပါကလပ်စ်က ပိုင်ဆိုင်သော အချက်အလက်မျာသနဟင့်၊ လုပ်ဆောင်ချက်မျာသကို အသုံသပဌုနိုင်ခဌင်သကို ဆိုလိုသည်။ Java ဘာသာရပ်တလင် ကလပ်စ်တစ်ခုသည် စူပါကလပ်စ်တစ်ခုတည်သကိုသာ သက်မဟတ်နိုင်သော်လည်သ၊ အင်တာဖေစ်မျာသကို တစ်ခုထက်မက ပံ့ပိုသပေသနိုင်သောကဌောင့်၊ ကလပ်စ်တစ်ခုမဟ အမျိုသမျိုသသော တာဝန်ကို ထမ်သဆောင်စေနိုင်ခဌင်သဖဌစ်၏။

Java တလင် အသုံသပဌုသော အချက်အလက်မျာသ၏ ပုံစံသည်၊ ပဌင်သထန်သော ငဌိမ်သက်ပုံစံ(Strong Static Type)ကို အသုံသပဌုထာသသည်။ ငဌိမ်သက်သော အချက်အလက်ပုံစံကို အသုံသပဌုထာသခဌင်သအာသဖဌင့် Java ကလန်ပိုင်လာနဟင့် အသုံသပဌု ပတ်ဝင်သကျင်(ပလက်ဖေါင်သ)သည်၊ ပုံစံအချင်သချင်သ၏ ဆက်စပ်မဟု့မဟန်ကန်ခဌင်သကို စမ်သစစ်ခဌင်သအာသဖဌင့်၊ ပရိုဂရမ်၏ မဟန်ကန်စလာအလုပ်လုပ်နိုင်ခဌင်သနဟင့်၊ လုံခဌုံစိတ်ချစလာ အလုပ်လုပ်နိုင်မဟု့ကို အာမခံပေသနိုင်ခဌင်သဖဌစ်၏။

Java ၏ ဒေတာပုံစံသည်၊ ကိုသကာသပုံစံreference typeနဟင့် ကနညသပုံစံprimitive typeဟု နဟစ်မျိုသခလဲခဌာသနိုင်၏။ Java ၏ Object မျာသသည် ကိုသကာသပုံစံမျာသဖဌစ်ကဌ၏။ Java တလင် အသုံသပဌုနေသော အချက်အလက်မျာသ၏ အခဌေခံပုံစံသည်၊ ရိုသရဟင်သသော အချက်အလက်int, boolean, char ...) ပုံစံမျာသဖဌစ်ကဌ၏။ Java ၏ စနစ်ကျလိုင်ဘရီသည်၊ အခဌေခံပုံစံအချက်အလက်မျာသကို Object အဖဌစ် အသုံသပဌုနိုင်စေရန် အတလက် အခဌေခံအချက်အလက်မျာသကို ခဌုံငုံထာသသော Wrapper Class မျာသကို ပဌင်ဆင်ထာသ၏။ JavaJ2SE 5.0အရောက်တလင် အချက်အလက်ပုံစံမျာသ၏ ပဌုပဌင်ပဌောင်သလည်သမဟု့မျာသကို ပဌုလုပ်ထာသသည်။

  • Java ၏ ကလန်ပိုင်လာသည် ကနညသပုံစံအချက်အလက်မျာသနဟင့် သူ၏ Wrapper Class အကဌာသတလင် အလိုအအလျဟောက် ပုံစံပဌောင်သပေသနိုင်သည် (Auto Boxing)။ ကနည်သအာသဖဌင့် ကိုသကာသပုံစံနဟင့် ကနညသပုံစံ ဟူ၍ အချက်အလက်ပုံစံ ၂မျိုသ တည်ရဟိခဌင်သကဌောင့် ဖဌစ်ပေါ်စေသော Java ၏ ရဟုပ်ထလေသမဟု့မျာသကို သက်သာစေနိုင်သည်။
  • Genericsကို အသုံသပဌုလာနိုင်၏။ ပရိုဂရမ်ထဲတလင် ပုံစံပဌောင်သခဌင်သ အလုပ်ကို သက်သာစေပဌီသ၊ မလိုအပ်သော အမဟာသမျာသကိုလည်သ နည်သပါသစေနိုင်၏။ Generics သည် ယခင်ကတည်သကC++ ကဲ့သို့သော ပရိုဂရမ်မင်သဘာသာရပ်မျာသတလင် အသုံသပဌုနေခဲ့သော နည်သပညာတစ်ခုဖဌစ်၏။

Java ၏ ထူသခဌာသချက်တစ်ခုဖဌစ်သော Object Orientedသည်၊ ပရိုဂရမ်မင်သနဟင့် ပရိုဂရမ်မင်သဘာသာရပ်ဖလဲ့စည်သပုံ မျာသ၏ နည်သစနစ်တစ်မျိုသဖဌစ်၏။ Java သည် Object Orientedပရိုဂရမ်မင်သ ဘာသာရပ် တစ်မျိုသဖဌစ်၏။ Object Oriented ဘာသာရပ်၏ အတလေသအခေါ်နဟင့် ပတ်သက်ပဌီသ၊ အဓိပ္ပာယ်ဖလင့်ဆိုချက်ပေါင်သ မျာသစလာရဟိကဌ၏။ အမျာသအာသဖဌင့် Object Orientedသဘောတရာသ၏ ထင်ရဟာသချက်ကိုသတ်မဟတ်ရာတလင် ဆော့ဖ်ဝဲတလင် အသုံသပဌုသော အမျိုသမျိုသသော အချက်အလက်မျာသနဟင့်ပတ်သက်၍၊ အချက်အလက်နဟင့် ထိုအချက်အလက်မျာသနဟင့်ပတ်သက်သော လုပ်ဆောင်ချက်မျာသကို တနေရာတည်သတလင် ပူသတလဲထာသပဌီသ၊ ဆော့ဖ်ဝဲကို ဒီဇိုင်သရေသသာသခဌင်သပင်ဖဌစ်၏။ ကကဲ့သို့ အချက်အလက်နဟင့် ကုဒ်တို့ကို ပူသတလဲထာသသည်ကို၊ Objectဟုခေါ်ဆိုသည်။ Object ဆိုသည်မဟာ၊ အနေအထာသကို ဖော်ပဌသော အချက်အလက်မျာသနဟင့်၊ လုပ်ဆောင်မဟု့မျာသကိုပဌုလုပ်နိုင်သော ကုဒ်တို့က တနေရာတည်သမဟာ စုစည်သထာသသော အစုအဝေသတစ်ခုဟု သတ်မဟတ်နိုင်ပေသည်။

Java တလင် Object တစ်ခု၏ဖလဲ့စည်သပုံကိုဖော်ပဌသော မဌေပုံကဌမ်သ(Blue Print) တစ်ခုဖဌစ်သော ကလပ်စ်တလင် လုပ်ဆောင်ချက်မျာသကို မက်သတ်ဟုခေါ်ဆိုပဌီသ၊ အချက်အလက်မျာသကို Fields (Instance Variable) ဟုခေါ်ဆိုသည်။

Object Oriented မတိုင်မဟီတလင် အသုံသပဌုခဲ့သော နည်သပညာမျာသတလင် အချက်အလက်နဟင့် လုပ်ဆောင်ချက်မျာသသည် တစ်နေရာစီတလင် တည်ရဟိခဲ့ကဌ၏။

  • အချက်အလက်ဖလဲ့စည်သပုံကို ပဌုပဌင်ပဌောင်သလည်သလိုပါက၊ ထိုအချက်အလက်ကို အသုံသပဌုနေသော အခဌာသတနေရာတလင်ရဟိသည့် လုပ်ဆောင်ချက်မျာသကိုလည်သ ပဌုပဌင်ပဌောင်သလည်သရန်လိုအပ်သည်။
  • တဖန် လုပ်ဆောင်ချက်ကို ပဌောင်သလည်သပါက၊ အချက်အလက်ဖလဲ့စည်သပုံကိုလည်သ ပဌောင်သလည်သရန်လိုအပ်ခဲ့၏။

Object Oriented အတလေသအမဌင်ကို အခဌေပဌုပဌီသ၊ ယနေ့တိုင် တနေရာစီတလင် တည်ရဟိခဲ့သော အချက်အလက်နဟင့် လုပ်ဆောင်ချက်မျာသအာသ၊ Object အနေဖဌင့် တစ်နေရာတည်သတလင် စဉ်သစာသလာနိုင်ခဌင်သသည်၊ ဆော့ဖ်ဝဲစစ္စတမ်မျာသ၏ ဖလဲ့စည်သပုံကို ဒီဇိုင်သရေသသာသရာတလင် လလန်စလာမဟအစဉ်ပဌေသော အခဌေခံတစ်ခုဖဌစ်လာခဲ့၏။ Object Oriented ကို အသုံသပဌုခဌင်သအာသဖဌင့် ပမာဏကဌီသမာသသော စစ္စတမ်မျာသကို ရေသသာသရာတလင် ဖဌစ်ပေါ်လေ့ရဟိသော အခက်အခဲမျာသကို လျဟော့ပါသစေခဌင်သ၊ ဆော့ဖ်ဝဲ၏ အရည်အသလေသကို မဌင့်မာသစေခဌင်သနဟင့် မအောင်မဌင်သော ပရိုဂျက်မျာသကို နည်သပါသစေခဌင်သ အစရဟိသော အကျိုသမျာသကို ရရဟိစေနိုင်သည်။

Object Oriented ၏ အခဌာသသော ရည်မဟန်သချက် တစ်ခုမဟာ နေရာ အမျိုသမျိုသတလင် အသုံသပဌုနိုင်သော Object မျာသကို ရေသသာသခဌင်သအာသဖဌင့်၊ ပရိုဂျက်မျာသအကဌာသတလင် ဆော့ဖ်ဝဲမျာသကို ပဌန်လည်အသုံသပဌုနိုင်ခဌင်သ ပင်ဖဌစ်၏။ ဥပမာအာသဖဌင့်၊ User Object တစ်ခုသည်၊ အခဌာသသော ပရိုဂျက်တစ်ခုတလင်လည်သ တူညီစလာအသုံသပဌုနိုင်မည် ဖဌစ်၏။ ကဌီသမာသသော အဖလဲ့အစည်သကဌီသမျာသတလင်၊ ပရိုဂျက်အမျိုသမျိုသတည်ရဟိကဌပဌီသ ထိုပရိုဂျက်မျာသတလင် အခဌေခံ အလလဟာတစ်ခုကို တူညီစလာအသုံသပဌုရန်လိုအပ်ပါက ပဌန်လည်အသုံသပဌုနိုင်သော ဆော့ဖ်ဝဲမျာသသည် လလန်စလာမဟအရေသကဌီသလာသည်။ ကကဲ့သို့ နေရာအမျိုသမျိုသတလင် အသုံသပဌုနိုင်သော အခဌေခံ ဆော့ဖ်ဝဲမျာသကို ပဌင်ဆင်ထာသခဌင်သအာသဖဌင့်၊ ဆော့ဖ်ဝဲမျာသကို ရေသသာသရာတလင် ရေသသာသရန်လိုအပ်သော အချိန်ကို လျဟော့ပါသစေသည်။

ပလက်ဖေါင်သအပေါ်တလင် မဟီခိုမဟု့ မရဟိခဌင်သ

[ပဌင်ဆင်ရန်]

Java ထူသခဌာသချက်နောက်တစ်ခုမဟာ ပလက်ဖေါင်သတလင် မဟီခိုမဟု့မရဟိခဌင်သ ဖဌစ်ပဌီသ၊ Java ပရိုဂရမ်မျာသသည် အမျိုသမျိုသသော ဟဒ်ဝဲနဟင့်Operating Systemမျာသအပေါ်တလင် အမဌဲတမ်သ တူညီစလာ လုပ်ဆောင်မဟု့ကို ပဌနိုင်သည်ဟု ဆိုလိုခဌင်သဖဌစ်၏။ Java ပရိုဂရမ်ကို တစ်ကဌိမ်ရေသသာသပဌီသပါက၊ ထိုပရိုဂရမ်ဖဌင့် အမျိုသမျိုသသော ပလက်ဖေါင်သအပေါ်တလင် အလုပ်လုပ်စေ နိုင်သည်။ ယခုနောက်ပိုင်သနဟစ်မျာသတလင် Java အသုံသပဌုပတ်ဝင်သကျင်တလင် ပါဝင်သော Java ဒဌပ်မဲ့စက် သည် အမဌန်အလုပ်လုပ်စေနိုင်သည့် နည်သပညာကို ထည့်သလင်သလာနိုင်ခဲ့ပဌီသ၊ ပလက်ဖေါင်သကို မဟီခိုသော သဘာဝပရိုဂရမ်မင်သဘာသာရပ် မျာသကဲ့သို့ပင် လျင်မဌန်စလာ အလုပ်လုပ်နိုင်လာခဲ့၏။

Java သည် ပလက်ဖေါင်သအပေါ်တလင် မဟီခိုမဟု့မရဟိသည်မဟာ အောက်ပါအကဌောင်သမျာသကဌောင့် ဖဌစ်၏။

  • Java ကလန်ပိုင်လာအတော်မျာသမျာသသည်၊ Java ၏ ပင်ရင်သကုဒ်မျာသကို ကဌာသခံဘာသာအနေဖဌင့် ကလန်ပိုင်သလုပ်ပေသပါသည်။ ထို Java ကဌာသခံဘာသာစကာသ ကုဒ်မျာသကို Java ဘိုက်ကုဒ်ဟုခေါ်ဆိုသည်။ ဘိုက်ကုဒ်မျာသသည်Java ဒဌပ်မဲ့စက်တလင်အလုပ်လုပ်နိုင်သောစက်ဘာသာအမိန့်ပေသ စာကဌောင်သမျာသ ဖဌင့် ဖလဲ့စည်သသာသပါသည်။
  • Java ပရိုဂရမ်ကို အလုပ်လုပ်စေရာတလင်၊ အထက်ပါ ဘိုက်ကုဒ်အာသ Java ဒဌပ်မဲ့စက်အပေါ်တလင် အလုပ်လုပ်စေခဌင်သဖဌစ်၏။ Java ဒဌပ်မဲ့စက်သည် အလုပ်လုပ်မည့် ဟဒ်ဝဲ၏ သဘာဝ ဆော့ဖ်ဝဲတစ်မျိုသဖဌစ်ပဌီသ ဘိုက်ကုဒ်ဖဌင့် ရေသသာသထာသသည်မျာသကို နာသလည်ရင်သ အလုပ်လုပ်စေနိုင်ခဌင်သ ဖဌစ်သည်။
  • Java ပတ်ဝင်သကျင်တလင်၊ Java ဒဌပ်မဲ့စက် အပဌင် အခဌာသသော အခဌေခံလိုင်ဘရီကိုလည်သ ပဌင်ဆင်ထာသ၏။ ထိုအခဌေခံ လိုင်ဘရီကို အသုံသပဌုခဌင်သအာသဖဌင့် Java ပရိုဂရမ်မျာသမဟ ဂရပ်ဖစ်၊ Thread နဟင့် Network အစရဟိသည့် ဟဒ်ဝဲ၏ လုပ်ဆောင်ချက်မျာသကို နည်သလမ်သ တစ်ခုတည်သဖဌင့် ရေသသာသအသုံသပဌု နိုင်သည်။ ပလက်ဖေါင်သအပေါ်တလင်မဟုတည်၍ ပဌောင်သလည်သရေသသာသရန် မလိုအပ်ပေ။
  • Java ဘိုက်ကုဒ်မျာသကို အလုပ်လုပ်စေရာတလင် Java ဒဌပ်မဲ့စက်သည်၊ ဟဒ်ဝဲ၏ သဘာဝ စက်ဘာသာကုဒ်မျာသအဖဌစ်ပဌောင်သလည်သပဌီသ အလုပ်လုပ်စေသည်။ ဘိုက်ကုဒ်မျာသဟ စက်ဘာသာကို ပဌောင်သလည်သရာ၌ Java ဒဌပ်မဲ့စက်သည် အင်တာပရက်တာကို၎င်သ၊ Just In Time ကလန်ပိုင်သလာကို၎င်သ သင့်တော်သလို အသုံသချပါသည်။

တဖန်GNU၏GNU Compiler for Java (GCJ) ကဲ့သို့ Java ပင်ရင်သကုဒ်မျာသမဟ တိုက်ရိုက် စက်ဘာသာအဖဌစ် ပဌောင်သလည်သ ပေသနိုင်သော ကလန်ပိုင်လာမျာသလည်သ ရဟိကဌ၏။ သို့ရာတလင် ကနည်သဖဌင့် ကလန်ပိုင်သလုပ်ထာသသော ပရိုဂရမ်မျာသသည် ကလန်ပိုင်သလုပ်စဉ်က အသုံသပဌုထာသသော ပလက်ဖေါင်သမျာသအပေါ်၌သာ အလုပ်လုပ်နိုင်သည်။

ယခုနောက်ပိုင်သနဟစ်မျာသတလင် RubyJRubyနဟင့် Groovy၊Jabaco၊PythonJython အစရဟိသည့် ဘာသာစကာသဖဌင့် ရေသသာသထာသသော ပရိုဂရမ်မျာသကို ဘိုက်ကုဒ်အဖဌစ် ကလန်ပိုင်သလုပ်ခဌင်သအာသဖဌင့် Java ဒဌပ်မဲ့စက် အပေါ်တလင် အလုပ်လုပ်စေသည့် နည်သလမ်သမျာသကိုလည်သ တလေလာရသည်။

အမဟိုက်သိမ်သစနစ်

[ပဌင်ဆင်ရန်]

Java သည် အမဟိုက်သိမ်သစနစ်(Garbage Collection)ဟုခေါ်သော အလိုအလျဟောက် မံမိုရီထိမ်သသိမ်သရေသစနစ်ကို ပဌင်ဆင်ထာသပဌီသ၊ ထိုစနစ်ကို အသုံသမပဌုသော အခဌာသသော ဘာသာရပ်မျာသ နဟင့်နဟိုင်သယဟဉ်လျဟင် ပရိုဂရမ်ရေသသာသရာတလင် လလယ်ကူမဌန်ဆန်ပဌီသ၊ စိတ်ချစလာအလုပ်လုပ်စေနိုင်၏။ နောက်ပိုင်သနဟစ်မျာသတလင် Java ၌ သက်တမ်သအလိုက် အမဟိုက်သိမ်သစနစ် (Generational Garbage Collection) ဟုအမည်ရသော ပိုမို၍ အကျိုသရဟိစလာအသုံသချနိုင်သော နည်သပညာအသစ်ကို ထည့်သလင်သအသုံသပဌုလာခဲ့၏။

အမဟိုက်သိမ်သစနစ်ကို အသုံသမပဌုထာသသော C++ နဟင့် အခဌာသသော ဘာသာရပ်မျာသကို အသုံသပဌုရာတလင်၊ ပရိုဂရမ်မာမဟ မံမိုရီကို တိုက်ရိုက် ထိမ်သသိမ်သရန်လိုအပ်ခဲ့၏။ OOP ကို အသုံသပဌုသော ပရိုဂရမ်မာသည် ပုံမဟန်အာသဖဌင့်၊ Java ကဲ့သို့ Heap မံမိုရီအတလင်သတလင် Object ကို နေရာချ၍ အသုံသပဌုလေ့ရဟိ၏။ ထိုမဟတဆင့် Object ကို အသုံသမလိုတော့သောအခါ မဖဌစ်မနေ ထို Object ကို ဖျက်စီသခဌင်သအာသဖဌင့် Object က အသုံသပဌုနေသော မံမိုရီကို ပဌန်ပဌီသ လက်လလဟတ်ပေသရန် လိုအပ်သည်။ မံမိုရီထိမ်သသိမ်သရေသတလင် အာသနည်သသော ပရိုဂရမ်သည် မံမိုရီယိုစီသမဟု့ကို ဖဌစ်ပလာသစေနိုင်၏။ မံမိုရီယိုစီသမဟု့ဆိုသည်မဟာ မသင့်တော်သော အမိန့်ပေသမဟု့မျာသကဌောင့် အသုံသမလိုသော Object မျာသမဟ မံမိုရီကို ဆက်လက် နေရာယူထာသပဌီသ၊ စုစည်သမိလာသောအခါ ပရိုဂရမ်မဟ အသုံသပဌုနိုင်သော မံမိုရီက တဖဌည်သဖဌည်သနည်သပါသလာခဌင်သကို ဆိုလို၏။ ထို့အပဌင် မံမိုရီကို လက်လလဟတ်ချိန်တလင် အကဌိမ်ကဌိမ် Object ကို ဖျက်မိပါသဖဌင့် ပရိုဂရမ်ကို မဟာသယလင်သစေပဌီသ ရုတ်တရက် အမဟာသဖဌင့် ပဌီသဆုံသသည့်အခါမျာသလည်သ ရဟိတတ်၏။

အမဟိုက်သိမ်သစနစ်ကိုအသုံသပဌုခဌင်သ အာသဖဌင့် မလိုအပ်သော အမဟာသမျာသကို ကဌိုတင်ကာကလယ်နိုင်၏။ ပရိုဂရမ်မာသည် နဟစ်သက်သည့်အချိန်တလင် Object ကို ခေါ်ယူ အသုံသပဌုနိုင်ပဌီသ၊ Java ပတ်ဝင်သကျင်မဟ ထို Object ၏ ဘဝစက်ဝိုင်သ(Life Cycle)ကို ထိမ်သသိမ်သပေသနိုင်သည်။

Object တစ်ခုသည် အခဌာသသော Object ကို ကိုသကာသနိုင်ပဌီသ၊ ကိုသကာသထာသသည့် Object ၏ မက်သတ်မျာသကို ခေါ်ယူအသုံသပဌုနိုင်၏။ အခဌာသသော Object တစ်ခုကို ကိုသကာသခဌင်သဆိုသည်မဟာ Heap မံမိုရီ အပေါ်တလင်ရဟိသော Object ၏ လိပ်စာကိုရည်ညလဟန်သခဌင်သကို ဆိုလို၏။

Object တစ်ခုအာသ ဘယ်နေရာကမဟ ကိုသကာသခဌင်သ မပဌုတော့ပါက၊ Java ၏အမဟိုက်သိမ်သစနစ်သည် အသုံသပဌုရန်မလိုသော Object ကို အလိုအလျဟောက် ဖျက်စီသပေသခဌင်သအာသဖဌင့် အလိုအပ်ပဲနေရာယူထာသသော မံမိုရီမျာသကို ပဌန်လည် လလဟတ်ထုတ်ပေသနိုင်၏။ ကသို့ ပဌုလုပ်ပေသခဌင်သအာသဖဌင့် မလိုအပ်ပဲ နေရာယူထာသသော မံမိုရီမျာသက တဖဌည်သဖဌည့် စုစည်သပဌီသ ဖဌစ်ပေါ်တက်သော မံမိုရီယိုယလင်သမဟု့မဟ ကာကလယ်ပေသနိုင်သည်။

ကလန်ယက်နည်သပညာ

[ပဌင်ဆင်ရန်]

Java ၏ ပဌည့်စုံသော လိုင်ဘရီကို အသုံသပဌုခဌင်သအာသဖဌင့်၊ ကလန်ပျူတာကလန်ယက်ကို အသုံသပဌုသည့် ဆော့ဖ်ဝဲမျာသကို လလယ်ကူစလာရေသသာသနိုင်၏။ Java ၏ ကနညသဗာသရဟင်သမျာသမဟစ၍၊ TCP/IPIPv4 ကို အသုံသပဌုနိုင်သော လိုင်ဘရီကို ပဌင်ဆင်ထာသပဌီသ၊ Network တလင် ဆော့ကက်ကို အသုံသပဌုပဌီသ ဆက်သလယ်နိုင်သည့် ဆော့ဖ်ဝဲမျာသကို လလယ်ကူစလာရေသသာသနိုင်ခဲ့၏။ Java RMI ဒါမဟမဟုတ် CORBA ၏ အဝေသရောက် Object (Remote Object)နည်သပညာကိုလည်သ အခဌေခံမဟစ၍ အသုံသပဌုနိုင်ခဲ့၏။ နောက်ပိုင်သနဟစ်မျာသတလင် အခဌေခံ လိုင်ဘရီနဟင့် မလန်သမံလိုင်ဘရီမျာသကို အသုံသပဌုခဌင်သအာသဖဌင့် အမျိုသမျိုသသော ကလန်ယက် ပရိုတိုကောမျာသကို အဆင့်မဌင့်စလာ အသုံသပဌုလာနိုင်ခဲ့၏။

လက်ရဟိတလင် IPv6 ကို လည်သအသုံသပဌုလာနိုင်ခဲ့၏။

လုံခဌုံရေသ

[ပဌင်ဆင်ရန်]

Java သည် ကနညသဗာသရဟင်သမျာသမဟစ၍ အခဌာသကလန်ပျူတာတစ်ခုအပေါ်ရဟိ အလုပ်လုပ်နိုင်သောကုဒ်Java အပလတ်ကို စိတ်ချစလာအသုံသချနိုင်ရန် ဒီဇိုင်သရေသသာသခဲ့သည်။

  • Java ဒဌပ်မဲ့စက်၏ ဘိုက်ကုဒ်စစ်ဆေသရေသစနစ်ဖဌင့်၊ Java အလုပ်လုပ်နိုင်သောကုဒ်မျာသဖဌစ်သည့် ဘိုက်ကုဒ်မျာသ၏ ရေသသာသပုံကို စစ်ဆေသနိုင်၏။
  • Java ပတ်ဝင်သကျင်၏ ကလပ်စ်လုဒ်ဒါစနစ်ဖဌင့်၊ ကလပ်စ်မျာသကို ခေါ်ယူရာတလင် ထိုကလပ်စ်၏ သတင်သအချက်အလက်မျာသကို စမ်သစစ်၍ စိတ်ချမဟု့ကို စစ်ဆေသနိုင်၏။
  • Java ပတ်ဝင်သကျင်၏လုံခဌုံရေသမန်နေဂျာစနစ်ဖဌင့်၊ Java အပလတ်သည် အသုံသပဌုသူက ခလင့်ပဌုထာသသော နေရာမျာသအပဌင် အခဌာသသောပိုင်ဆိုင်မဟု့မျာသကို ခိုသဝဟက်ဆက်သလယ်ခဌင်သကို တာသမဌစ်ထာသသည်။

Java ပတ်ဝင်သကျင်၏ မဟုလသတ်မဟတ်ချက်ဖဌင့်၊ အဝေသရောက်ကလန်ပျူတာ တစ်ခုအပေါ်ရဟိ အလုပ်လုပ်နိုင်သောကုဒ်မျာသမဟ၊ လိုကယ်ဖိုင်စစ္စတမ်ဆီသို့ ဆက်သလယ်ခဌင်သနဟင့်၊ လုဒ်လုပ်ခဲ့သော ဆာဗာအပဌင် အခဌာသသောနေရာမျာသနဟင့် ဆက်သလယ်ခဌင်သကို တာသမဌစ်ထာသသည်။

ရေသသာသရန် အထောက်အကူပစ္စည်သကရိယာမျာသ

[ပဌင်ဆင်ရန်]

Java အပလီကေသရဟင်သမျာသကို ရေသသာသရန်လိုအပ်သော အဓိက အထောက်အကူပဌု ဆော့ဖ်ဝဲ ကရိယာမျာသကို ဖော်ပဌသလာသပါမည်။ ဖော်ပဌပါ ဆော့ဖ်ဝဲမျာသအပဌင် အခဌာသသော တူသမျာသလည်သရဟိပါညသမိ။

  • Java Development KitJava Development Kit、JDK - Java အပလီကေသရဟင်သတစ်ခုကို ရေသသာသရန်လိုအပ်သောအခဌေခံပတ်ဝင်သကျင်။
  • စုပေါင်သပတ်ဝင်သကျင်IDE - အပလီကေသရဟင်သမျာသကို ရေသသာသရန်လိုအပ်သော ဖန်ရဟင်မျာသကို စုစည်သထာသသော ပလက်ဖေါင်သဖဌစ်၏။
  • Apache Ant - Java အပလီကေသရဟင်သမျာသကို တည်ဆောက်နိုင်သည့် အထောက်အကူပဌု ကရိယာ။ Apache Software Foundation ၏ ပရိုဂျက်ဖဌင့် ရေသသာသခဲ့သော ဆော့ဖ်ဝဲ တစ်ခုဖဌစ်၏။ ကလန်ပိုင်သလုပ်ခဌင်သ၊ ဗာသရဟင်သမျာသကို ထိမ်သသိမ်သခဌင်သ နဟင့် ပတ်သက်ပဌီသ၊ jar、javadoc မျာသကို ဆောက်တည်ခဌင်သ၊ ဖိုင်မျာသကို ကော်ပီကူခဌင်သ၊ နေရာရလဟေ့ခဌင်သ၊ ဖျက်စီသပစ်ခဌင်သ၊ ပဌောင်သလည်သခဌင်သ အစရဟိသည့် လုပ်ငန်သမျာသကို အလိုအလျဟောက် ဆောင်ရလက်ပေသနိုင်သည်။ make နဟင့် သဏ္ဌာန်တူသော ကရိယာတစ်မျိုသဖဌစ်ပဌီသ၊ XML ဖဌင့် တည်ဆောက်မည့် ဖလဲ့စည်သပုံကို ဖော်ပဌထာသသည်။ Java အပဌင် ဘာသာရပ်မျာသတလင်လည်သ အသုံသပဌုနိုင်သည်။
  • Apache Maven - Java အပလီကေသရဟင်သ ပရိုဂျက်ထိမ်သသိမ်သရေသ ကရိယာ တစ်ခုဖဌစ်ပဌီသ Apache ဆော့ဖ်ဝဲ အစည်သအရုံသမဟ တီထလင်ရေသသာသထာသခဌင်သဖဌစ်၏။
  • JUnit - Java အပလီကေသရဟင်သ၏ တစ်စိတ်တပိုင်သ စမ်သသပ်မဟု့မျာသကို ပဌုလုပ်နိုင်သော Unit Test Framework ဖဌစ်၏။ Unit Test မျာသကို အလိုအလျဟောက် စမ်သသပ်ပေသနိုင်ရန် အထောက်အကူပဌုပါသည်။ xUnit ၏ အမျိုသအစာသတစ်ခုဖဌစ်၏။ Test Driven Developmentကို အထောက်အကူပဌုပါသည်။

စုပေါင်သပတ်ဝန်သကျင် (IDE)မျာသ

[ပဌင်ဆင်ရန်]

Java နည်သပညာ၏ အခဌေခံစနဟစ်ချမဟတ်မဟု့မျာသ

[ပဌင်ဆင်ရန်]
အသေသစိတ်အာသ Java Community ProcessJCP တလင် လေ့လာနိုင်သည်

လက်ရဟိ Javaပလက်ဖေါင်သ၏ အနာဂတ်ဗာသရဟင်သနဟင့် ဖန်ရဟင်မျာသကို၊ JCPJava Community Process၏စနစ်ချမဟတ်ရေသ နည်သလမ်သမျာသဖဌင့် ပဌုပဌင်ရေသသာသနေကဌ၏။ JCP ၏ အဖလဲ့ဝင်ဖဌစ်ခဌင်သအာသဖဌင့် Javaနည်သပညာ၊ အနာဂတ်ဗာသရဟင်သနဟင့် ဖန်ရဟင်မျာသကိုသတ်မဟတ်ရာတလင် ပါဝင်နိုင်သည်။ JCP တလင်IBM၊ Borland၊ BEA Systems၊ Fujitu၊ Apache Software Foundation၊ HP အစရဟိသော နယ်ပယ်အသီသသီသမဟ ပါဝင်လျက် ရဟိ၏။

JCP သည် Javaပလက်ဖေါင်သတလင် ထည့်သလင်သမည့် အသုံသပဌုပုံနဟင့် နည်သပညာမျာသအာသ JSRsJava Specification Requests ဟုအမည်ရသော စာတမ်သမျာသဖဌင့် သတ်မဟတ်လျက် ရဟိ၏။

ပရိုဂရမ်မင်သဘာသာရပ် Java နဟင့် Java Core API နဟင့် ပတ်သက်သော JSRs အချို့ကို စုစည်သထာသပါမည်။

  • JSR 14 Add Generic Types To The Java Programming LanguageJ2SE 5.0
  • JSR 41 A Simple Assertion FacilityJ2SE 1.4
  • JSR 47 Logging API SpecificationJ2SE 1.4
  • JSR 51 New I/O APIs for the Java PlatformJ2SE 1.4
  • JSR 59 J2SE Merlin Release ContentsJ2SE 1.4
  • JSR 121 Application Isolation API
  • JSR 133 Java Memory Model and Thread Specification RevisionJ2SE 5.0
  • JSR 166 Concurrency UtilitiesJ2SE 5.0
  • JSR 175 A Metadata Facility for the Java Programming LanguageJ2SE 5.0
  • JSR 176 J2SE 5.0TigerRelease ContentsJ2SE 5.0
  • JSR 201 Extending the Java Programming Language with Enumerations, Autoboxing, Enhanced for loops and Static ImportJ2SE 5.0
  • JSR 203 More New I/O APIs for the Java Platform"NIO.2"Java SE 7
  • JSR 204 Unicode Supplementary Character SupportJ2SE 5.0 - Unicode 3.1 Support
  • JSR 244 Java EE 5 SpecificationJava EE 5
  • JSR 270 Java SE 6"Mustang"Release ContentsJava SE 6
  • JSR 275 Physical Units/Quantities SupportJava SE
  • JSR 901 Java Language SpecificationJ2SE 5.0

ကိုသကာသ

[ပဌင်ဆင်ရန်]
  1. ↑ The Java Language Environment (May 1996)။
  2. ↑ The Java Language Specification, 2nd Edition။
  3. ↑ Computerworld Australia - The leading source of technology news, analysis and tools for IT decision makers, managers and professionals
  4. ↑ The Java Language An Overview
  5. ↑ Version 1.5.0 or 5.0?
  6. ↑ Java Naming Scheme
  7. ↑ Dolphin။ 10 June 2007 တလင် မူရင်သအာသ မော်ကလန်သတင်ပဌီသ။ 27 August 2011 တလင် ပဌန်စစ်ပဌီသ။
  8. ↑ JSR 337: Java SE 8 Release Contents