java的主要特性是什么-創(chuàng)新互聯(lián)

小編這次要給大家分享的是java的主要特性是什么,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都做網(wǎng)站、隆安網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、隆安網(wǎng)絡(luò)營銷、隆安企業(yè)策劃、隆安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供隆安建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

Java語言是簡單的:

Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,而是引用。并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。

Java語言是面向?qū)ο蟮模?/strong>

Java語言提供類、接口和繼承等面向?qū)ο蟮奶匦裕瑸榱撕唵纹鹨?,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定??傊?,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。

Java語言是分布式的:

Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機制也是開發(fā)分布式應(yīng)用的重要手段。

Java語言是健壯的:

Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。

Java語言是安全的:

Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。

Java語言是體系結(jié)構(gòu)中立的:

Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。

Java語言是可移植的:

這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSI C實現(xiàn)的。

Java語言是解釋型的:

如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。

Java是高性能的:

與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++。

Java語言是多線程的:

在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子類將一個實現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)。

Java語言是動態(tài)的:

Java語言的設(shè)計目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。

內(nèi)容擴展:

JAVA語言主要特點

1.簡單

Java最初是為對家用電器進行集成控制而設(shè)計的一種語言,因此它必須簡單明了。Java語言的簡單性主要體現(xiàn)在以下三個方面:

1) Java的風(fēng)格類似于C++,因而C++程序員是非常熟悉的。從某種意義上講,Java語言是C及C++語言的一個變種,因此,C++程序員可以很快就掌握J(rèn)ava編程技術(shù)。

2) Java摒棄了C++中容易引發(fā)程序錯誤的地方,如指針和內(nèi)存管理。

3) Java提供了豐富的類庫。

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

面向?qū)ο罂梢哉f是Java最重要的特性。Java語言的設(shè)計完全是面向?qū)ο蟮?,它不支持類似C語言那樣的面向過程的程序設(shè)計技術(shù)。Java支持靜態(tài)和動態(tài)風(fēng)格的代碼繼承及重用。單從面向?qū)ο蟮奶匦詠砜?,Java類似于Small Talk,但其它特性、尤其是適用于分布式計算環(huán)境的特性遠(yuǎn)遠(yuǎn)超越了Small Talk。

3.分布式

Java包括一個支持HTTP和FTP等基于TCP/IP協(xié)議的子庫。因此,Java應(yīng)用程序可憑借URL打開并訪問網(wǎng)絡(luò)上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。為分布環(huán)境尤其是Internet提供的動態(tài)內(nèi)容無疑是一項非常宏偉的任務(wù),但Java的語法特性卻使我們很容易地實現(xiàn)這項目標(biāo)。

4.健壯

Java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。Java自已操縱內(nèi)存減少了內(nèi)存出錯的可能性。Java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大縮短了開發(fā)Java應(yīng)用程序的周期。Java提供Null指針檢測數(shù)組邊界檢測異常出口字節(jié)代碼校驗。

5.結(jié)構(gòu)中立

另外,為了建立Java作為網(wǎng)絡(luò)的一個整體,Java將它的程序編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有Java運行系統(tǒng)的機器都能執(zhí)行這種中間代碼。現(xiàn)在,Java運行系統(tǒng)有Solaris2.4(SPARC),Win32系統(tǒng)(Windows95和WindowsNT)等.Java源程序被編譯成一種高層次的與機器無關(guān)的byte-code格式語言,這種語言被設(shè)計在虛擬機上運行,由機器相關(guān)的運行調(diào)試器實現(xiàn)執(zhí)行。

6.安全

Java的安全性可從兩個方面得到保證。一方面,在Java語言里,象指針和釋放內(nèi)存等C++功能被刪除,避免了非法內(nèi)存操作。另一方面,當(dāng)Java用來創(chuàng)建瀏覽器時,語言功能和瀏覽器本身提供的功能結(jié)合起來,使它更安全。Java語言在你的機器上執(zhí)行前,要經(jīng)過很多次的測試。它經(jīng)過代碼校驗,檢查代碼段的格式,檢測指針操作,對象操作是否過分以及試圖改變一個對象的類型。

