av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

java學(xué)習(xí)總結(jié)——你的前世今生

一、背景

JAVA語(yǔ)言最開(kāi)始只是Sun電腦(Sun MicroSystems)公司在1990年12月開(kāi)始研究的一個(gè)內(nèi)部項(xiàng)目。Sun電腦公司的一個(gè)叫做帕特里克·諾頓的工程師被公司自己開(kāi)發(fā)的C++和C 語(yǔ)言編譯器搞得焦頭爛額,因?yàn)槠渲械腁PI極其難用。帕特里克決定改用NeXT,同時(shí)他也獲得了研究公司的一個(gè)叫做“Stealth計(jì)劃”的項(xiàng)目的機(jī)會(huì)。

在這個(gè)項(xiàng)目中,團(tuán)隊(duì)最初考慮使用C++語(yǔ)言,但是很多成員包括Sun的首席科學(xué)家比爾?喬伊,發(fā)現(xiàn)C++和可用的API在某些方面存在很大問(wèn)題。

工作小組使用的是內(nèi)嵌類(lèi)型平臺(tái),可以用的資源極其有限。很多成員發(fā)現(xiàn)C++太復(fù)雜以至很多開(kāi)發(fā)者經(jīng)常錯(cuò)誤使用。他們發(fā)現(xiàn)C++缺少垃圾回收系統(tǒng),還有可移植的安全性、分布程序設(shè)計(jì)、和多線(xiàn)程功能。最后,他們想要一種易于移植到各種設(shè)備上的平臺(tái)。

根據(jù)可用的資金,喬伊決定開(kāi)發(fā)一種集C語(yǔ)言和Mesa語(yǔ)言大成的新語(yǔ)言,在一份報(bào)告上,喬伊把它叫做“未來(lái)”,他提議Sun公司的工程師應(yīng)該在C++的基 礎(chǔ)上,開(kāi)發(fā)一種面向?qū)ο蟮沫h(huán)境。最初,高斯林試圖修改和擴(kuò)展C++的功能,他自己稱(chēng)這種新語(yǔ)言為C++ ++ --,但是后來(lái)他放棄了。他將要?jiǎng)?chuàng)造出一種全新的語(yǔ)言,被他命名為“Oak”(橡樹(shù)),以他的辦公室外的橡樹(shù)命名。

1994年6、7月間,在經(jīng)歷了一場(chǎng)歷時(shí)三天的頭腦風(fēng)暴的討論之后,約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯因和埃里克·斯 庫(kù)米,團(tuán)隊(duì)決定再一次改變了努力的目標(biāo),這次他們決定將該技術(shù)應(yīng)用于萬(wàn)維網(wǎng)。作為原型,帕特里克·諾頓寫(xiě)了一個(gè)小型萬(wàn)維網(wǎng)瀏覽器,WebRunner,后 來(lái)改名為HotJava。同年,Oak改名為Java。商標(biāo)搜索顯示,Oak已被一家顯卡制造商注冊(cè),因此團(tuán)隊(duì)找到了一個(gè)新名字。

這個(gè)名字是在很多成員常去的本地咖啡館中杜撰出來(lái)的。一種比較可信的說(shuō)法是這個(gè)名字是出于對(duì)咖啡的喜愛(ài),所以以Java咖啡來(lái)命名。類(lèi)文件的前四個(gè)字節(jié)如 果用十六進(jìn)制閱讀的話(huà),分別為“CA FE BA BE”,就會(huì)拼出兩個(gè)單詞“CAFE BABE”(咖啡寶貝)。

1994年10月,HotJava和Java平臺(tái)為公司高層進(jìn)行演示。1994年,Java 1.0a版本已經(jīng)可以提供下載,但是Java和HotJava瀏覽器的第一次公開(kāi)發(fā)布卻是在1995年5月23日SunWorld大會(huì)上進(jìn)行的。SUN公 司的科學(xué)指導(dǎo)約翰·蓋吉宣告Java技術(shù)。這個(gè)發(fā)布是與網(wǎng)景公司的執(zhí)行副總裁馬克·安德森的驚人發(fā)布一起進(jìn)行的,宣布網(wǎng)景將在其瀏覽器中包含對(duì)Java的 支持。1996年1月,Sun公司成立了Java業(yè)務(wù)集團(tuán),專(zhuān)門(mén)開(kāi)發(fā)Java技術(shù)。

二、發(fā)展

1、概念

是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。

Java不同于一般的編譯語(yǔ)言和直譯語(yǔ)言。它首先將源代碼編譯成字節(jié)碼,然后依賴(lài)各種不同平臺(tái)上的虛擬機(jī)來(lái)解釋執(zhí)行字節(jié)碼,從而實(shí)現(xiàn)了“一次編寫(xiě),到處運(yùn)行”的跨平臺(tái)特性。

Java 編程語(yǔ)言是個(gè)簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無(wú)關(guān)、可移植、高性能、多線(xiàn)程和動(dòng)態(tài)的語(yǔ)言。

2、組成

Java編程語(yǔ)言,即語(yǔ)法。

Java文件格式,即各種文件夾、文件的后綴。

Java虛擬機(jī)(JVM),即處理*.class文件的解釋器。

Java應(yīng)用程序接口(Java API)。

#p#

3、優(yōu)點(diǎn)

(1)Java是目前使用最為廣泛的網(wǎng)絡(luò)編程語(yǔ)言之一。

它具有簡(jiǎn)單,面向?qū)ο?,穩(wěn)定,與平臺(tái)無(wú)關(guān),解釋型,多線(xiàn)程,動(dòng)態(tài)等特點(diǎn)。

(2)簡(jiǎn)單

Java 語(yǔ)言簡(jiǎn)單是指這門(mén)語(yǔ)言既易學(xué)有好用。如果你學(xué)習(xí)過(guò) C++語(yǔ)言,你會(huì)感覺(jué) Java很眼熟,因?yàn)?Java中許多基本語(yǔ)句的語(yǔ)法和 C++一樣,像常用的循環(huán)語(yǔ)句,控制語(yǔ)句等和 C++幾乎一樣,但不要誤解為 Java 是 C++的增強(qiáng)版,Java 和 C++是兩種完全不同的語(yǔ)言,他們各有各的優(yōu)勢(shì),將會(huì)長(zhǎng)期并存下去,Java 語(yǔ)言和 C++語(yǔ)言已成為軟件開(kāi)發(fā)者應(yīng)當(dāng)掌握的語(yǔ)言。如果從語(yǔ)言的簡(jiǎn)單性方面看,Java要比 C++簡(jiǎn)單,C++中許多容易混淆的概念,或者被Java棄之不用了,或者以一種更清楚更容易理解的方式實(shí)現(xiàn),例如,Java不再有指針的概念。

(3)面向?qū)ο?/strong>

基于對(duì)象的編程更符合人的思維模式,使人們更容易編寫(xiě)程序。在實(shí)際生活中,我們每時(shí)每刻都與對(duì)象在打交道。我們可以用共有的屬性和功能給出一個(gè)概念 ,如機(jī)動(dòng)車(chē)類(lèi)。一個(gè)具體的轎車(chē)就是機(jī)動(dòng)車(chē)類(lèi)的一個(gè)實(shí)例 對(duì)象 .

Java 語(yǔ)言與其它面向?qū)ο笳Z(yǔ)言一樣,引入了類(lèi)的概念,類(lèi)是用來(lái)創(chuàng)建對(duì)象的模板,它包含被創(chuàng)建的對(duì)象的狀態(tài)描述和方法的定義。

(4)與平臺(tái)無(wú)關(guān)

跨平臺(tái)是 Java 語(yǔ)言最大的優(yōu)勢(shì)。其它語(yǔ)言編寫(xiě)的程序面臨的一個(gè)主要問(wèn)題是 操作系統(tǒng)的變化,處理器升級(jí)以及核心系統(tǒng)資源的變化,都可能導(dǎo)致程序出現(xiàn)錯(cuò)誤或無(wú)法運(yùn)行。Java的虛擬機(jī)成功地解決了這個(gè)問(wèn)題,Java編寫(xiě)的程序可以 在任何安裝了 Java虛擬機(jī) JVM 的計(jì)算機(jī)上正確的運(yùn)行,Sun公司實(shí)現(xiàn)了自己的目標(biāo) “一次寫(xiě)成,處處運(yùn)行”。

(5)解釋型

我們知道C,C++等語(yǔ)言,都是只能對(duì)特定的CPU芯片進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行就和特定的CUP有關(guān)。

Java不像C++,它不針對(duì)特定的CPU芯片進(jìn)行編譯,而是把程序編譯為稱(chēng)做字節(jié)碼的一個(gè)“中間代碼”。字節(jié)碼是很接近機(jī)器碼的文件,可以在提供了 Java 虛擬機(jī) JVM 的任何系統(tǒng)上被解釋執(zhí)行。

Java的字節(jié)碼經(jīng)過(guò)仔細(xì)設(shè)計(jì),很容易便能使用JIT 即時(shí)編譯方式 編譯技術(shù)將字節(jié)碼直接轉(zhuǎn)化成高性能的本地機(jī)器碼,Sun 公司在 Java 2發(fā)行版中提供了這樣一個(gè)字節(jié)碼編譯器——JIT(Just In Time),它是Java虛擬機(jī)的一部分。Java運(yùn)行系統(tǒng)在提供JIT的同時(shí)仍具有平臺(tái)獨(dú)立性,因而“高效且跨平臺(tái)”對(duì)Java來(lái)說(shuō)不再矛盾。

