โครงสร้างของโปรแกรมภาษาจาวา
              เมื่อสร้างและบันทึกซอร์สโค้ดเสร็จแล้ว ขั้นตอนต่อมา คือ การคอมไพล์ (Compile) ซอร์สโค้ด การคอมไพล์ซอร์สโค้ด ก็คือ การแปลงซอร์สโค้ดภาษา Java ให้เป็นภาษาเฉพาะที่ตัว JVM เข้าใจโปรแกรมที่ทำหน้าที่ในการคอมไพล์ซอร์สโค้ด เรียกว่า Java Compiler หรือคำสั่ง java.exe ภาษาเฉพาะที่ตัว JVM เข้าใจ นั้นก็คือ Java Byte Code ซึ่ง Java Compiler จะเก็บ Java Bite Code ไว้ในไฟล์ที่มีนามสกุล .class ที่ได้จากการคอมไพล์ .class ไปรันบน JVM ซึ่งขั้นตอนนี้จะถูกทำงานโดย Java Interpreter หรือคำสั่ง javac.exe ขั้นตอนการพัฒนาโปรแกรมแสดงได้ดังรูปดังต่อไปนี้

 
แสดงขั้นตอนการพัฒนาโปรแกรมภาษา Java

       การทำงานของ Java Interpreter จะใช้หลักการทำงานของตัวแปลภาษา (Interoperation) ซึ่งการทำงานของตัวแปลภาษาตัวนี้ คือ จะอ่านคำสั่งจาก Java Byte Code ทีละบรรทัด แล้วทำการแปลคำสั่งชุดนั้นให้เป็น Executable Code แล้ส่งไปให้ CPU ทำการประมวลผล Executable Code ก็คือ ภาษาเครื่องที่ CPU เข้าใจนั่นเอง เมื่อทำงานคำสั่งชุดนั้นเสร็จก็จะกลับมาอ่านคำสั่งในบรรทัดต่อไป แล้วไปแปลงคำสั่งชุดนั้นให้เป็น Executable Code อีก แล้วก็ส่งไปให้ CPU ประมวลผล และจะทำเช่นนี้ไปเรื่อยๆ จนกว่าจะจบโปรแกรม การทำงานแบบนี้ดูแล้วรู้สึกว่าการทำงานนั้นช้าอยู่ แต่มีข้อดีคือ จะทำให้โปรแกรมมีความยืดหยุ่นในการพัฒนาโปรแกรม เนื่องจากในขณะที่กำลังแปลงอยู่นั้น แล้วเกิดข้อผิดพลาดหรือ Error ที่ไม่ใหญ่หลวงขึ้นมา เครื่องจะอนุญาตให้โปรแกรมแก้ไขโปรแกรมได้ทันที แล้วจึงทำงานในบรรทัดนั้นต่อไปได้

โครงสร้างภาษาจาวา

public class ชื่อคลาส
{
public static void main(String[] agrs)
{
ประโยคคำสั่งต่างๆ ของโปรแกรม;
…………………………………………..;
}
}
ตัวอย่างโปรแกรมภาษาจาวา
ไฟล์ Example.java
class Example
{
public static void main(String[] args)
{
String dataname = “Java Language“;
System.out.println(“My name is OAK“);
System.out.println(“OAK is a “ + dataname +“. “);
}
}
หมายเหตุ
Compile : javac Example.java จะได้ไฟล์ Example.class
Run         : java Example
Output    : My name is OAK
OAK is a Java Language
คำอธิบาย
– method main( ) จะเป็น method หลักที่ใช้ในการ run program ดังนั้นการกระทำต่าง ๆ ที่ต้องการให้เกิดขึ้น ในการ run program จะต้องทำการเขียนคำสั่งไว้ใน method นี้
– การแสดงผลทางจอภาพ (Console Output) ใช้ method ชื่อ “println” ซึ่งอยู่ใน System.out คำสั่งนี้จะรับข้อมูลที่เป็น String เพื่อนำมาแสดงผลทางจอภาพ
เครื่องมือ และขั้นตอน ในการพัฒนาโปรแกรม
เครื่องมือพัฒนาโปรแกรม
Java Development Kit ได้ถูกเปลี่ยนให้มีชื่อเป็น J2SDK – Java 2 Software Development Kit เป็นชุดโปรแกรมที่ใช้สำหรับสร้างและพัฒนาโปรแกรมภาษาจาวา ภายในชุดประกอบด้วยโปรแกรมต่าง ๆ ดังนี้
1) javac เป็นเครื่องมือที่ใช้ในการ Compile ที่ทำการเปลี่ยน Source Code ที่เขียนขึ้นให้เป็น Byte Code
2) java เป็นเครื่องมือที่ใช้ในการ Execute Byte Code สำหรับโปรแกรมที่เขียนขึ้นในแบบของ application
3) appletviewer เป็นเครื่องมือที่ใช้การ Execute โปรแกรมที่เขียนขึ้นในแบบของ applet
ขั้นตอนการเขียนโปรแกรม
1) ติดตั้งเครื่องมือที่ใช้ในการพัฒนาโปรแกรมแกรม (SDK) Download java compiler from web
2) เขียนโปรแกรมด้วย Text Editor เช่น Notepad, Edit Plus, Crimson Editor, JCreator
การคอมไพล์และรันของโปรแกรม
รูปแบบของโปรแกรม ทำได้ 2 ลักษณะ คือ
1) Java Application เป็นโปรแกรมทั่วไปที่เขียนด้วยภาษาจาวา สามารถทำงานได้กับทุก platform โดยไม่ต้องใช้ Browser
2) Java Applets เป็นโปรแกรมที่เขียนขึ้นมาเพื่อฝังตัว (embedded) ไว้ใน Web page เพื่อใช้สำหรับอินเตอร์เน็ต
ขั้นตอนการคอมไพล์และรันโปรแกรม
1) สร้าง source code กำหนดนามสกุลเป็น .java
2) นำไฟล์ที่ได้มาแปลงเป็น byte code ด้วยการ compile
โดยใช้คำสั่ง javac ชื่อไฟล.java
เมื่อผ่านการ compile จะได้ไฟล์ที่มีนามสกุล .class
– กรณี Applications
3) นำไฟล์ที่ได้มาเรียกใช้ ถ้าเป็น windows ใช้คำสั่ง .java
– กรณี Applications
3) สร้างเอกสาร Html ขึ้นมา
4) นำไฟล์ในข้อ 2 ใส่ลงในเอกสาร Html
5) เรียกดูผลลัพธ์ผ่านทาง Browser หรือ Applet Viewer
สิ่งที่ควรคำนึงในการ Compile
– ต้องพิมพ์ชื่อเต็มพร้อมนามสกุลของ Source File เสมอ
– การพิมพ์ชื่อของโปรแกรมต้องพิมพ์ตัวอักษรตัวใหญ่ ตัวเล็กให้ถูกต้องเสมอ
สถาปัตยกรรมของภาษาจาวา
สถาปัตยกรรมของจาวา ประกอบด้วยส่วนสำคัญ 4 ส่วน
1) Java programming Language
คือ โปรแกรมที่เขียนด้วยภาษา java (.java) ในรูปของ text ที่สามารถอ่านได้ เรียกว่า ซอร์สโค้ด (Source code)
2) Java class file
คือ ซอร์สโค้ด ที่ถูกแปลง (compile) เป็น .class หรือ ไบต์โค้ด (byte code) ที่อยู่ในรูปของคำสั่งที่ Java Virtual Machine (Java VM) เข้าใจ
3) Java API
คือ กลุ่มของ ready-made software components โดยจะรวมอยู่ใน ไลบารีของคลาสและอินเตอร์เฟช ซึ่งสามารถนำมาใช้ได้โดยไม่ต้องเขียนเอง
4) Java Virtual Machine (JVM)
คือ ส่วนที่จะไปติดต่อสั่งงานโดยตรงต่อคอมพิวเตอร์ ภายในประกอบด้วย
– Class loader ทำหน้าที่โหลด Class file จากโปรแกรมและจาก Java API
– Execution engine ทำการแปล(interpret) ไบต์โค้ด ซึ่งมีหลายรูปแบบ เช่น Just in time, Adaptive optimizer
การแปลงโค้ดของภาษาจาวา
1) Java program คือโปรแกรมที่เราเขียนขึ้นโดยใช้ภาษาจาวา จะอยู่ในรูปเท็กซ์ (text) ที่สามารถอ่านได้ โดยชื่อไฟล์จะมีนามสกุล .java เราเรียกว่า ซอร์สโค้ด (Source code) ซึ่งซอร์สโค้ดจะถูกคอมไพล์เป็น java class file หรือ ไบต์โค้ด ชื่อไฟล์จะมีนามสกุล .class ซึ่งอยู่ในรูปของคำสั่งที่ java virtual Machine เข้าใจ
2) API คือโค้ดที่คอมไพล์แล้ว ช่วยให้โปรแกรมแอกเซสในส่วนของ system services ของระบบปฏิบัติการ ส่วน Java API คือกลุ่มของ ready-made software components โดยรวมเป็น ไลบราลีของคลาส Java Virtual Machine จะโหลด Java API เมื่อโปรแกรมจาวาถูก run
class A 
{
public static void main(String[] args) 
{
System.out.println("Hello world");
System.out.println("Pitchanan");
}
}
Java คืออะไร
     Java หรือ Java programming language คือภาษาโปรแกรมเชิงวัตถุ พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่บริษัท ซัน ไมโครซิสเต็มส์ ภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส C++ โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แล้วภายหลังจึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน จุดเด่นของภาษา Java อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้ 
     ภาษา Java เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ ( OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาสคือที่เก็บเมทอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม (Behavior)
 ข้อดีของ ภาษา Java
     -  ภาษา Java เป็นภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุแบบสมบูรณ์ ซึ่งเหมาะสำหรับพัฒนาระบบที่มีความซับซ้อน การพัฒนาโปรแกรมแบบวัตถุจะช่วยให้เราสามารถใช้คำหรือชื่อ ต่าง ๆ ที่มีอยู่ในระบบงานนั้นมาใช้ในการออกแบบโปรแกรมได้ ทำให้เข้าใจได้ง่ายขึ้น
     -  โปรแกรมที่เขียนขึ้นโดยใช้ภาษา Java จะมีความสามารถทำงานได้ในระบบปฏิบัติการที่แตกต่างกัน ไม่จําเป็นต้องดัดแปลงแก้ไขโปรแกรม เช่น หากเขียนโปรแกรมบนเครื่อง Sun โปรแกรมนั้นก็สามารถถูก compile และ run บนเครื่องพีซีธรรมดาได้
     -ภาษาจาวามีการตรวจสอบข้อผิดพลาดทั้งตอน compile time และ runtime ทำให้ลดข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรม และช่วยให้ debug โปรแกรมได้ง่าย
     - ภาษาจาวามีความซับซ้อนน้อยกว่าภาษา C++ เมื่อเปรียบเทียบ code ของโปรแกรมที่เขียนขึ้นโดยภาษา Java กับ C++ พบว่า โปรแกรมที่เขียนโดยภาษา Java จะมีจํานวน code น้อยกว่าโปรแกรมที่เขียนโดยภาษา C++ ทำให้ใช้งานได้ง่ายกว่าและลดความผิดพลาดได้มากขึ้น
     -  ภาษาจาวาถูกออกแบบมาให้มีความปลอดภัยสูงตั้งแต่แรก ทำให้โปรแกรมที่เขียนขึ้นด้วยจาวามีความปลอดภัยมากกว่าโปรแกรมที่เขียนขึ้น ด้วยภาษาอื่น เพราะ Java มี security ทั้ง low level และ high level ได้แก่ electronic signature, public andprivate key management, access control และ certificatesของ
     -มี IDE, application server, และ library ต่าง ๆ มากมายสำหรับจาวาที่เราสามารถใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย ทำให้เราสามารถลดค่าใช้จ่ายที่ต้องเสียไปกับการซื้อ tool และ s/w ต่าง ๆ
    ข้อเสียของ ภาษา Java
    -ทำงานได้ช้ากว่า native code (โปรแกรมที่ compile ให้อยู่ในรูปของภาษาเครื่อง) หรือโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น อย่างเช่น C หรือ C++ ทั้งนี้ก็เพราะว่าโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาจะถูกแปลงเป็นภาษากลาง ก่อน แล้วเมื่อโปรแกรมทำงานคำสั่งของภาษากลางนี้จะถูกเปลี่ยนเป็นภาษาเครื่องอีก ทีหนึ่ง ทีล่ะคำสั่ง (หรือกลุ่มของคำสั่ง) ณ runtime ทำให้ทำงานช้ากว่า native code ซึ่งอยู่ในรูปของภาษาเครื่องแล้วตั้งแต่ compile  โปรแกรมที่ต้องการความเร็วในการทำงานจึงไม่นิยมเขียนด้วยจาวา
    -tool ที่มีในการใช้พัฒนาโปรแกรมจาวามักไม่ค่อยเก่ง ทำให้หลายอย่างโปรแกรมเมอร์จะต้องเป็นคนทำเอง ทำให้ต้องเสียเวลาทำงานในส่วนที่ tool ทำไม่ได้ ถ้าเราดู tool ของ MS จะใช้งานได้ง่ายกว่า และพัฒนาได้เร็วกว่า (แต่เราต้องซื้อ tool ของ MS และก็ต้องรันบน platform ของ MS)

ความคิดเห็น

  1. HKLM\Software\Classes\CLSID\{7B19A919-A9D6-49E5-BD45-02C34E4E4CD5}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{7F12E753-FC71-43D7-A51D-92F35977ABB5}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{8ADE5386-8E9B-4F4C-ACF2-F0008706B238}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{8F914656-9D0A-4EB2-9019-0BF96D8A9EE6}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{A09CCA86-27BA-4F39-9053-121FA4DC08FC}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{AA7E3C50-864C-4604-BC04-8B0B76E637F6}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{AA94DCC2-B8B0-4898-B835-000AABD74393}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{B1EBFC28-C9BD-47A2-8D33-B948769777A7}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{B5C8B898-0074-459F-B700-860D4651EA14}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{B5EBAFB9-253E-4A72-A744-0762D2685683}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{C9A14CDA-C339-460B-9078-D4DEBCFABE91}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{CB8C13E4-62B5-4C96-A48B-6BA6ACE39C76}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{D049B20C-5DD0-44FE-B0B3-8F92C8E6D080}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{D4DCD3D7-B4C2-47D9-A6BF-B89BA396A4A3}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{D9403860-297F-4A49-BF9B-77898150A442}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{DDE33513-774E-4BCD-AE79-02F4ADFE62FC}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{E7E79A30-4F2C-4FAB-8D00-394F2D6BBEBE}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{ED822C8C-D6BE-4301-A631-0E1416BAD28F}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{EE366069-1832-420F-B381-0479AD066F19}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{F3C633A2-46C8-498E-8FBB-CC6F721BBCDE}\Containers\* [*]
    HKLM\Software\Classes\CLSID\{FB012959-F4F6-44D7-9D09-DAA087A9DB57}\Containers\* [*]







    HKLM\SOFTWARE\Classes\Folder\* [*]
    HKLM\Software\Classes\FolderTypes\* [*]





    HKLM\Software\Classes\Installer\* [*]





    HKLM\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Mappings\* [*]
    HKLM\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Deployment\Package\* [*]

    HKLM\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\* [*]

    HKLM\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages\* [*]

    HKLM\Software\Classes\SVCID\* [*]
    HKLM\Software\Classes\SystemFileAssociations\* [*]
    HKLM\SOFTWARE\Classes\Windows Media Foundation\* [*]

    HKLM\Software\Classes\.xps\PersistentHandler []






    HKLM\SOFTWARE\Classes\.TiVo [*]
    HKLM\SOFTWARE\Classes\TivoRecording [*]
    HKLM\SOFTWARE\Classes\TivoRecording\DefaultIcon\* [*]
    HKLM\SOFTWARE\Classes\TivoRecording\Shell\* [*]

    HKLM\Software\Clients\* [*]





    HKLM\SOFTWARE\Clients\$\Address Book\* [*]

    ตอบลบ

แสดงความคิดเห็น