kalixlouiis/myanmar-wikipedia-corpus huggingface dataset:
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 ဆာဗလက်၏ အလုပ်လုပ်ဆောင်ပုံကို အကျဉ်းချုံးဖော်ပြပါမည်။
Java အားအသုံးချနိုင်သည့် ပတ်ဝင်းကျင်ပရိုဆက်（ဆာဗလက်ပတ်ဝင်းကျင်）အား အလုပ်လုပ်နေစေပြီး ဝက်ဘ်ဆာဗာအနေဖြင့် အလုပ်လုပ်နေစေ၏။
ဝက်ဘ်ဆာဗာသည်ဝက်ဘ်ဘရောင်ဇာမှ ဆက်သွယ်တောင်းဆိုမှု့(Request)ကို လက်ခံရရှိသည်။
ဝက်ဘ်ဆာဗာသည် လက်ခံရရှိလာသော တောင်းဆိုမှု့ကို ဆာဗလက်ပတ်ဝင်းကျင်ဆီသို့ လက်ဆင့်ကမ်းပေးပို့ပါသည်။
ဆာဗလက်ပတ်ဝင်းကျင် အပေါ်တွင်အလုပ်လုပ်နေသော Java ပရိုဂရမ်（Java ဆာဗလက်）သည်၊ လက်ခံရရှိသည့် တောင်းဆိုမှု့အပေါ်တွင် မှုတည်ပြီးဝက်ဘ်စာမျက်နှာများကို အလိုအလျောက် ရေးသားပေးပါသည်။
ဆာဗလက်ပတ်ဝန်းကျင်သည်၊ ဆာဗလက်မှရေးသားပေးသော ဝက်ဘ်စာမျက်နှာများကို ဝက်ဘ်စာမျက်နှာများဆီသို့ ပြန်လည်ပေးပို့ပါသည်။
ဝက်ဘ်ဆာဗာသည်၊ ဆာဗလက်ပတ်ဝင်းကျင်မှ လက်ခံရရှိသော ဝက်ဘ်စာမျက်နှာကို ဝက်ဘ်ဘရောင်ဇာဆီသို့ ပြန်လည်ပေးပို့ပါသည်။
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 အပလီကေးရှင်းများကို အသုံးပြုလာသည်ကို တွေ့ရပါသော်လည်း၊ အောက်ပါအခက်အခဲများကြောင့် သုံးသင့်သလောက် အသုံးမများသည်ကို တွေ့နေရ၏။
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 အရောက်တွင် အသုံးပြုရန် အားမပေးတော့ခြင်းများ ရှိလာခဲ့ကြသည်။
JDK 1.0 (1996/1/23) ကနဦး ဗားရှင်းဖြစ်သည် ဤဗားရှင်းသည် နိုင်ငံတကာပြောင်းလည်းမှု့များ မပြုလုပ်ရသေးပါသဖြင့် အခြားသောဘာသာစကားများ ဖြင့် အသုံးမပြုနိုင်သေးပါ။
JDK 1.1 (1997/2/19) အဓိကလုပ်ဆောင်ချက် အတော်များများကို ဖြည့်စွက်လာခဲ့၏။
လိုကယ်လိုက်ဇေရှင်းကို ထည့်သွင်းလာခြင်း AWT Event Model ၏ ပြန်လည်မွန်းမံတည်ဆောက်ခြင်း ဘာသာရပ် ထင်ရှားချက်များတွင် အတွင်းပိုင်း ကလပ်စ်ကို ဖြည့်စွက်လာခဲ့၏ JavaBeans ဆော့ဖ်ဝဲကွန်ပိုးနန့်နည်းပညာ JDBC ဒေတာဘေစ်ဆက်သွယ်ရေးAPI Java RMI အနေရာခြား Object နည်းပညာ J2SE 1.2 (1998/12/8) ကုဒ်အမည်မှာ 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）၏ အခြေခံ အယ်ဒီးရှင်းဖြစ်ကြောင်းကို သိသာစေခဲ့၏။
strictfp keyword : IEEE 754 တွင် အခြေခံသော တိကျသည့်ဒသမကိန်းများ၏ အတွက်အချက်ကို ဖြည့်စွက်လာခဲ့၏ Reflection : ကလပ်စ်အမည်နှင့်၊ ကလပ်စ်တွင်ပါဝင်သောမက်သတ်အမည်ဖြင့် လိုအပ်သလို သတ်မှတ်ခေါ်ယူလာနိုင်ခဲ့၏ Swing GUI Toolkitကို အခြေခံ API အဖြစ် ဖြည့်စွက်လာခဲ့၏ Sun ၏Javaဒြပ်မဲ့စက်တွင်JIT ကွန်ပိုင်းလာကို ဖြည့်စွက်လာခဲ့၏ Java Plug-in :အမျိုးမျိုးသောဝဘ်ဘရောင်ဇာတွင် Java အသုံးချ ပတ်ဝန်းကျင်ကို ထည့်သွင်းခဲ့ပြီး၊ Java ပရိုဂရမ် များကို အသုံးချလာနိုင်ခဲ့၏ Java IDL ဟုခေါ်သော IDLကို အသုံးချဖြည့်စွက်ခဲ့ပြီးCORBA နေရာခြား Object ပတ်ဝင်းကျင်နှင့် အပြန်အလှန် ဆက်သွယ် အသုံးပြုလာနိုင်ခဲ့၏ Collection Framework ကို ဖြည့်စွက်ခဲ့၏ J2SE 1.3 (2000/5/8) ကုဒ်အမည်သည် Kestrel ဖြစ်၏။
HotSpot Java ဒြပ်မဲ့စက်ကို ဖြည့်စွက်ခဲ့ပြီး၊ JIT ကွန်ပိုင်းလာအပြင် လိုအပ်သလို ပြန်လည်ကွန်ပိုင်းလုပ်နိုင်သော နည်းပညာ၊နောင်တခေတ်၏ အမှိုက်သိမ်းစနစ် ကို ပံ့ပိုးထားသော လျင်မြန်သော Java ဒြပ်မဲ့စက် ကို အသုံးပြုလာနိုင်ခဲ့၏။
Java RMI အား CORBA ကို အခြေခံ၍ ပြုပြင်လာခဲ့၏။
JavaSound : အသံအချက်အလက်များကို အသုံးပြုနိုင်သော API Java Naming and Directory Interface (JNDI) အား တရားဝင် အသုံးချ ကလပ်စ်အစုအဝေးအတွင်း ဖြည့်စွက်လာခဲ့၏။
Java ပရိုဂရမ်ကိုDebug လုပ်နိုင်ရန် ကူညီပေးသော ဖန်ရှင်များ၊ Java Platform Debugger Architecture（JPDA）ကို ဖြည့်စွက်ခဲ့၏။
J2SE 1.4 (2002/2/6) ကုဒ်အမည်သည် Merlin ဖြစ်၏။
ထိုဗားရှင်းသည် JCP（Java Community Process）၏ အောက်တွင် ရေးသားခဲ့သော ဦးဆုံးသောJavaပလက်ဖေါင်းဖြစ်၏။
JSR 59 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 ဖြင့် သတ်မှတ်ခဲ့၏။
J2SE 5.0 (2004/9/30) ကုဒ်အမည်မှာ Tiger ဖြစ်၏။
JSR 176 ၏ အောက်တွင် ရေးသားလာခဲ့ခြင်းဖြစ်သည်။
J2SE 5.0 တွင် ဘာသာရပ်၏ အသုံးပြုပုံမှာ အတော်များများ ပြောင်းလည်းခဲ့ပြီး၊ အသုံးပြုပုံအသစ် အတော်များများကိုလည်း ဖြည့်စွက်ခဲ့လေသည်။
မှုရင်းဗားရှင်း၏ အမည်မှာ J2SE 1.5 ဖြစ်ခဲ့သော်လည်း အတွင်းပိုင်းတွင်သာ အသုံးပြုခဲ့ကြ၏။
Version 1.5.0 or 5.0? Generic Type : ကွန်ပိုင်းလုပ်ချိန်တွင်Collection Object အပေါ်တွင် အသုံးပြုသော Object ကို လုံခြုံစွာ ခေါ်ယူ အသုံးပြုလာနိုင်သည်။
အတော်များများပုံစံပြောင်းခြင်းကို ပြုလုပ်ရန် မလိုအပ်တော့ပေ။
JSR 14 ဖြင့် သတ်မှတ်ခဲ့ခြင်း ဖြစ်၏။
Auto Boxing/Unboxing : int ပုံစံကဲ့သို့ ကနဦးပုံစံ（primitive type）နှင့် ကလပ်စ် ကဲ့သို့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（နှင့်အစရှိသည့်）၏Object များကို ထပ်ကာတလည်းလည်း အလုပ်လုပ်ဆောင်စေရာတွင် အသုံးပြုနိုင်သော ရေးသားပုံအသစ်ဖြစ်ပြီး၊ ကုဒ်များကို ရှင်းလင်း လွယ်ကူစွာ ရေးသားနိုင် သောကြောင့် မလိုအပ်သော အမှားများကို နည်းပါးစေနိုင်သည်။
ဤရေးသားပုံကို အသုံးပြုသောအခါ ကော်လက်ရှင်သည် ကိန်းဆက် သို့မဟုတ်၊ အင်တာဖေးစ် ကို ပံ့ပိုးထားသော ကော်လက်ရှင် Object ဖြစ်ရန် လိုအပ်သည်။
for ဝါကျ အသစ်သည်JSR 201ဖြင့် သတ်မှတ်ခဲ့ခြင်း ဖြစ်၏။
Java SE 6 (2006/12/11) ကုဒ်အမည် သည် Mustang ဖြစ်၏။
JSR 270 ၏အောက်တွင် ရေးသားခဲ့ခြင်းဖြစ်၏။
Java SE 6 နှင့် ပတ်သက်ပြီး Sun သည် အမည်ပေးစနစ်ကို ပြောင်းလည်းခဲ့ပြီး "J2SE" မှ Java SE ဟု ပြောင်းလည်းခေါ်ဆိုခဲ့ပြီး၊ ဗားရှင်းလည်း ".0" ကို ဖျက်ပြစ်လိုက်ပါတယ်။
Java Naming Scheme。 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 Java SE 7 (2011/7/28) ကုဒ်အမည်မှာ 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 ၂၀၁၁ခု ၈ လပိုင်း လက်ရှိ အခြေအနေတွင် အောက်ပါပြောင်းလည်းချက်များကို Java SE 8 တွင် ပါဝင်ရန် စီစဉ်ထားသည်။
JSR 337JSR 337: Java SE 8 Release Contents ဖြင့် ဘာသာရပ်ပိုင်းဆိုင်ရာ အသုံးပြုပုံတို့ကို သက်မှတ်ပြီး၊ ၂၀၁၂ခု ၁၀လပိုင်း လောက်တွင် သတ်မှတ်နိုင်ရန် ရည်ရွယ်ထားသည်။
၂၀၁၂ခုနှစ် အကုန်ပိုင်းလောက်တွင် ထုတ်ပြန်ရန် ရည်ရွယ်ထားသည်။
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 ဒြပ်မဲ့စက်တွင်အလုပ်လုပ်နိုင်သောစက်ဘာသာအမိန့်ပေး စာကြောင်းများ ဖြင့် ဖွဲ့စည်းသားပါသည်။