大家好~
經由APPX提供的專業Java課程,讓我對Java有非常大一步(都快劈腿了)的瞭解!
大家一開始學習Java有沒有跟本人一樣,腦袋中會跳出以下問題呢?
- 程式語言有非常多種,為什麼一定要選擇Java?
- Java 到底隱藏什麼特性讓大多人像看到帥哥美女一樣被吸引呢?
- Java 在待遇(Money)和未來發展和其他語言比較下有什麼差異?
我們簡單舉出幾項Java在應用上的實際數據供大家參考應該就會明白為什麼大多人都會選擇Java:
- 有 97% 的企業桌上型電腦執行 Java
- 在美國有 89% 的桌上型電腦 (或電腦) 執行 Java
- 全世界有 9 百萬名 Java 開發人員
- 開發人員的首選
- 第一名的開發平台
- 有 30 億支行動電話執行 Java
- 100% 的藍光光碟播放機均預載 Java
- 有 50 億張 Java Card 在流通
- 有25 億部電視裝置執行 Java
以下是全球統計排名前20名的程式語言:
相關資訊網址:http://www.tiobe.com/tiobe-index/
大家現在知道Java在IT市場上的排名(第1名)與應用比重後,接著我們來討論Java領域中有哪些很常聽到的名詞吧!
- Java SDK(JDK)最早叫 Java Software Develop Kit,後來縮寫為 JDK。JDK 作為 Java 開發工具包,簡單的說,只要安裝JDK 在電腦裡,就能夠寫一些Java程式還可以測試有沒有問題。
舉例:某一天突然中大獎可以買夢寐以求的BMW汽車,那就需要跟BMW廠商訂購,收到訂單後也需要”汽車工廠“協助生產測試,因此可以把JDK想像成類似汽車工廠。 - JRE(Java Runtime Environment,Java 運行環境):也就是 Java 可以跨平台的場所。所有的 Java 程式都要在 JRE 下才能運行,今天希望可以將撰寫好的Java程式,可以在任何系統上運作( Ex: mac OS, Linux ),就非常需要JRE來替JAVA程式造一個舒適的環境。
舉例:可以想像Java是一支魚,而魚就一定需要有水的地方才能生存及活動,JRE可以解釋成有水的環境,不僅僅限至於魚缸連浴缸都可以。 - JVM (Java Virtual Machine,Java 虛擬機器):Java 語言最重要的特點就是跨平台運行。所以用Java寫的程式是沒有辦法直接執行的,因此Java程式統一都要透過這個JVM翻譯後,電腦才能夠了解需要做什麼。
舉例:今天想出國去遊玩,目前會說的語言只有中文,這個情形下是否需要一位翻譯員幫著溝通呢?JVM所扮演的角色就等同翻譯員。
Q1:大家有沒有想過Java是一個什麼樣的程式語言?它有什麼特性?
Ans1:Java是跨平台物件導向語言。
Q2:說得好,清楚什麼是跨平台嗎?
Ans2:就像上圖所表示的最下層(平台),是不是很多環境Ex:Macintosh & Windows…,這些平台和一些類別都是依靠Java 虛擬機器(JVM)來做連結溝通的喔!
Q3:既然知道什麼是跨平台,那什麼是物件導向語言呢?
Ans2:(Object-Oriented Programming 簡稱OOP),是把程式設計的概念具體化、物件化,並以該物件的角度去分析和解決問題,它不但突破了以往程序導向語言只能循序單向的設計缺失,更因物件的簡便、維護容易及可重覆使用特性,思考重心便放物件彼此的關係上,利用訊息的傳遞做溝通。
舉例:就好像日常生活中大家都是單一的個體(應該不會有複製人吧~),而生活中不外乎就是相處之間的關係,例如:老師與學生的關係、老闆與員工的關系等等,而相處關係絕不是要人類像電腦一樣的死板思考模式(1+1=2)。
如果還是不清楚,換個例子:
有沒有人看過任何一家汽車工廠只有一個部門做所有事情(車殼,引擎,變速器等等)應該很快就bye了,所以一定會分各個部門去做專一的事情每個部門間還可以互相溝通,假如發生問題也可以很快找到錯誤而盡速處理。
以下兩張圖可以清楚區分”物件導向語言”跟”過程語言”的最大差異
Procedural Language(過程語言) Object-oriented Language(物件導向語言)
Java有這麼多優點,它目前有哪些種類可以供我們使用呢?
- 嵌入式Embedded (Oracle Java Embedded)
Oracle Java嵌入式產品設計和優化,以滿足嵌入式設備,例如IC晶片卡、微控制器、 感應器和閘道的獨特要求。他們使 M2M 通信和物聯網的智慧系統,所以你可以做更多與您的設備。
- Java SE (Java Platform, Standard Edition)
開發範圍最廣的計算平臺,通過使應用程式可跨不同環境,主要用來發展一般電腦應用程式的視窗或平臺。
- Java EE (Java Platform, Enterprise Edition)
商業程式需要有很強的安全性, Java EE大部分都是伺服端和客戶端的應用程式,Java EE 也有加強支援 HTML5,可以讓開發人員撰寫更少的程式碼,有最新的 Web 應用程式和框架,更好地支援和獲得增強的可擴充性和更豐富的功能。
- 雲端Cloud (Oracle WebLogic Server in the Cloud)
Oracle Java 雲端服務提供提供企業級平臺來開發和部署商務應用程式在雲端,以最大化的生產力與即時支援任何標準的 Java EE 應用,帶有完整的安全性和資料庫讀取。
從下圖為大家整理1995年到現今所有Java JDK 版本演進:
版本 | 名稱 | 釋出日期 |
JDK 1.1.4 | Sparkler (煙火) | 1997/9/12 |
JDK 1.1.5 | Pumpkin (南瓜) | 1997/12/3 |
JDK 1.1.6 | Abigail (聖經故事人物名稱) | 1998/4/24 |
JDK 1.1.7 | Brutus (羅馬政治家名稱) | 1998/9/28 |
JDK 1.1.8 | Chelsea (足球俱樂部名稱) | 1999/4/8 |
J2SE 1.2 | Playground (遊樂園) | 1998/12/4 |
J2SE 1.2.1 | 無 | 1999/3/30 |
J2SE 1.2.2 | Cricket (蟋蟀) | 1999/7/8 |
J2SE 1.3 | Kestrel (紅隼) | 2000/5/8 |
J2SE 1.3.1 | Ladybird (瓢蟲) | 2001/5/17 |
J2SE 1.4.0 | Merlin (魔法師名稱) | 2002/2/13 |
J2SE 1.4.1 | Hopper (蚱蜢) | 2002/9/16 |
J2SE 1.4.2 | Mantis (螳螂) | 2003/6/26 |
J2SE 5.0 | Tiger (老虎) | 2004/9/29 |
Java SE 6 | Mustang (野馬) | 2006/12/11 |
Java SE 7 | Dolphin (海豚) | 2011/7/28 |
Java SE 8 | 無 | 2014/3/18 |
- 總結:我們在這個章節討論到Java的廣泛應用和功能也簡單介紹”物件導向”,下個章節將帶各位到下載檔案和安裝環境設定。