áá»á¬áá¬áž (áááá¯ááááºáááºážáá¬áá¬á áá¬áž)
| Paradigm | Object-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 á áááá¯ááºážááŒá±á¬ááºážááŸáá·áº áááºááŸáááᯠáá±á¬áºááŒááœá¬ážáá«áááºá
- á áááºáá²á·áá¯á¶ááŸáá·áºá¡ááºáá¬áááºáááºáááºáá®ááá¯á·ááŒáá·áºá ááá±á· Java á ááááá¯á¶áž ááá¬ážááẠáá¬ážááŸááºáž ááœááºáá±á«áºáá¬áá²á·áá»áááºá¡áá áááá¯ááºážááŒá±á¬ááºážááᯠáá±á¬áºááŒááœá¬ážáááºá
- áááºááá±á¬ ááŸá¯ááºááŸá¬ážááŸá¯á·áá»á¬ážááŒáá·áº ááá¬ážááẠááœááºáá±á«áºáá¬áá²á·ááá·áºá¡áá»áááºááŸá á ááá±á·á¡ááááŸá¯ááºááŸá¬ážááŸá¯á·áá»á¬ážááᯠááŸá¬ááœá±áá±á¬áºááŒááœá¬ážááẠááŒá áºáááºá
- áá¬ážááŸááºážáá»á¬áž ááŒáá·áº ááááŠážáá¯á¶áž áá¬ážááŸááºážááŸá á ááœááºáá±á«áºáá¬ááá·áº Java (JDKãJava SE) áá¬ážááŸááºážáá»á¬ážá¡ááŒá±á¬ááºážááᯠáá±á¬áºááŒááœá¬ážáá«áááºá
á áááºáá²á·áá¯á¶
[ááŒááºáááºáááº]
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 áá¬ááááºá á¡áá¯ááºáá¯ááºáá±á¬ááºáá¯á¶ááᯠá¡áá»ááºážáá»á¯á¶ážáá±á¬áºááŒáá«áááºá
- 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 á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá¬áááºááᯠááœá±á·ááá«áá±á¬áºáááºážá á¡á±á¬ááºáá«á¡áááºá¡áá²áá»á¬ážááŒá±á¬áá·áº áá¯á¶ážááá·áºááá±á¬áẠá¡áá¯á¶ážááá»á¬ážáááºááᯠááœá±á·áá±áá 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 á¡áá±á¬ááºááœáẠá¡áá¯á¶ážááŒá¯ááẠá¡á¬ážááá±ážáá±á¬á·ááŒááºážáá»á¬áž ááŸááá¬áá²á·ááŒáááºá
JDK 1.0 (1996/1/23)
[ááŒááºáááºáááº]áááŠáž áá¬ážááŸááºážááŒá áºááẠ25 June 2008 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
- á€áá¬ážááŸááºážááẠááá¯ááºáá¶ááá¬ááŒá±á¬ááºážáááºážááŸá¯á·áá»á¬áž áááŒá¯áá¯ááºááá±ážáá«áááŒáá·áº á¡ááŒá¬ážáá±á¬áá¬áá¬á áá¬ážáá»á¬áž ááŒáá·áº á¡áá¯á¶ážáááŒá¯ááá¯ááºáá±ážáá«á
JDK 1.1 (1997/2/19)
[ááŒááºáááºáááº]á¡ááááá¯ááºáá±á¬ááºáá»áẠá¡áá±á¬áºáá»á¬ážáá»á¬ážááᯠááŒáá·áºá áœááºáá¬áá²á·áá 6 May 2008 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
- ááá¯áááºááá¯ááºáá±ááŸááºážááᯠááá·áºááœááºážáá¬ááŒááºáž
- 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ïŒá á¡ááŒá±áá¶ á¡ááºáá®ážááŸááºážááŒá áºááŒá±á¬ááºážááᯠáááá¬á á±áá²á·áá 6 May 2008 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
strictfpkeyword : 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 ááŒá áºáá 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ïŒááᯠááŒáá·áºá áœááºáá²á·áá
J2SE 1.4 (2002/2/6)
[ááŒááºáááºáááº]áá¯ááºá¡áááºááẠMerlin ááŒá áºáá ááá¯áá¬ážááŸááºážááẠJCPïŒJava Community ProcessïŒá á¡á±á¬ááºááœáẠáá±ážáá¬ážáá²á·áá±á¬ áŠážáá¯á¶ážáá±á¬Javaááááºáá±á«ááºážááŒá áºááJSR 59 6 September 2008 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
assertKeyword : á¡ááá¯ááºážá¡áá¬áá áºáᯠá¡áá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 ááœáẠáá¬áá¬áááºá á¡áá¯á¶ážááŒá¯áá¯á¶ááŸá¬ á¡áá±á¬áºáá»á¬ážáá»á¬áž ááŒá±á¬ááºážáááºážáá²á·ááŒá®ážá á¡áá¯á¶ážááŒá¯áá¯á¶á¡áá Ạá¡áá±á¬áºáá»á¬ážáá»á¬ážááá¯áááºáž ááŒáá·áºá áœááºáá²á·áá±áááºá 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ááŒáá·áº áááºááŸááºáá²á·ááŒááºáž ááŒá áºáá
Java SE 6 (2006/12/11)
[ááŒááºáááºáááº]áá¯ááºá¡ááẠááẠ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
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 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)áá»á¬áž
[ááŒááºáááºáááº]- Sun Java Studio Enterprise(2005/11/9 ááœáẠOpen Source á¡ááŒá
áºááŒá±á¬ááºážáá²)á Sun Java Studio Creator(2005/11/9 ááœáẠOpen Source á¡ááŒá
áºááŒá±á¬ááºážáá²)á WindowsáLinuxáSolarisáMac OSáNetBeansááœáẠáááºáž ááá¯ááºáááᯠá
á
áºá
áááºá០á¡áá»áá¯á·áá±á¬ áááºááŸááºáá»á¬ážááᯠááŒáá·áºá
áœááºáá¬ážááá·áº áááºáááºážáá»ááºááŒá
áºáá
- Sun Java Studio Enterprise 20 June 2008 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž . Sun Java Studio Creator 21 April 2009 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
- NetBeans - Sun Java Studio Enterprise áOpen Sourceáá¯áẠáá¯áááºážááá¯ááá¯ááºáá Windowsá Linuxá Solaris ááŸáá·áº Mac OS ááá¯á·ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- NetBeans.org 23 August 2011 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž . NetBeans.jp 4 March 2016 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
- WebSphere Studio - IBMãEclipse SDK á á¡ááá·áºááŒáá·áº áá¯á¶á á¶áá¯áááºáž ááá¯ááá¯ááºáá WebSphere Application Server ááŸáá·áº áá°ážááœá²áá¬ážáááºá Windowsá Linuxá Solaris ááŸáá·áº Mac OS ááá¯á·ááœáẠá¡áá®ážáá®áž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- Eclipse SDK - Eclipse á¡ááœá²á·á¡á ááºážá áááẠIBM ááááºá¡á±á¬ááºááœáẠáááºááŸááá²á·áá Web Sphere Studio á Open Source áá¯áááºáž áááºááŸááºááá¯ááºááWindowsá Linuxá Solaris ááŸáá·áº Mac OS ááá¯á·ááœáẠá¡áá®ážáá®áž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- Borland JBuilder - Borlandá Foundation áá¯ááºááŸá¬ á¡ááá²á·áááŸááááºáá«áááºá Windowsá Linuxá Solarisá Mac OS ááá¯á·ááœáẠá¡áá®ážáá®áž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- JBuilder 21 November 2007 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
- JDeveloper - á¡áá¯ááááºá Oracle Application Server ááŸáá·áº áá°ážááœá²áá¬ážáá Windowsá Linuxá Solarisá 2005/6/28 ááŸá
á á¡ááá²á· ááá°ááá¯ááºáááºá
- JDeveloper 14 May 2008 á áá±á¬áºááœááºážááŒááºááŒáá·áºá ááºááœáẠáá±á¬áºááœááºážáááºááŒá®áž .
- Xcode - áááºážáá®ážáMac OS X ááœááºáá«áááºáá±á¬ Development áááºáááºážáá»ááºááŒá áºáá
- Visual J++ - ááá¯ááºáááá¯áá±á¬á·ááºá Windows ááœááºáá¬á¡áá¯á¶ážááŒá¯ááá¯ááºáá ááá¯ááºáááá¯áá±á¬á·ááºá áá°ááá¯ááºááŒá±á¬ááºážáááºážááŸá¯áá»á¬ážááᯠááŒá¯áá¯ááºáá¬ážáá«áááŒáá·áº áááºážá Java ááŸáá·áº áá°áá®ááŸá¯á·áá»á¬ážááŸá¬á¡ááœááºáááºážáá«áááºá
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ïŒ
ááá¯ážáá¬áž
[ááŒááºáááºáááº]- â The Java Language Environment (May 1996)á
- â The Java Language Specification, 2nd Editioná
- â Computerworld Australia - The leading source of technology news, analysis and tools for IT decision makers, managers and professionals
- â The Java Language An Overview
- â Version 1.5.0 or 5.0?
- â Java Naming Scheme
- â Dolphiná 10 June 2007 ááœáẠáá°áááºážá¡á¬áž áá±á¬áºááœááºážáááºááŒá®ážá 27 August 2011 ááœáẠááŒááºá á áºááŒá®ážá
- â JSR 337: Java SE 8 Release Contents