1. 程式人生 > 其它 >Java基礎:簡單的聊一聊Java

Java基礎:簡單的聊一聊Java

一、Java的發展史

歷史是一個撩人心絃的小姑娘,它如同一個猶抱琵琶半遮面的清倌人,任人打量欣賞。

1991年,Sun公司的一個工程師小組想要設計一種小型的計算機語言,,主要用於像有線電視轉換盒這類的消費裝置。由於這些裝置的處理能力和記憶體都非常有限,所以開發的語言必須非常小且能夠生成非常緊湊的程式碼,同時為了適應不同廠商選擇的不同中央處理器(CPU),該語言不能跟任何特定的體系結構捆綁在一起。當時這個專案被命名為“Green”。

在設計之初,小組的工程師們準備採用c++,但是c++又比較複雜,因此在c++的基礎上,經過不斷的裁剪、優化和創新,在1990年,由James Gosling(詹姆斯.高斯林,一個全能的計算機奇才)領導的工程師小組基於c++開發了一種與平臺無關的新語言Oak

(橡樹,Java語言的前身)....但在當時的時代背景下,Green專案苦於沒有支援其技術的買家,在1994年,不得不解散了專案組。當這一切在Sun公司發生的時候,Internet的全球資訊網也正在日漸的發展壯大(全球資訊網的關鍵是把超文字頁面轉換到螢幕上的瀏覽器,1994年大多人都在使用Mosaic),這給了Green專案組成員們啟發,於是他們改造了Oak...在接受SunWorld採訪時,Gosling說在1994年中期,Java語言的開發者們意識到:“我們能夠建立起來一個相當酷的瀏覽器。我們已經擁有在客戶機/伺服器主流模型中所需要的體系結構中立、實時、可靠、安全——這些在工作站環境並不太重要,所以,我們決定開發瀏覽器...”

  1995年1月,Oak正式更名為Java(在當時Oak商標已經被註冊,Java是印度尼西亞爪哇島的音譯,該島因盛產咖啡而聞名),Sun隨後開發了HotJava瀏覽器,觸發了Java進軍Internet行業...

  1996年5月份,Sun公司在舊金山舉行了第一屆JavaOne世界Java開發者大會,推出了諸如CommerceAPIs等一系列Java平臺新技術以及新的HotJava開發環境,同年6月份,Sun公司釋出了JSP1.0,這裡的JSP(JavaServer Pages)是由Sun公司倡導、眾多公司協同參與一起建立的一種動態網頁技術標準...

  1998年12月,Java2企業平臺J2EE釋出...

  1999年6月,Sun公司針對不同使用者群,釋出了Java的三個版本:標準版(J2SE)、企業版(J2EE)、微軟版(J2ME)...

  2000年5月,J2SE1.3版本釋出...

  2002年4月,J2SE1.4版本釋出...

2004年9月,J2SE1.5版本釋出,該版本的釋出成為了Java語言發展史上的又一個里程碑。為了表示該版本的重要性,J2SE1.5更名為JavaSE 5.0...

2005年6月,JavaOne大會召開,此時Java的各種版本已經更名:J2SE 更名為JavaEE, J2EE更名為JavaEE, J2ME更名為JavaME...

2006年12月,JavaSE1.6版本釋出...

2009年4月,Oracle(甲骨文)公司以總額74億美金收購Sun公司,Java版權歸Oracle所有。因此Java的開發停滯了很長一段時間...

2011年7月,JavaSE1.7版本釋出,只做了一些簡單的修改...

2014年,JavaSE1.8版本釋出,在近20年當中,這個版本有了巨大的改變....

圖1.1 Java語言以及類庫的發展狀況

程式設計師的小浪漫:

由Java原始碼編譯出的二進位制檔案叫.class檔案,如果使用十六進位制編輯器開啟這個檔案,你會發現該檔案最前面的32位將顯示位CA FE BA BE,連起來也即是片語“CAFE BABE”(咖啡寶貝),諸如Gosling等這類的程式設計天才都是在不經意的地方展示他們的小浪漫。

