3.分布性
Java是面向網(wǎng)絡(luò)的語言。通過它提供的類庫可以處理TCP/IP協(xié)議,用戶可以通過URL地址在網(wǎng)絡(luò)上很方便地訪問其它對象。
4.魯棒性
Java在編譯和運(yùn)行程序時(shí),都要對可能出現(xiàn)的問題進(jìn)行檢查,以消除錯(cuò)誤的產(chǎn)生。它提供自動(dòng)垃圾收集來進(jìn)行內(nèi)存管理,防止程序員在管理內(nèi)存時(shí)容易產(chǎn)生的錯(cuò)誤。通過集成的面向?qū)ο蟮睦馓幚頇C(jī)制,在編譯時(shí),Java提示出可能出現(xiàn)但未被處理的例外,幫助程序員正確地進(jìn)行選擇以防止系統(tǒng)的崩潰。另外,Java在編譯時(shí)還可捕獲類型聲明中的許多常見錯(cuò)誤,防止動(dòng)態(tài)運(yùn)行時(shí)不匹配問題的出現(xiàn)。
5.安全性
用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵。Java不支持指針,一切對內(nèi)存的訪問都必須通過對象的實(shí)例變量來實(shí)現(xiàn),這樣就防止程序員使用"特洛伊"木馬等欺騙手段訪問對象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。
6.體系結(jié)構(gòu)中立
Java解釋器生成與體系結(jié)構(gòu)無關(guān)的字節(jié)碼指令,只要安裝了Java運(yùn)行時(shí)系統(tǒng),Java程序就可在任意的處理器上運(yùn)行。這些字節(jié)碼指令對應(yīng)于Java虛擬機(jī)中的表示,Java解釋器得到字節(jié)碼后,對它進(jìn)行轉(zhuǎn)換,使之能夠在不同的平臺運(yùn)行。
7.可移植性
與平臺無關(guān)的特性使Java程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器。同時(shí),Java的類庫中也實(shí)現(xiàn)了與不同平臺的接口,使這些類庫可以移植。另外,Java編譯器是由Java語言實(shí)現(xiàn)的,Java運(yùn)行時(shí)系統(tǒng)由標(biāo)準(zhǔn)C實(shí)現(xiàn),這使得Java系統(tǒng)本身也具有可移植性。
8.解釋執(zhí)行
Java解釋器直接對Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)碼本身攜帶了許多編譯時(shí)信息,使得連接過程更加簡單。
9.高性能
和其它解釋執(zhí)行的語言如BASIC、TCL不同,Java字節(jié)碼的設(shè)計(jì)使之能很容易地直接轉(zhuǎn)換成對應(yīng)于特定CPU的機(jī)器碼,從而得到較高的性能。
10.多線程
多線程機(jī)制使應(yīng)用程序能夠并行執(zhí)行,而且同步機(jī)制保證了對共享數(shù)據(jù)的正確操作。通過使用多線程,程序設(shè)計(jì)者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易地實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互行為。
11.動(dòng)態(tài)性
Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境。在類庫中可以自由地加入新的方法和實(shí)例變量而不會影響用戶程序的執(zhí)行。并且Java通過接口來支持多重繼承,使之比嚴(yán)格的類繼承具有更靈活的方式和擴(kuò)展性。
二、JavaApplet
Java語言的特性使它可以最大限度地利用網(wǎng)絡(luò)。Applet是Java的小應(yīng)用程序,它是動(dòng)態(tài)、安全、跨平臺的網(wǎng)絡(luò)應(yīng)用程序。JavaApplet嵌入HTML語言,通過主頁發(fā)布到Internet。網(wǎng)絡(luò)用戶訪問服務(wù)器的Applet時(shí),這些Applet從網(wǎng)絡(luò)上進(jìn)行傳輸,然后在支持Java的瀏覽器中運(yùn)行。由于Java語言的安全機(jī)制,用戶一旦載入Applet,就可以放心地來生成多媒體的用戶界面或完成復(fù)雜的計(jì)算而不必?fù)?dān)心病毒的入侵。雖然Applet可以和圖像、聲音、動(dòng)畫等一樣從網(wǎng)絡(luò)上下載,但它并不同于這些多媒體的文件格式,它可以接收用戶的輸入,動(dòng)態(tài)地進(jìn)行改變,而不僅僅是動(dòng)畫的顯示和聲音的播放。
三、豐富的類庫
Java提供了大量的類以滿足網(wǎng)絡(luò)化、多線程、面向?qū)ο笙到y(tǒng)的需要。
1.語言包提供的支持包括字符串處理、多線程處理、例外處理、數(shù)學(xué)函數(shù)處理等,可以用它簡單地實(shí)現(xiàn)Java程序的運(yùn)行平臺。
2.實(shí)用程序包提供的支持包括哈希表、堆棧、可變數(shù)組、時(shí)間和日期等。
3.輸入輸出包用統(tǒng)一的"流"模型來實(shí)現(xiàn)所有格式的I/O,包括文件系統(tǒng)、網(wǎng)絡(luò)、輸入/出設(shè)備等。
4.低級網(wǎng)絡(luò)包用于實(shí)現(xiàn)Socket編程。
5.抽象圖形用戶接口包實(shí)現(xiàn)了不同平臺的計(jì)算機(jī)的圖形用戶接口部件,包括窗口、菜單、滾動(dòng)條、對話框等,使得Java可以移植到不同平臺的機(jī)器。
6.網(wǎng)絡(luò)包支持Internet的TCP/IP協(xié)議,提供了與Internet的接口。它支持URL連接,WWW的即時(shí)訪問,并且簡化了用戶/服務(wù)器模型的程序設(shè)計(jì)。
相關(guān)推薦:
2014年計(jì)算機(jī)等考上機(jī)六大注意事項(xiàng)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |