Java語言優(yōu)點
Java語言最大的優(yōu)點是它的跨平臺性。下面是小編為大家整理的Java語言優(yōu)點,歡迎參考~
Java語言的優(yōu)點
Java語言最大的優(yōu)點是它的跨平臺性。一次編寫,到處運行。能始終如一的在任何平臺上運行,使得系統(tǒng)的移植、平臺的遷移變得十分容易。其他優(yōu)點如下。
簡單易學(xué):Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂,是很容易學(xué)習(xí)的。
面向?qū)ο螅篔ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為implement)。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定?傊琂ava語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。
安全性:Java語言不支持指針,只有通過對象的實例才能訪問內(nèi)存,使應(yīng)用更加安全。
可移植性:這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。
對對象技術(shù)的全面支持和平臺內(nèi)嵌的API使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護費用。
【相關(guān)閱讀】Java工作原理
Java語言引入了Java虛擬機,具有跨平臺運行的功能,能夠很好地適應(yīng)各種Web應(yīng)用。同時,為了提高Java語言的性能和健壯性,還引入了如垃圾回收機制等的新功能,通過這些改進讓Java具有其獨特的工作原理。
Java虛擬機(JVM)
Java虛擬機(Java Virtual Machine,JVM)是軟件模擬的計算機。JVM是Java平臺的核心,它可以在任何處理器上(無論是在計算機中還是在其他電子設(shè)備中)安全、兼容地執(zhí)行保存在.class文件中的字節(jié)碼。Java虛擬機的“機器碼”保存在.class文件中,有時也可以稱為字節(jié)碼文件。
Java虛擬機的簡歷需要針對不同的軟硬件平臺來實現(xiàn),既要考慮處理器的型號,也要考慮操作系統(tǒng)的種類。由此在SPARC結(jié)構(gòu)、X86結(jié)構(gòu)、MIPS和PPC等嵌入式處理芯片上,在UNIX、Linux、Windows和部分實時操作系統(tǒng)上都可以實現(xiàn)Java虛擬機。
為了讓編譯產(chǎn)生的字節(jié)碼能更好的解釋與執(zhí)行,把Java虛擬機分成了6個部分:JVM解釋器、JVM指令系統(tǒng)、寄存器、棧、存儲區(qū)和碎片回收區(qū)。
JVM解釋器:虛擬機處理字段碼的CPU。
JVM指令系統(tǒng):該系統(tǒng)和計算機很相似,一條指令由操作碼和操作數(shù)兩部分組成。操作碼為8位二進制數(shù),主要是為了說明一條指令的功能,操作數(shù)可以根據(jù)需要而定,JVM有256種不同的操作指令。
寄存器:JVM有自己的虛擬寄存器,這樣就可以快速地與JVM的解釋器進行數(shù)據(jù)交換。為了功能的需要,JVM設(shè)置了4個常用的32位寄存器:pc(程序計數(shù)器)、optop(操作數(shù)棧頂指針)、frame(當(dāng)前執(zhí)行環(huán)境指針)和vars(指向當(dāng)前執(zhí)行環(huán)境中第一個局部變量的指針)。
JVM棧:是指令執(zhí)行時數(shù)據(jù)和信息存儲的場所的控制中心,它提供給JVM解釋器運算所需要的`信息。
存儲區(qū):JVM存儲區(qū)用于存儲編譯過的字節(jié)碼等信息。
碎片回收區(qū):JVM碎片回收是指將使用過的Java類的具體實例從內(nèi)存中進行回收,這就使得開發(fā)人員避免自己編程控制內(nèi)存的麻煩和危險。隨著JVM的不斷升級,其碎片回收的技術(shù)和算法也更加合理。JVM 1.4.1版后產(chǎn)生了一種分代收集技術(shù),簡單來說就是依據(jù)對象在程序中生存的時間劃分成代,以此為標準進行碎片回收。
無用內(nèi)存自動回收機制
在程序的執(zhí)行過程中,部分內(nèi)存在使用過后就處于廢棄狀態(tài),如果不及時進行回收,很有可能導(dǎo)致內(nèi)存泄露,進而引發(fā)系統(tǒng)崩潰。在C++語言中是由程序員進行內(nèi)存回收的,程序員需要在編寫程序時把不再使用的對象內(nèi)存釋放掉,這種人為管理內(nèi)存釋放的方法往往會因程序員的疏忽而致使內(nèi)存無法回收,同時也增加程序員的工作量。而在Java運行環(huán)境中,始終存在著一個系統(tǒng)級的線程,專門跟蹤內(nèi)存的使用情況,定期檢測出不再使用的內(nèi)存,并自動進行回收,避免了內(nèi)存的泄露,也減輕了程序員的工作量。
代碼安全性檢查機制
安全和方便總是相對矛盾的。Java編程語言的出現(xiàn)使得客戶端計算機可以方便的從網(wǎng)絡(luò)中上傳或下載Java程序到本地計算機上運行,但是如何保證該Java程序不攜帶病毒或沒有其他危險目的呢?為了確保Java程序執(zhí)行的安全性,Java語言通過Applet程
【Java語言優(yōu)點】相關(guān)文章:
Java語言的優(yōu)點07-12
Java語言的優(yōu)點介紹07-01
淺談Java語言的優(yōu)點06-01
java語言有哪些優(yōu)點10-14
java語言優(yōu)點是什么07-14
Java語言的優(yōu)點有哪些08-15
JAVA語言的八大優(yōu)點07-26
JAVA語言的八大優(yōu)點是什么08-24
Java 語言概述09-05
java語言基礎(chǔ)08-29