二、Java的基本思想

在過去,大多數的程式在移植到不同的操作平臺(如UNIX、Liunx、Windows等)上時,程式設計師通常不得不重新除錯和編譯這些程式,有時候設定需要重寫。Java最大的優點就是在設計之初就秉承的“一次編譯,到處執行”思想(Write Once ,Run Everywhere,簡稱WORE),它是Sun公司為了宣傳Java語言的跨平臺特性提出的口號

Java的跨平臺性指的是:在一個平臺上用Java語言編寫的程式經過編譯之後不經過任何的修改就可以在其他的平臺上執行。比如,一個在Windows下開發出來的Java程式,在執行時可以無縫的部署到Linux,Unix和Mac環境下。

那麼,Java是如何實現跨平臺性的呢?舉個例子,在不懂中文的前提下,外國人要如何知道我們四大名著的內容呢?對的,翻譯!我們可以用下圖來比擬說明

在Java語言中,JVM(Java Virtual Machine ,Java虛擬機器)為我們做了翻譯的內容,程式設計師可以盡情的編寫程式碼,所有的翻譯交給JVM來做,正是因為有了JVM的存在,Java程式設計師才可以做到“一次編寫,處處執行”——這正是Java的靈魂所在。

三、JDK和JRE

什麼是JDK?什麼是JRE?他們二者有什麼區別和聯絡?

JDK:Java Development Kit,Java開發工具包,它裡面不僅包含了Java執行時環境(即JRE),同時還包含了Java基本類庫,Java開發工具,比如編輯器,偵錯程式等,是用於支援Java程式開發的最小環境。

JRE:我們把Java API類庫中的Java SE API子集和Java虛擬機器這兩部分統稱為JRE(Java Runtime Environment,Java執行時環境),它是支援Java程式執行的標準環境。

二者的區別和聯絡:

在Java技術體系上,JDK範圍涵蓋JRE,JRE是JDK的子集,如果只是僅僅執行Java程式,我們只需要配置JRE環境即可,如果使用者還想開發Java程式,則需要安裝配置JDK環境。

四、Java的學習

Java是一門面向物件的程式語言,在我本人看來,與其說學習Java的應用,不如說是學習Java的思想,會一樣東西和懂一樣東西是一種完全不同的概念,在我們學習的過程中,一定要多從面向物件的角度去考慮問題。另外就是動手實踐,聞之不若見之,見之不若行之,無論學習哪一種程式語言,動手實踐是必不可少的,可能在網上或者其他地方我們可以很輕易拿到建立Java程式的程式碼,但是作為一個初學者來說,務必不能偷懶,不要害怕出錯,失敗才是成功之母!總之,要想成為一個高水平的Java程式設計師,一定要多動手練習,多多思考,與君共勉!

Java學習可以大致分為三個階段:

初級階段:學習Java基礎語法和類的建立與使用、基礎I/O(輸入輸出的操作)、各種迴圈控制、運算子、陣列的定義、方法定義的格式、方法的重寫過載等。

中級階段:掌握面向物件的封裝、繼承、多型思想,學習常用物件和工具類、深入I/O操作、異常處理、Java包管理機制、集合框架等內容

高階階段:掌握Java的反射機制、泛型、網路程式設計、GUI開發、多執行緒、高階I/O,資料庫程式設計等

無論學習哪一門語言,我們都不能急躁,飯是一口一口的吃,路是一步一步的走,可能我們急需要尋找一份體面的工作,可能我們無比的想成為一個Java行業的高薪工作者,這個時候我們更應該專注於自己的步伐,打好學習的基礎,耐得住性子。學習Java的途中沒有任何捷徑,我們需要不斷地理論學習,反覆的實戰練習才能將程式碼靈活的運用,只有重視基本功,並且持之以恆,才能讓自己在以後的工作中游刃有餘。

參考書籍:

《Java從入門到精通(第2版)》張玉巨集主編

《Java核心技術:卷①原書第10版》凱s.霍斯特曼