国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【精致Java教程】01:認識Java

keithxiaoy / 785人閱讀

摘要:小組最開始由兩名程序員和,一名工程師三人組成,后續(xù)有人員擴充。其中是最具代表性的人物,如今被稱為語言之父。后于年月日對外公布這門編程語言,標志著的誕生。官方宣稱全世界有萬開發(fā)者。數(shù)據(jù)顯示目前處于榜首。

歡迎你來到Java的世界,作為Java的第一篇文章不可免俗的要做一次介紹,這些東西往往比較枯燥所以我盡可能寫的有故事趣味一點。對于初學(xué)者歷史或者特性的東西瀏覽一遍有所了解即可,即使不知所云也沒關(guān)系,更不需要記。
本文從四個方面介紹一下Java:

Java的發(fā)展簡史

Java的特性

Java能做什么

Java目前的占有率

Java的發(fā)展簡史

1991年Sun公司認為用嵌入式系統(tǒng)來控制消費類電子產(chǎn)品(例如機頂盒、電視機、收音機、微波爐、烤面包機等)在未來很有市場。于是Sun公司成立了一個名為“Green”的小組來開發(fā)一套新的控制系統(tǒng)。這個系統(tǒng)用什么語言來做呢?他們一開始考慮過用C++,但是C++太復(fù)雜了且API不健全。而且由于當時的各類設(shè)備的CPU和操作系統(tǒng)不同,內(nèi)存也有限,要實現(xiàn)用于這些設(shè)備的控制系統(tǒng),需要一種代碼低消耗且平臺無關(guān)的編程語言,所以C++并不能勝任。最后Green決定開發(fā)一門新的編程語言。Green小組最開始由兩名程序員Patrick Naughton和James Gosling,一名工程師Mike Sheridan三人組成,后續(xù)有人員擴充。其中James Gosling是最具代表性的人物,如今被稱為“Java語言之父”。

這門新的編程語言的風格很像C++,因為本身就是基于C++開發(fā)的新語言。Gosling把這種語言取名為“Oak”,靈感傳說是他喜歡自己辦公室外的橡樹。但是Sun公司的人后來發(fā)現(xiàn)“Oak”已經(jīng)是另一種計算機語言的名字,沒辦法注冊商標。所以他們又想了另外幾個名字,經(jīng)過投票最后決定改名為“Java”。因為Java是印度尼西亞一個島嶼爪哇島的名字,且該島嶼盛產(chǎn)的咖啡也叫Java。所以Java的logo是一杯熱氣騰騰的咖啡。后于1995年5月23日對外公布這門編程語言,標志著Java的誕生。

另外Java的吉祥物叫“Duke”,每年的Java開發(fā)者大會大家都會穿著印有Duke的文化衫。

1992年的時候Green小組變成了一家Sun公司的全資子公司,名為“FirstPerson”。
同年FirstPerson發(fā)布了他們的第一個產(chǎn)品叫“*7”,它是一個基于SPARC的手持無線PDA。

可惜Sun公司和其它消費品公司并不看好這個產(chǎn)品。另外FirstPerson從1993年到1994年花了一年半的時間都沒能推銷出Java這項技術(shù)。
與此同時的萬維網(wǎng)正在逐漸壯大,而瀏覽器正是推動Web發(fā)展的關(guān)鍵技術(shù)。Java開發(fā)者們很快意識到Java具有客戶端/服務(wù)器模型中非常關(guān)鍵的中立、實時、可靠、安全等特性,于是他們決定開發(fā)一款瀏覽器。
他們開發(fā)的瀏覽器一開始叫WebRunner后來改名為HotJava。HotJava是完全由Java編寫的,這個瀏覽器最大的亮點是可以執(zhí)行網(wǎng)頁中的內(nèi)嵌代碼,這個技術(shù)稱為Applet。而當時其它的瀏覽器只能顯示靜態(tài)的內(nèi)容。
Sun公司在1995年5月23日發(fā)布了HotJava(和Java語言同時發(fā)布),在當時引起了不小的關(guān)注并吸引來了許多新的Java開發(fā)者。但是HotJava除了Applet其它表現(xiàn)并不佳,且當時人們習慣使用瀏覽器是網(wǎng)景的Netscape Navigator和微軟的Internet Explorer。后來Sun為了推廣Java Applet推出了可以在其他瀏覽器實現(xiàn)Applet的瀏覽器插件。既然其他瀏覽器都能用Applet那HotJava就更沒人用了。HotJava的最后一個版本是3.0版本,在網(wǎng)上搜索還能下載呢。我就好奇在Windows XP系統(tǒng)上裝了結(jié)果是下圖這個樣子。

1996年年初,Sun發(fā)布了Java的第一個正式版本,也就是JDK1.0(1995年只是發(fā)布了Java這門語言)。從此版本更新到現(xiàn)在已經(jīng)是Java8了。下圖是Java的版本更新歷程和每個版本比較有代表性的新特性。讀者如果是新人對這些新特性感到不知所云完全沒有關(guān)系,這篇文章只需要你瀏覽,當你學(xué)了相應(yīng)語法也可以回過頭來看看會更有感覺。

