国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

Java語言設(shè)計的目標

2023-06-10 12:43:01
字體:
供稿:網(wǎng)友

雖然催生Java的源動力是可移植性和安全性,但是在其最終成型的過程中其他因素也起了重要作用,下面是Java開發(fā)小組總結(jié)的Java的關(guān)鍵特性(設(shè)計目標):

(1)簡單(Simple)——易學好用,繼承了C/C++的語法和許多C++的面向?qū)ο筇卣鳌Hサ袅薈++中的一些復雜困難的東西(如頭文件、預處理、結(jié)構(gòu)、聯(lián)合、多重繼承、操作符重載、[模板]等),使語言更加精簡。

(2)安全(Secure)——為了適應分布式網(wǎng)絡(luò)環(huán)境,采用基于策略(policy)的沙箱(sandbox)模型,在語言層次上實現(xiàn)了安全性。具有如下三個方面的安全保證:語言特性(包括檢查數(shù)組邊界、限制類型轉(zhuǎn)換、取消指針變量等)、資源訪問控制(包括本地文件系統(tǒng)訪問和連接訪問網(wǎng)絡(luò)等)和代碼數(shù)字簽名(通過數(shù)字簽名確認源代碼源以及代碼是否完整)。

(3)可移植(Portable)——定長的整數(shù)型類型,如int始終為32位,而C/C++中的int在Win16、Win32和Win64平臺上分別為16位、32位和64位。固定的多字節(jié)整數(shù)二進制格式,采用統(tǒng)一的高位字節(jié)在前的方案(Intel CPU中的多字節(jié)整數(shù)的低位字節(jié)在前)。統(tǒng)一的用戶界面(AWT/Swing [/SWT])。

(4)面向?qū)ο螅∣bject Oriented)——由于沒有設(shè)計C++時兼容C的負擔,從零開始設(shè)計的Java具有更純潔的OOP特性。但是為了高性能,仍然保留了基本數(shù)據(jù)類型的非對象性。在OOP方面與C++的區(qū)別主要有單一類繼承、接口、反射等。

(5)健壯(Robust)——異構(gòu)網(wǎng)絡(luò)環(huán)境要求程序可靠運行。采用的措施有:避免內(nèi)存錯誤(取消指針變量、提供內(nèi)存管理——自動分配和釋放內(nèi)存[垃圾內(nèi)存自動回收])、強制異常處理等,可對潛在的問題進行早期和動態(tài)的檢查。

(6)多線程(Multithreaded)——交互式網(wǎng)絡(luò)化的多任務(wù)程序(如Web服務(wù)器)及多核CPU都要求多線程。Java提供了語言級的多線程支持,JVM也具有成熟的線程同步解決方案。

(7)體系結(jié)構(gòu)中立(Architecture Neutral)——通過JVM和字節(jié)碼,Java實現(xiàn)了體系結(jié)構(gòu)中立(與計算機硬件和操作系統(tǒng)無關(guān))。跨平臺是Java最重要的特征和最大的優(yōu)點,“一次編寫、到處運行”(Write Once, Run Anywhere,WORA)是Java的口號。正是跨平臺的特點,使得Java語言特別適合于網(wǎng)絡(luò)編程。

(8)解釋型(Interpreted)——與Fortran、Pascal、C/C++等編譯型高級語言不同,Java是一種(編譯性)解釋語言:Java語言的源程序(*.java),先通過Java編譯器編譯成特殊的字節(jié)碼(*.class),然后由目標機上JVM將字節(jié)碼解釋(翻譯成本機CPU指令代碼)執(zhí)行。解釋型是JVM的需要,也是跨平臺的基礎(chǔ)。

(9)高性能(High Performance)——與追求速度的編譯型語言相比,解釋型語言在本質(zhì)上是低性能的,這也是Java語言跨平臺的代價。為了克服Java程序運行慢的缺點,可用JIT(Just-In-Time,及時)編譯器,在程序的第一次運行時將(部分)字節(jié)碼先轉(zhuǎn)換成本機代碼,以提高Java程序的運行速度。

(10)分布式(Distributed)或理解網(wǎng)絡(luò)(Network-Savvy)——Java是為因特網(wǎng)的分布式環(huán)境設(shè)計的,所以它支持TCP/IP協(xié)議、URL資源訪問和RMI(Remote Method Invocation,遠程方法調(diào)用)。

(11)動態(tài)(Dynamic)——Java程序帶有大量運行時的類型信息,用于在運行時的驗證和解決對象的訪問問題。這使得在安全有效的方式下動態(tài)連接代碼成為可能。程序員可從因特網(wǎng)上下載代碼運行(瀏覽器),可全面控制對象的行為,如在特定的系統(tǒng)要求下,在運行時分析對象(如GUI構(gòu)建器、智能調(diào)試器、可插式組件、對象數(shù)據(jù)庫等)。

Java語言主要優(yōu)勢是跨平臺和安全(及類庫豐富),主要缺點是運行速度慢和圖形界面較差,主要適用范圍是(服務(wù)器端的)網(wǎng)絡(luò)編程。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄱阳县| 塔河县| 焦作市| 长春市| 平顺县| 长治县| 甘南县| 南和县| 枣强县| 绍兴市| 色达县| 广水市| 天台县| 永州市| 巴青县| 湄潭县| 三都| 贺州市| 莎车县| 五峰| 湘潭市| 霍山县| 荣昌县| 鄂伦春自治旗| 志丹县| 凤凰县| 临汾市| 利辛县| 鹤山市| 南宫市| 东丽区| 时尚| 乐平市| 同仁县| 霍城县| 阳泉市| 虞城县| 巴东县| 延津县| 广东省| 南漳县|