7.可移植的

這句話一直是Java程序設(shè)計師們的精神指標(biāo),也是Java之所以能夠受到程序設(shè)計師們喜愛的原因之一,大的功臣就是JVM的技術(shù)。大多數(shù)編譯器產(chǎn)生的目標(biāo)代碼只能運行在一 種CPU上(如Intel的x86系列),即使那些能支持多種CPU的編譯器也不能同時產(chǎn)生適合多 種CPU的目標(biāo)代碼。如果你需要在三種CPU( 如x86、SPARC 和MIPS)上運行同一程序, 就必須編譯三次。

但JAVA編譯器就不同了。JAVA編譯器產(chǎn)生的目標(biāo)代碼(J-Code) 是針對一種并不 存在的CPU--JAVA虛擬機(JAVA Virtual Machine),而不是某一實際的CPU。JAVA虛擬機能掩蓋不同CPU之間的差別,使J-Code能運行于任何具有JAVA虛擬機的機器上。

虛擬機的概念并不AVA 所 特 有 的:加州大學(xué)幾年前就提出了PASCAL虛擬機的概念;廣泛用于Unix服務(wù)器的Perl腳本也是產(chǎn)生與機器無關(guān)的中間代碼用于執(zhí)行。但針對Internet應(yīng)用而設(shè)計的JAVA虛擬機的特別之處在于它能產(chǎn)生安全的不受病毒威脅的目標(biāo)代碼。正是由于Internet對安全特性的特別要求才使得JVM能夠迅速被人們接受。 當(dāng)今主 流的操作系統(tǒng)如OS/2、MacOS、Windows95/NT都已經(jīng)或很快提供對J-Code的支持。

作為一種虛擬的CPU,JAVA 虛擬機對于源代碼(Source Code) 來說是獨立的。我們不僅可以用JAVA語言來生成J-Code,也可以用Ada95來生成。事實上,已經(jīng)有了針對若干種源代碼的J-Code 編譯器,包括Basic、Lisp 和Forth。源代碼一經(jīng)轉(zhuǎn)換成J-Code以后,JAVA虛擬機就能夠執(zhí)行而不區(qū)分它是由哪種源代碼生成的。這樣做的結(jié)果就是CPU可移植性。 將源程序編譯為J-Code的好處在于可運行于各種機器上,而缺點是它不如本機代碼運行的速度快。

同體系結(jié)構(gòu)無關(guān)的特性使得Java應(yīng)用程序可以在配備了Java解釋器和運行環(huán)境的任何計算機系統(tǒng)上運行,這成為Java應(yīng)用軟件便于移植的良好基礎(chǔ)。但僅僅如此還不夠。如果基本數(shù)據(jù)類型設(shè)計依賴于具體實現(xiàn),也將為程序的移植帶來很大不便。例如在Windows3.1中整數(shù)(Integer)為16bits,在Windows95中整數(shù)為32bits,在DECAlpha中整數(shù)為64bits,在Intel486中為32bits。通過定義獨立于平臺的基本數(shù)據(jù)類型及其運算,Java數(shù)據(jù)得以在任何硬件平臺上保持一致。Java語言的基本數(shù)據(jù)類型及其表示方式如下:byte8-bit二進制補碼short16-bit二進制補碼int32-bit二進制補碼long64-bit二進制補碼float32-bitIEEE754浮點數(shù)double32-bitIEEE754浮點數(shù)char16-bitUnicode字符在任何Java解釋器中,數(shù)據(jù)類型都是依據(jù)以上標(biāo)準(zhǔn)具體實現(xiàn)的。因為幾乎目前使用的所有CPU都能支持以上數(shù)據(jù)類型、8~64位整數(shù)格式的補碼運算和單/雙精度浮點運算。Java編譯器本身就是用Java語言編寫的。Java運算系統(tǒng)的編制依據(jù)POSIX方便移植的限制,用ANSIC語言寫成。Java語言規(guī)范中也沒有任何"同具體實現(xiàn)相關(guān)"的內(nèi)容。

