第一章 認識Java Java 程式設計入門(I)
前言 本章內容含 Ch1
Java的由來 誕生:為了因應智慧型電器時代的來臨 例如:網際網路冰箱 智慧型電器的微處理器種類太多,需要跨平台,移植性高的嵌入式韌體,以控制微處理器 由Green團隊發展出可跨平台,可重用性高的物件導向程式語言,一開始取名為OAK,因為與另一程式語言同名,再改名為Java
Java的由來 成長:全球資訊網路廣受歡迎,Java的跨平台及製作動態網頁的潛力,使Green專案繼續發展下去。 發展:使用Java可以發展的程式-applet、application、servlet、JavaBean、JSP等。Java現今的版本稱為Java 2。
Java的跨平台 當你將原本要在Windows上執行的C/C++程式,拿到Linux上執行時,你必須要有以下的動作: 必須要有程式的原始檔(source code)。 變更程式中,和平台相關的程式碼。 重新編譯成執行檔。
Java的跨平台 C程式欲在不同平台執行時,必須重新編譯。
Java的跨平台 Java程式只要編譯一次,就可以在擁有JRE的平台上執行。
Java程式語言-Java平台 Java程式語言的「平台」(Platform):平台是一種結合硬體和軟體的執行環境,簡單的說,電腦程式是在平台上執行,因為Java是與硬體無關和跨平台的程式語言,所以Java平台屬於一種軟體平台,主要是由JVM和Java API兩個元件所組成。
Java的虛擬機器(JVM) Java先經過編譯的程序,編成位元碼(byte-codes:與平台無關的機器碼),再利用直譯器解譯並執行Java的位元碼 任何一種可執行Java的軟體均可看成是Java的虛擬機器(Java Virtual Machine, JVM)
Java API Java API(Java Application Programming Interface) Java API是軟體元件的集合,也就是在C/C++語言所謂的函式庫,提供集合物件、GUI元件、檔案處理、資料庫存取和網路等相關的類別和介面,稱為「套件」(Packages)(後面的章節再詳述)。
Java程式編譯與執行 虛擬碼是指postal code(即流程規劃)
Java程式編譯與執行 使用JVM(也稱為Java解譯器)執行Java程式 時,會先載入類別檔再執行。
Java的跨平台機制與虛擬機 資料來源:http://java.sun.com JVM是指Java HotSpot Runtime Java API:是指已經開發的工具程式,透過API,使用者可以方便開發應用程式,例如圖中的:applet,sound, math, text, …這些小塊 Java Plug-in是嵌在瀏覽器的Java Applet解譯器 上述的總和為JRE(Java Runtime Environment)Java執行環境 SDK為JDK,是指Java程式開式套件,除了JRE外,再加上compiler和Debugger 但是,JDK並不含程式的編輯器(像筆記本的文件編輯器),因此,在編輯程式和編譯程式時是環境,要換來換去,如果覺得不方便,可以購買Java IDE(整合開發環境,如:Jbuilder)
Java的優缺點 優點: 容易學習 跨平台 物件導向 安全 多執行緒 資源回收機制 缺點: 效能較差
Java程式語言-分散式 分散式(Distributed)
Java程式語言-多執行緒 多執行緒(Multi-Threading) Java語言支援多執行緒,在同一程式能夠建立多個執行的小程式,稱為「輕量行程」(Light Weight Process),以便執行不同的工作,並且支援同步功能,能夠避免「死結」(Deadlock)情況的發生。
Java程式語言-垃圾收集 垃圾收集(Garbage Collection) 垃圾收集是指如何處理程式不再使用的記憶體空間,在C/C++語言需要自行處理記憶體的配置與釋放,當程式配置的記憶體不再使用時,程式需要提供程式碼釋放記憶體歸還給作業系統,如此作業系統才能夠再次配置給其它的應用程式。 Java語言擁有垃圾收集能力,程式設計者不用擔心記憶體配置的問題,因為在執行Java程式時,自動會將不再使用的記憶體歸還給作業系統。
Java程式語言-例外處理 例外處理(Exception Handling) 電腦程式不可能沒有「小臭蟲」(Bugs),一些小錯誤可能只會產生錯誤結果,但是有一些小錯誤可能導致嚴重的系統當機問題,傳統程式語言並沒有完善的例外處理,所以常常會出現一些不明的系統錯誤。 Java語言的例外處理可以讓程式更加「強壯」(Robust),這算程式執行時遇到不尋常的情況,也不會造成程式「崩潰」(Crashing)或整個系統當機。