JAVA語(yǔ)言的八大優(yōu)點(diǎn)
Java是一種可以撰寫跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。JAVA語(yǔ)言有很多優(yōu)點(diǎn),下面就由小編為大家介紹JAVA語(yǔ)言的八大優(yōu)點(diǎn)吧!
1、使用廣泛
Java是目前使用最為廣泛的網(wǎng)絡(luò)編程語(yǔ)言之一。
它具有簡(jiǎn)單,面向?qū)ο,穩(wěn)定,與平臺(tái)無(wú)關(guān),解釋型,多線程,動(dòng)態(tài)等特點(diǎn)。
2、簡(jiǎn)單
Java語(yǔ)言簡(jiǎn)單是指這門語(yǔ)言既易學(xué)有好用。不要將簡(jiǎn)單誤解為這門語(yǔ)言很干癟。你可能很贊同這樣的觀點(diǎn),英語(yǔ)要比阿拉伯語(yǔ)言容易學(xué)。但這并不意味著英語(yǔ)就不能表達(dá)豐富的內(nèi)容和深刻的思想,許多文學(xué)諾貝爾獎(jiǎng)的作品都是英文寫的。
如果你學(xué)習(xí)過(guò)C++語(yǔ)言,你會(huì)感覺Java很眼熟,因?yàn)镴ava中許多基本語(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ǔ)言已成為軟件開發(fā)者應(yīng)當(dāng)掌握的語(yǔ)言。
如果從語(yǔ)言的簡(jiǎn)單性方面看,Java要比C++簡(jiǎn)單,C++中許多容易混淆的概念,有的被Java棄之不用了,有的以一種更清楚、更容易理解的方式實(shí)現(xiàn),例如,Java不再有指針的概念。
3、面向?qū)ο?/strong>
面向?qū)ο蠡趯?duì)象的編程更符合人的思維模式,使人們更容易編寫程序。
在實(shí)際生活中,我們每時(shí)每刻都與對(duì)象在打交道,比如我們用的鋼筆、騎的自行車、乘的公共汽車等。而我們經(jīng)常見到的卡車、公共汽車、轎車等都會(huì)涉及以下幾個(gè)重要的物理量可乘載的人數(shù)、運(yùn)行速度、發(fā)動(dòng)機(jī)的功率、耗油量、自重、輪子數(shù)目等。
另外,還有幾個(gè)重要的功能:加速功能、減速功能、剎車、轉(zhuǎn)彎功能等,我們也可以把這些功能稱作是他們具有的方法,而物理量是它們的狀態(tài)描述。僅僅用物理量或功能不能很好的描述它們。
在現(xiàn)實(shí)生活中,我們用這些共有的屬性和功能給出一個(gè)概念機(jī)動(dòng)車類。一個(gè)具體的轎車就是機(jī)動(dòng)車類的一個(gè)實(shí)例對(duì)象,Java語(yǔ)言與其它面向?qū)ο笳Z(yǔ)言一樣,引入了類的概念,類是用來(lái)創(chuàng)建對(duì)象的模板,它包含被創(chuàng)建的對(duì)象的狀態(tài)描述和方法的定義。
4、與平臺(tái)無(wú)關(guān)
與平臺(tái)無(wú)關(guān)是 Java 語(yǔ)言最大的優(yōu)勢(shì)。其它語(yǔ)言編寫的程序面臨的一個(gè)主要問題是操作系統(tǒng)的變化,處理器升級(jí)以及核心系統(tǒng)資源的變化,都可能導(dǎo)致程序出現(xiàn)錯(cuò)誤或無(wú)法運(yùn)行。
Java的虛擬機(jī)成功地解決了這個(gè)問題,Java編寫的程序可以在任何安裝了Java虛擬機(jī)JVM的計(jì)算機(jī)上正確的運(yùn)行,Sun公司實(shí)現(xiàn)了自己的目標(biāo)“一次寫成,處處運(yùn)行”。
5、解釋型
我們知道C、C++等語(yǔ)言,都是只能對(duì)特定的CPU芯片進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行就和特定的CUP有關(guān)。例如,在C語(yǔ)言中,我們都碰到過(guò)類似下面的問題 int 型變量的值是10 ,那么下面代碼的輸出結(jié)果是什么呢?print(“%d,%d”,x,x=x+1)。
如果上述語(yǔ)句的計(jì)算順序是從左到右,結(jié)果是 10,11,但是,有些機(jī)器會(huì)從右到左計(jì)算,那么結(jié)果就是11,11。Java不像C++,它不針對(duì)特定的CPU芯片進(jìn)行編譯,而是把程序編譯為稱做字節(jié)碼的一個(gè)“中間代碼”。字節(jié)碼是很接近機(jī)器碼的文件,可以在提供了Java虛擬機(jī)JVM的任何系統(tǒng)上被解釋執(zhí)行。Java被設(shè)計(jì)成為解釋執(zhí)行的程序,即翻譯一句,執(zhí)行一句,不產(chǎn)生整個(gè)的機(jī)器代碼程序。翻譯過(guò)程如果不出現(xiàn)錯(cuò)誤,就一直進(jìn)行到完畢,否則將在錯(cuò)誤處停止執(zhí)行。
同一個(gè)程序,如果是解釋執(zhí)行的,那么它的運(yùn)行速度通常比編譯為可執(zhí)行的機(jī)器代碼的運(yùn)行速度慢一些。但是,對(duì)Java來(lái)說(shuō),二者的差別不太大,Java的字節(jié)碼經(jīng)過(guò)仔細(xì)設(shè)計(jì),很容易便能使用JIT 即時(shí)編譯方式 編譯技術(shù)將字節(jié)碼直接轉(zhuǎn)化成高性能的本地機(jī)器碼,Sun 公司在Java2發(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ǔ)”的話,字節(jié)碼就相當(dāng)于“世界語(yǔ)”,世界語(yǔ)不和具體的“國(guó)家”關(guān),只要這個(gè)“國(guó)家”提供了“翻譯”,就可以再快速地把世界語(yǔ)翻譯成本地語(yǔ)言。
6、多線程
Java的'特點(diǎn)之一就是內(nèi)置對(duì)多線程的支持。多線程允許同時(shí)完成多個(gè)任務(wù)。實(shí)際上多線程使人產(chǎn)生多個(gè)任務(wù)在同時(shí)執(zhí)行的錯(cuò)覺,因?yàn),目前的?jì)算機(jī)的處理器在同一時(shí)刻只能執(zhí)行一個(gè)線程,但處理器可以在不同的線程之間快速地切換,由于處理器速度非常快,遠(yuǎn)遠(yuǎn)超過(guò)了人接收信息的速度,所以給人的感覺好象多個(gè)任務(wù)在同時(shí)執(zhí)行。C++沒有內(nèi)置的多線程機(jī)制,因此必須調(diào)用操作系統(tǒng)的多線程功能來(lái)進(jì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)境中,不允許它訪問計(jì)算機(jī)的其它部分。
8、動(dòng)態(tài)
Java程序的基本組成單元就是類,有些類是自己編寫的,有一些是從類庫(kù)中引入的,而類又是運(yùn)行時(shí)動(dòng)態(tài)裝載的,這就使得Java可以在分布環(huán)境中動(dòng)態(tài)地維護(hù)程序及類庫(kù),而不像 C++那樣,每當(dāng)其類庫(kù)升級(jí)之后,相應(yīng)的程序都必須重新修改,編譯。
【JAVA語(yǔ)言的八大優(yōu)點(diǎn)】相關(guān)文章: