技術(shù):Java編程語(yǔ)言有哪些優(yōu)點(diǎn)?



北大青鳥通州校區(qū)轉(zhuǎn):

 1. Java是目前使用最為廣泛的網(wǎng)絡(luò)編程語(yǔ)言之一。它具有簡(jiǎn)單,面向?qū)ο,穩(wěn)定,與平臺(tái)無(wú)關(guān),解釋型,多線程,動(dòng)態(tài)等特點(diǎn)。

 2.面向?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)描述和方法的定義。

  3.簡(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)?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ǔ)言已成為軟件開發(fā)者應(yīng)當(dāng)掌握的語(yǔ)言。如果從語(yǔ)言的簡(jiǎn)單性方面看,Java要比 C++簡(jiǎn)單,C++中許多容易混淆的概念,或者被Java棄之不用了,或者以一種更清楚更容易理解的方式實(shí)現(xiàn),例如,Java不再有指針的概念。

  4.解釋型我們知道C,C++等語(yǔ)言,都是只能對(duì)特定的CPU芯片進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行就和特定的CUP有關(guān)。例如,在C語(yǔ)言中,我們都碰到過(guò)類似下面的問(wèn)題 int 型變量的值是10 ,那么下面代碼的輸出結(jié)果是什么呢 printf(“%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)行速度慢一些。

  5多線程 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ì)。

  6安全當(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)境中,不允許它訪問(wèn)計(jì)算機(jī)的其它部分。

  7.動(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)的程序都必須重新修改,編譯。

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

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章