8.解釋的

Java解釋器(運行系統(tǒng))能直接運行目標(biāo)代碼指令。鏈接程序通常比編譯程序所需資源少,所以程序員可以在創(chuàng)建源程序上花上更多的時間。

9.高性能

如果解釋器速度不慢,Java可以在運行時直接將目標(biāo)代碼翻譯成機器指令。Sun用直接解釋器一秒鐘內(nèi)可調(diào)用300,000個過程。翻譯目標(biāo)代碼的速度與C/C++的性能沒什么區(qū)別。

10.多線程

多線程功能使得在一個程序里可同時執(zhí)行多個小任務(wù)。線程--有時也稱小進程--是一個大進程里分出來的小的獨立的進程。因為Java實現(xiàn)的多線程技術(shù),所以比C和C++更鍵壯。多線程帶來的更大的好處是更好的交互性能和實時控制性能。當(dāng)然實時控制性能還取決于系統(tǒng)本身(UNIX,Windows,Macintosh等),在開發(fā)難易程度和性能上都比單線程要好。任何用過當(dāng)前瀏覽器的人,都感覺為調(diào)一副圖片而等待是一件很煩惱的事情。在Java里,你可用一個單線程來調(diào)一副圖片,而你可以訪問HTML里的其它信息而不必等它。

11.動態(tài)

Java的動態(tài)特性是其面向?qū)ο笤O(shè)計方法的發(fā)展。它允許程序動態(tài)地裝入運行過程中所需要的類,這是C++語言進行面向?qū)ο蟪绦蛟O(shè)計所無法實現(xiàn)的。在C++程序設(shè)計過程中,每當(dāng)在類中增加一個實例變量或一種成員函數(shù)后,引用該類的所有子類都必須重新編譯,否則將導(dǎo)致程序崩潰。Java從如下幾方面采取措來解決這個問題。Java編譯器不是將對實例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號引用信息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成動態(tài)連接類后,將符號引用信息轉(zhuǎn)換為數(shù)值偏移量。這樣,一個在存儲器生成的對象不在編譯過程中決定,而是延遲到運行時由解釋器確定的。這樣,對類中的變量和方法進行更新時就不至于影響現(xiàn)存的代碼。解釋執(zhí)行字節(jié)碼時,這種符號信息的查找和轉(zhuǎn)換過程僅在一個新的名字出現(xiàn)時才進行一次,隨后代碼便可以全速執(zhí)行。在運行時確定引用的好處是可以使用已被更新的類,而不必?fù)?dān)心會影響原有的代碼。如果程序連接了網(wǎng)絡(luò)中另一系統(tǒng)中的某一類,該類的所有者也可以自由地對該類進行更新,而不會使任何引用該類的程序崩潰。Java還簡化了使用一個升級的或全新的協(xié)議的方法。如果你的系統(tǒng)運行Java程序時遇到了不知怎樣處理的程序,沒關(guān)系,Java能自動下載你所需要的功能程序。四.與C和C++語言的異同 Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特征。C++安全性不好,但C和C++還是被大家所接受,所以Java設(shè)計成C++形式,讓大家很容易學(xué)習(xí)。Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,并增加了一個很有用的功能,Java去掉了以下幾個C和C++功能和特征:指針運算結(jié)構(gòu)typedefs#define需要釋放內(nèi)存全局變量的定義這個功能都是很容易引起錯誤的地方。

12. Unicode

Java使用Unicode作為它的標(biāo)準(zhǔn)字符,這項特性使得Java的程序能在不同語言的平臺上都能撰寫和執(zhí)行。簡單的說,你可以把程序中的變量、類別名稱使用中文來表示<注>,當(dāng)你的程序移植到其它語言平臺時,還是可以正常的執(zhí)行。Java也是目前所有計算機語言當(dāng)中,唯一天生使用Unicode的語言。

看完這篇關(guān)于java的主要特性是什么的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標(biāo)題:java的主要特性是什么-創(chuàng)新互聯(lián)
文章鏈接:http://muchs.cn/article10/deipgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、Google營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)