到此關(guān)于Java的歷史基本上講完了,只剩下一個挺重要的事件。那就是2009年4月20日Oracle以74億美元收購了Sun公司所有股份。也就是說Java平臺現(xiàn)在屬于Oracle。

Java的特性

在說Java特性的時候,很多資料會只說優(yōu)點不說缺點,甚至缺點說成優(yōu)點。我不會這么干,Java是一個很成熟且實用的工具,但也不是十全十美的。關(guān)于Java特性我分為優(yōu)點和缺點和其它三部分。具體如下:

注:如果你是一名初學(xué)者,這些特性你應(yīng)該看不懂。沒有關(guān)系你非常正常,你先瀏覽一遍,等你看完整套教程你再回過頭來看看。

優(yōu)點:

面向?qū)ο?br>Java是一門面向?qū)ο蟮恼Z言。面向?qū)ο蠼?jīng)過這么多年的實踐已經(jīng)證明是當下最好的程序設(shè)計,更符合人們的思維習慣。

跨平臺
跨平臺指的是“一次編譯,到處運行”,也就是程序員只需要寫一份代碼編譯一次,就可以交給各個平臺解釋執(zhí)行??缙脚_可以說是Java的招牌特色。

自動管理內(nèi)存
Java因為多了虛擬機這一層不僅實現(xiàn)了“一次編譯,到處運行”這一美好特性,而且還提供了用于自動管理內(nèi)存的垃圾回收機制(Garbage Collection,簡稱GC),這對于Java程序員來說是是一種釋放。

安全性
在手動管理內(nèi)存的語言例如C++中是很容易出現(xiàn)內(nèi)存泄露問題的,但是Java的垃圾收集機制避免了這一安全問題。而且Java程序無法破壞分配給自己之外的其它系統(tǒng)內(nèi)存,這也極大的提高了宿主系統(tǒng)的安全性。除此之外Java還有簽名機制可以對諸多權(quán)限進行控制,例如文件讀寫。

健壯性
Java的編譯器發(fā)展至今有非常完善的代碼檢測能力,能在編譯期間排除絕大部分代碼錯誤。

多線程
多線程不僅可以更有效的利用系統(tǒng)資源,而且可以實現(xiàn)程序監(jiān)聽,實時交互等功能。

網(wǎng)絡(luò)能力
Java支持TCP/IP協(xié)議,能夠通過網(wǎng)絡(luò)上傳與接收數(shù)據(jù)。

動態(tài)性
Java并不是一門動態(tài)語言,因為Java不能在程序運行過程中動態(tài)的修改程序結(jié)構(gòu)或者變量的數(shù)據(jù)類型。但是提供了反射機制實現(xiàn)了在程序運行過程中動態(tài)獲取類的信息。

開源
Java語言是開源的,可以下載源代碼查看。

豐富的代碼庫
這個其實并不是Java語言本身的特性,而是因為Java用戶太多,這么多年來留下來太多的可用代碼。除了官方類庫還有大量了第三方類庫可以使用。這使得大部分功能都能在網(wǎng)絡(luò)上找到解決方案,這就使得Java程序員能夠快速實現(xiàn)某一功能。

缺點:

性能較差
Java因為虛擬機擁有諸多優(yōu)勢,但也因為要走虛擬機這一層相比其它編程語言性能差些。

語法啰嗦
Java的語法是特別啰嗦的,例如需要導(dǎo)入一堆包。再例如打印一句Hello World!是這樣:

System.out.println("Hello World!");

而在Groovy里只要這樣:

println "Hello Groovy"

其它:

語法嚴謹
語法嚴謹包括兩個方面:

數(shù)據(jù)類型明確。一種數(shù)據(jù)類型占多少字節(jié),能表示什么是明確的。并且聲明之后也不能更換數(shù)據(jù)類型。

語法明確。例如大小寫敏感,一個語句的“;”不能省略,各種括號不能省略,訪問權(quán)限必須寫清楚等等。

注:語法嚴謹有的人喜歡覺得這樣大家代碼統(tǒng)一,有的人不喜歡覺得不夠自由。所以 我只把這點當作一個特點不作為Java的優(yōu)點或者缺點。

Java是解釋型語言
Java從源代碼.java到字節(jié)碼.class是一個編譯的過程,但是JVM運行程序是一個解釋的過程。所以Java是一門解釋型的語言。

Java能做什么

在前面的Java版本更新歷程的配圖中指出Java1.2開始把Java分為J2SE(Java 2 Standard Edition,Java標準版)、J2ME(Java 2 Micro Edition,Java微型版本)和J2EE(Java 2 Enterprise Edition,Java企業(yè)版)三個體系。
JavaSE就是指Java的基礎(chǔ)語法和一些Java平臺提供的基礎(chǔ)類庫。而后面兩者可以看作是前者的基礎(chǔ)上添加一些針對某個領(lǐng)域的類庫和框架。并不是說有好幾個語法版本的Java。開發(fā)時除了安裝標準版的Java后兩者還需要其它的擴展工具。
JavaME是指做一些嵌入式設(shè)備(例如PDA、機頂盒、家用電器等)或者手機上的軟件。這里的手機是指以前那些功能機并不是現(xiàn)在的Android手機。如下圖。

而JavaEE指的是做一些企業(yè)級的應(yīng)用,例如大公司里的ERP系統(tǒng)或者網(wǎng)站。其中網(wǎng)站并不是你看到的網(wǎng)頁的樣子,而是指你看不到的后臺邏輯。例如京東和天貓就是Java做的。

Java發(fā)展至今這些體系并沒有特別明確的區(qū)分,就是Java基礎(chǔ)語法然后特定場合選擇一些合適的工具嘛。而如果問學(xué)了Java一般做什么?最熱門的有兩個,其一就是上面所說的網(wǎng)站,另外就是Android。

Java目前的占有率

到現(xiàn)在Java已經(jīng)20歲了,已經(jīng)發(fā)展為最受歡迎的編程語言之一。官方宣稱全世界有900萬Java開發(fā)者??梢奐ava軍團有多么龐大。
熱度可以參考TIOBE在2016年3月更新的編程語言排行榜和趨勢圖。數(shù)據(jù)顯示Java目前處于榜首。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/65709.html

相關(guān)文章

  • 精致Java教程】04:第一個Java程序,HelloWorld!

    摘要:配置好開發(fā)環(huán)境之后,我們來寫第一個程序。注原諒我這里只貼了張截圖,因為我覺得第一個程序你最好自己敲而不是復(fù)制粘貼。運行程序現(xiàn)在命令行窗口輸出了一句,如下圖好了,恭喜你,你已經(jīng)是一名程序員了,太膩害了。注是編譯器,是運行器。 配置好開發(fā)環(huán)境之后,我們來寫第一個Java程序。 Step1:敲代碼 可以在任意目錄,為了方便管理我在D盤下新建了一個Source文件夾專門放代碼,又在Source...

    Kylin_Mountain 評論0 收藏0
  • 精致Java教程】02:Java的跨平臺原理

    摘要:它的實現(xiàn)原理是在系統(tǒng)層面上又增加了一層虛擬機,簡稱,且為每個平臺都定制了對應(yīng)的虛擬機。然后程序是在虛擬機上跑的,因此平臺無關(guān)。 Java的一大特色就是write once, run anywhere即一次編譯,到處運行。就是說你不用專門為每個平臺寫一份代碼,你寫的Java程序在任何平臺都能跑起來。 它的實現(xiàn)原理是在系統(tǒng)層面上又增加了一層虛擬機(Java Virtual Machine,...

    Genng 評論0 收藏0
  • 精致Java教程】03:安裝JDK和配置Java環(huán)境變量

    摘要:運行環(huán)境,它是程序運行的所必需的環(huán)境集合。安裝下一步下一步即可,要記得安裝路徑。配置環(huán)境變量安裝完以后需要對系統(tǒng)的環(huán)境變量進行配置才能開發(fā)。之所以不能運行是因為裝類之后還得配置環(huán)境變量。 在了解了Java歷史、特性、作用和跨平臺原理之后,我們可以開始為Java開發(fā)做準備工作了,只是在此之前我們還需要了解Java的兩大基礎(chǔ)概念JDK(Java Development kit)和JRE(J...

    CoyPan 評論0 收藏0
  • 什么是程序?

    摘要:偉大的語言希望到目前為止你還沒有暈,到這里我們知道了,不管我們用的是什么的也好最終都逃不出等語言除外,不直接執(zhí)行之類的解釋型語言程序,可以直接執(zhí)行的是解釋器代碼,解釋器最終來執(zhí)行等程序,這就是解釋型語言效率不如編譯型語言效率高的原因。 雖然在這里我們主要關(guān)注的是操作系統(tǒng),但畢竟操作系統(tǒng)的目的就是能更好的運行用戶程序,而且該教程主要是站在程序員的角度來講解操作系統(tǒng)的,作為程序員是繞不開程...

    junfeng777 評論0 收藏0
  • 什么是程序?

    摘要:偉大的語言希望到目前為止你還沒有暈,到這里我們知道了,不管我們用的是什么的也好最終都逃不出等語言除外,不直接執(zhí)行之類的解釋型語言程序,可以直接執(zhí)行的是解釋器代碼,解釋器最終來執(zhí)行等程序,這就是解釋型語言效率不如編譯型語言效率高的原因。 雖然在這里我們主要關(guān)注的是操作系統(tǒng),但畢竟操作系統(tǒng)的目的就是能更好的運行用戶程序,而且該教程主要是站在程序員的角度來講解操作系統(tǒng)的,作為程序員是繞不開程...

    jokester 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<