如果把 Java 的程序比做“漢語(yǔ)”的話(huà),字節(jié)碼就相當(dāng)于“世界語(yǔ)”,世界語(yǔ)不和具體的“國(guó)家”關(guān),只要這個(gè)“國(guó)家”提供了“翻譯”,就可以再快速地把世界語(yǔ)翻譯成本地語(yǔ)言。

(6)多線(xiàn)程

Java 的特點(diǎn)之一就是內(nèi)置對(duì)多線(xiàn)程的支持。多線(xiàn)程允許同時(shí)完成多個(gè)任務(wù)。實(shí)際上多線(xiàn)程使人產(chǎn)生多個(gè)任務(wù)在同時(shí)執(zhí)行的錯(cuò)覺(jué),因?yàn)?,目前的?jì)算機(jī)的處理器在同一時(shí)刻 只能執(zhí)行一個(gè)線(xiàn)程,但處理器可以在不同的線(xiàn)程之間快速地切換,由于處理器速度非???,遠(yuǎn)遠(yuǎn)超過(guò)了人接收信息的速度,所以給人的感覺(jué)好象多個(gè)任務(wù)在同時(shí)執(zhí) 行。C++沒(méi)有內(nèi)置的多線(xiàn)程機(jī)制,因此必須調(diào)用操作系統(tǒng)的多線(xiàn)程功能來(lái)進(jìn)行多線(xiàn)程程序的設(shè)計(jì)。

(7)安全

當(dāng)你準(zhǔn)備從網(wǎng)絡(luò)上下載一個(gè)程序時(shí),你最大的擔(dān)心是程序中含有惡意的代碼,比如試圖讀取或刪除本地機(jī)上的一些重要文件,甚至該程序是一個(gè)病毒程序等。當(dāng)你使用支持Java的瀏覽器時(shí),你可以放心地運(yùn)行Java的小應(yīng)用程序 Java Applet ,不必?fù)?dān)心病毒的感染和惡意的企圖,Java小應(yīng)用程序?qū)⑾拗圃?Java運(yùn)行環(huán)境中,不允許它訪(fǎng)問(wèn)計(jì)算機(jī)的其它部分。

(8)動(dòng)態(tài)

Java 程序的基本組成單元就是類(lèi),有些類(lèi)是自己編寫(xiě)的,有一些是從類(lèi)庫(kù)中引入的,而類(lèi)又是運(yùn)行時(shí)動(dòng)態(tài)裝載的,這就使得Java 可以在分布環(huán)境中動(dòng)態(tài)地維護(hù)程序及類(lèi)庫(kù),而不像 C++那樣,每當(dāng)其類(lèi)庫(kù)升級(jí)之后,相應(yīng)的程序都必須重新修改,編譯。

4、缺點(diǎn)

開(kāi)發(fā)周期長(zhǎng),代碼量大,對(duì)程序員的技術(shù)要求高

有人說(shuō),對(duì)于一個(gè)大型項(xiàng)目,如果用java來(lái)作,可能需要9個(gè)月,并且可能需要翻閱10本以上的書(shū),但如果用ruby來(lái)作,3個(gè)月,3本書(shū)就足夠了,而.net也不過(guò)3,4本書(shū)足以,這就是區(qū)別。

比性能,微軟曾做過(guò)一個(gè)例子,就是同一個(gè)項(xiàng)目用java和.net來(lái)作,結(jié)果開(kāi)發(fā)周期,.net是java的一半,代碼量java是.net的三倍。

三、比較

Java編程語(yǔ)言的風(fēng)格十分接近C語(yǔ)言、C++語(yǔ)言。

Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了 C++語(yǔ)言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能,用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管 理而擔(dān)憂(yōu)。

在 Java 1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類(lèi)型安全的枚舉、不定長(zhǎng)參數(shù)和自動(dòng)裝/拆箱等語(yǔ)言特性。

總結(jié):無(wú)論java還是.Net,他們都是編程語(yǔ)言的一種,編程的關(guān)鍵不是語(yǔ)言,而是思想,一旦 你有了思想,那你編的程序就有了靈魂,不管是什么語(yǔ)言到了你的手里都會(huì)是你的工具而已,他們的價(jià)值是能盡快幫助你實(shí)現(xiàn)你想要的目標(biāo)。但是如果你沒(méi)有了思 想,那就像是海里的帆船失去了船帆,是很難到打海的另一邊的。所以,讓我們?nèi)W(xué)習(xí)語(yǔ)言中的思想,讓我們?nèi)フ莆站幊痰撵`魂。


新聞標(biāo)題:java學(xué)習(xí)總結(jié)——你的前世今生
文章位置:http://uogjgqi.cn/article/djdpjid.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流