亚洲中文日韩国产一区|亚洲国产精品原创巨作AV无遮挡|色依依国内精品中文字幕|日韩精品免费在线视频

<button id="lyzxa"><option id="lyzxa"><em id="lyzxa"></em></option></button>
    java語言

    Java語言有什么特點

    時間:2024-09-14 02:27:00 java語言 我要投稿
    • 相關(guān)推薦

    Java語言有什么特點

      Java是一種分布式的語言,Sun公司對Java的定義充分地展示了Java的如下特點。下面是小編給大家?guī)淼腏ava語言有什么特點,希望能幫到大家!

      1. 簡單

      Java是一種簡單的語言。Java是在C、C++的基礎(chǔ)上開發(fā)的,繼承了C和C++的許多特性,但同時也取消其他許多編程語言中繁瑣的、難以理解的、不安全的內(nèi)容,如指針、多重繼承等。JDK還提供了豐富的基礎(chǔ)類庫,具有C或C++編程經(jīng)驗的程序員都會很熟悉,無需經(jīng)過長時間訓(xùn)練即可掌握它。

      2、面向?qū)ο?/strong>

      Java是一種純面向?qū)ο蟮恼Z言。Java程序的設(shè)計思路不同于C語言基于過程的程序設(shè)計思路,而是采用面向?qū)ο蟮乃枷。面向(qū)ο蟪绦蛟O(shè)計,具備更好的模擬現(xiàn)實世界環(huán)境的能力和可重用性,將待解決的現(xiàn)實問題概念化成一組分離的程序?qū)ο,這些對象彼此之間可以進(jìn)行交互。一個對象包含了對應(yīng)實體應(yīng)有的信息和訪問、改變這些信息的方法。通過這種設(shè)計方式,使所設(shè)計出來的程序更易于改進(jìn)、擴(kuò)展、維護(hù)和重用。Java語言提供類、接口和繼承等原語。為了簡單起見,Java只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口間的實現(xiàn)機(jī)制,關(guān)鍵字為implements。Java語言全面支持動態(tài)綁定,而C++ 語言只對虛函數(shù)使用動態(tài)綁定。

      3、分布式

      Java是一種分布式的語言。傳統(tǒng)的基于C/S(客戶端/服務(wù)器)架構(gòu)的程序,均采用客戶端向服務(wù)器提出服務(wù)請求,服務(wù)器再根據(jù)要求執(zhí)行適當(dāng)?shù)某绦虿⒔Y(jié)果返回,所以服務(wù)器負(fù)荷較重。Java采用Java虛擬機(jī)架構(gòu),可將許多工作直接交由終端處理,數(shù)據(jù)因此也可以分布式處理。此外,Java類庫的運用,大大減輕了網(wǎng)絡(luò)傳輸?shù)呢?fù)荷;Java類庫包含了支持HTTP和FTP 等基于TCP/IP協(xié)議的子庫,Java應(yīng)用程序可憑借URL地址打開并訪問網(wǎng)絡(luò)上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。網(wǎng)絡(luò)環(huán)境是Java大顯身手和進(jìn)一步發(fā)展的地方。

      4、高效解釋執(zhí)行

      Java是高效解釋執(zhí)行的語言。高級語言程序必須轉(zhuǎn)換為機(jī)器語言程序才能執(zhí)行,但不同的計算機(jī)系統(tǒng)所使用的機(jī)器語言不同。Java為了實現(xiàn)“一次編譯,隨處運行”的目標(biāo),Java 的源程序在編譯時,并不直接編譯成特定的機(jī)器語言程序,而是編譯成與系統(tǒng)無關(guān)的“字節(jié)碼(Byte codes)”,由Java 虛擬機(jī)(Java Virtual Machine,JVM )來執(zhí)行,如圖1-3所示。JVM使得Java程序可以“一次編譯,隨處運行”。任何系統(tǒng)只有安裝了Java虛擬機(jī)后,才可以執(zhí)行Java 程序。

      JVM能直接在任何機(jī)器上執(zhí)行,為字節(jié)碼提供運行環(huán)境。當(dāng)JVM解釋執(zhí)行Java程序時,Java 實時編譯器(Just-In-Time,JIT)會將字節(jié)碼譯成目標(biāo)平臺對應(yīng)的機(jī)器語言的指令代碼。

      早先的許多嘗試解決跨平臺的方案對性能要求都很高。其他解釋執(zhí)行的語言系統(tǒng),如BASIC、TCL、PERL 都有無法克服的性能缺陷。然而,Java 卻可以在非常低檔的CPU上順暢運行,這是因為Java字節(jié)碼是經(jīng)過精心設(shè)計的,能夠直接使用JIT編譯技術(shù)將字節(jié)碼轉(zhuǎn)換成高性能的本機(jī)代碼。事實上,Java的運行速度隨著JIT編譯器技術(shù)的發(fā)展已接近于C++。因而“高效且跨平臺”對Java 來說已不再矛盾。

      5、健壯

      Java是健壯的語言。為了更好地理解Java的健壯性,先討論一下在傳統(tǒng)編程環(huán)境下程序設(shè)計失敗的主要原因:內(nèi)存管理錯誤和誤操作引起的異;蜻\行時異常。

      在傳統(tǒng)的編程環(huán)境下,內(nèi)存管理是一項困難、乏味的工作。例如,在C或C++ 中,必須手工分配、釋放所有的動態(tài)內(nèi)存。如果忘記釋放原來分配的內(nèi)存,或是釋放了其他程序正在使用的內(nèi)存時,就會出錯。在傳統(tǒng)的編程環(huán)境下,異常情況可能經(jīng)常由“被零除”、“Null指針操作”、“文件未找到”等原因引起,必須用既繁瑣又難理解的一大堆指令來進(jìn)行管理。

      對此,Java 通過自行管理內(nèi)存分配和釋放,從根本上消除了有關(guān)內(nèi)存的問題。Java提供垃圾收集器,可自動收集閑置對象占用的內(nèi)存。通過提供面向?qū)ο蟮漠惓L幚頇C(jī)制來解決異常處理的問題。通過類型檢查、Null指針檢測、數(shù)組邊界檢測等方法,在開發(fā)早期發(fā)現(xiàn)程序錯誤。

      6、安全

      Java是安全的網(wǎng)絡(luò)編程語言。Java常被用于網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一系列的安全機(jī)制以防惡意代碼攻擊,確保系統(tǒng)安全。Java的安全機(jī)制分為多級,包括Java 語言本身的安全性設(shè)計以及嚴(yán)格的編譯檢查、運行檢查和網(wǎng)絡(luò)接口級的安全檢查。

      Java語言是強(qiáng)類型語言,而且每種類型都要求嚴(yán)格定義。首先,每個變量、表達(dá)式都有類型。其次,所有的數(shù)值傳遞,不管是直接的、還是通過方法調(diào)用經(jīng)由參數(shù)傳遞,都要進(jìn)行類型相容性檢查。有些語言沒有自動進(jìn)行數(shù)據(jù)類型相容性檢查或?qū)_突的類型進(jìn)行轉(zhuǎn)換的機(jī)制;Java編譯器對所有的表達(dá)式和參數(shù)都要進(jìn)行類型相容性的檢查以確保類型是兼容的。任何類型的不匹配都是錯誤的,在編譯完成之前,錯誤必須全部被糾正。此外,Java 摒棄指針類型和數(shù)據(jù)類型的隱式轉(zhuǎn)換,從而對內(nèi)存訪問進(jìn)行了嚴(yán)格的限制。在編譯期間,Java 編譯器并不分配內(nèi)存,而是推遲到運行時由解釋器決定,這樣編程人員就無法通過指針來非法訪問內(nèi)存。在運行期間,Java的運行環(huán)境提供了四級安全保障機(jī)制:字節(jié)碼校驗器、類裝載器、運行時內(nèi)存布局和文件的訪問限制。在網(wǎng)絡(luò)接口級,用戶可按自己的需要來設(shè)置網(wǎng)絡(luò)訪問權(quán)限。

      另外,Java的未來版本將采用公開密鑰法以及其他加密技術(shù),來核實從網(wǎng)絡(luò)上傳輸過來的代碼的源主機(jī)及該代碼的完整性。

      7、結(jié)構(gòu)中立

      Java是結(jié)構(gòu)中立的語言。Java的設(shè)計目標(biāo)是要支持網(wǎng)絡(luò)應(yīng)用程序。一般而言,網(wǎng)絡(luò)是由許多不同的系統(tǒng)構(gòu)成,包括各種CPU與操作系統(tǒng)結(jié)構(gòu)。為了讓Java應(yīng)用程序能夠在網(wǎng)絡(luò)上任何地方執(zhí)行,其編譯器會產(chǎn)生一種具備結(jié)構(gòu)中立性的對象文件格式即Java字節(jié)碼文件。Java字節(jié)碼可在任何安裝了Java虛擬機(jī)的平臺上運行。

      8、可移植

      Java開發(fā)的程序是可移植的。結(jié)構(gòu)中立是確保程序可移植的必要條件,此外還需很多其他條件的配合。Java 在可移植性方面做了許多工作。Java語言規(guī)范中也沒有任何“同具體實現(xiàn)相關(guān)”的內(nèi)容,解決了所有可能會影響到Java可移植性方面的問題。如在Windows 3.1中整數(shù)(Integer)為16位,在Windows 95中整數(shù)為32位,在DEC Alpha中整數(shù)為64位,在Intel 486中為32位,不同的操作系統(tǒng)和CPU對數(shù)據(jù)類型及長度都作了不同的定義,給程序的可移植性帶來了一定的難度。Java通過定義獨立于平臺的基本數(shù)據(jù)類型及其運算,使Java數(shù)據(jù)得以在任何硬件平臺上保持一致。事實上,幾乎目前使用的所有CPU都能支持以上數(shù)據(jù)類型,都支持8~64位整數(shù)格式的補碼運算和單/雙精度浮點運算。Java語言的基本數(shù)據(jù)類型及其表示方式如表1-1所示。

      9、高效率

      Java是高效率的語言。每一次的版本更新,Java在性能上均做出了改進(jìn)。在歷經(jīng)數(shù)個版本變更后,Java號稱可以與C/C++擁有同樣甚至更好的運行性能。如果解釋器速度不慢,Java可以在運行時直接將目標(biāo)代碼翻譯成機(jī)器指令,來用JVM一秒鐘內(nèi)可調(diào)用 300 000個過程,與C/C++不相上下。

      10、多線程

      Java是支持多線程的語言。多線程是一種應(yīng)用程序設(shè)計方法。線程是一大進(jìn)程里分出來的,小的、獨立的進(jìn)程,使得在一個程序里可同時執(zhí)行多個小任務(wù)。多線程帶來的好處是具有更好的交互性能和實時控制性能。但采用傳統(tǒng)的程序設(shè)計語言(如:C/C++)實現(xiàn)多線程程序并非易事。Java實現(xiàn)了多線程技術(shù),提供了簡便的實現(xiàn)多線程的方法,并擁有一組高復(fù)雜性的同步機(jī)制。

      11. 動態(tài)

      Java 語言具有動態(tài)特性。Java 動態(tài)特性是其面向?qū)ο笤O(shè)計方法的擴(kuò)展,允許程序動態(tài)地裝入運行過程中所需的類,這是 C++ 進(jìn)行面向?qū)ο蟪绦蛟O(shè)計所無法實現(xiàn)的。C++ 程序設(shè)計過程中,每當(dāng)在類中增加一個實例變量或一種成員函數(shù)后,引用該類的所有子類都必須重新編譯,否則將導(dǎo)致程序崩潰。Java采取如下措施來解決此類問題。

      (1)Java編譯器不是將對實例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號引用信息在字節(jié)碼中保存后傳遞給解釋器,再由解釋器在完成動態(tài)連接類后,將符號引用信息轉(zhuǎn)換為數(shù)據(jù)偏移量。存儲器生成的對象不在編譯過程中決定,而是延遲到運行時由解釋器確定。這樣,對類中變量和方法進(jìn)行更新時就不至于影響現(xiàn)存的代碼。解釋執(zhí)行字節(jié)碼時,這種符號信息的查找和轉(zhuǎn)換過程僅在一個新的名字出現(xiàn)時才進(jìn)行一次,隨后代碼便可以全速執(zhí)行。

      (2)在運行時確定引用的好處是可以使用已被更新的類,而不必?fù)?dān)心會影響原有的代碼。如果程序連接了網(wǎng)絡(luò)中另一系統(tǒng)的某一類,該類的所有者也可以自由地對該類進(jìn)行更新,而不會使任何引用該類的程序崩潰。

      (3)Java還簡化了使用一個升級的或全新的協(xié)議的方法。如果系統(tǒng)運行 Java 程序時遇到了不知怎樣處理的程序,沒關(guān)系, Java 能自動下載你所需要的功能程序。

      Java是一種比C/C++更具動態(tài)特性的語言。在設(shè)計上強(qiáng)調(diào)為運行中的運算環(huán)境提供支持。Java是在運行時為模塊與模塊之間建立連接,并能夠更直接地運用面向?qū)ο笤O(shè)計體系。程序庫可以自由地增加新方法和實例變量,而不會對它們的客戶產(chǎn)生任何影響。

      Java語言有哪些優(yōu)勢

      Java這一編程語言,擁有著強(qiáng)大的生命力,且因為其自身所攜帶的幾大優(yōu)勢,散發(fā)著獨有的語言魅力。那么,java語言有哪些優(yōu)勢呢?我們可以從以下四個方面加以了解:

      一、市場無限大。

      目前,java語言市場占有率達(dá)20%,為世界第一編程語言。我國軟件行業(yè)每年所需的java人才達(dá)30萬,并且每年以22%左右的速度增長著。由此看來,java發(fā)展市場無限大。

      二、企業(yè)級應(yīng)用平臺的霸主

      Java是一種被廣泛使用的網(wǎng)絡(luò)語言,java程序能廣泛運用于金融、電信、醫(yī)療等大型企業(yè),成為名副其實的企業(yè)級應(yīng)用平臺霸主。

      三、語言簡潔

      相對于C++,java語言更加簡便。Java丟棄了C++語言中類似于頭文件、指針、運算符重載等很少使用、較難以理解以及令人迷惑的一些功能,將語言簡化的同時,還最大程度的降低了出錯的可能。

      四、平臺無關(guān)性

      Java語言能運行于不同的平臺,不受運營環(huán)境的限制,一次編譯多處運行。

      Java的這些優(yōu)勢,也成了眾多人選擇它的重要理由。筆者從南寧權(quán)威IT培訓(xùn)機(jī)構(gòu)——南寧達(dá)內(nèi)就業(yè)管處了解到,每月來報名學(xué)習(xí)java的同學(xué)很多,尤其是達(dá)內(nèi)的企業(yè)定制班很受歡迎,這些學(xué)生都懷抱著同樣的夢想:入IT名企,拿更高薪資。

    【Java語言有什么特點】相關(guān)文章:

    Java語言的基本特點03-29

    Java語言的編程特點03-18

    Java語言基本特點11-25

    Java語言的產(chǎn)生及其特點03-29

    Java語言的5大特點08-27

    java語言優(yōu)點是什么12-12

    Java語言的優(yōu)點有哪些12-08

    java基礎(chǔ)語言有哪些03-19

    學(xué)好java有什么優(yōu)勢12-02