国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
什么是JVM
在Java中引入了虛擬機(jī)的概念,即在機(jī)器和編譯程式之間加入了一層抽象的虛擬的機(jī)器。這臺(tái)虛擬的機(jī)器在所有平臺(tái)上都提供給編譯程式一個(gè)的一起的接口。編譯程式只需要面向虛擬機(jī),生成虛擬機(jī)能夠理解的代碼,然后由解釋器來將虛擬機(jī)代碼轉(zhuǎn)換為特定系統(tǒng)的機(jī)器碼執(zhí)行。在Java中,這種供虛擬機(jī)理解的代碼叫做字節(jié)碼(ByteCode),他不面向所有特定的處理器,只面向虛擬機(jī)。每一種平臺(tái)的解釋器是不同的,不過實(shí)現(xiàn)的虛擬機(jī)是相同的。Java源程式經(jīng)過編譯器編譯后變成字節(jié)碼,字節(jié)碼由虛擬機(jī)解釋執(zhí)行,虛擬機(jī)將每一條要執(zhí)行的字節(jié)碼送給解釋器,解釋器將其翻譯成特定機(jī)器上的機(jī)器碼,然后在特定的機(jī)器上運(yùn)行。

  能說,Java虛擬機(jī)是Java語(yǔ)言的基礎(chǔ)。他是Java技術(shù)的重要組成部分。Java虛擬機(jī)是個(gè)抽象的計(jì)算機(jī),和實(shí)際的計(jì)算機(jī)相同,他具有一個(gè)指令集并使用不同的存儲(chǔ)區(qū)域。他負(fù)責(zé)執(zhí)行指令,還要管理數(shù)據(jù)、內(nèi)存和寄存器。Java解釋器負(fù)責(zé)將字節(jié)代碼翻譯成特定機(jī)器的機(jī)器代碼。Java是一種簡(jiǎn)單的語(yǔ)言。他用到的概念不多,而且多為程式員所熟悉。如果你是一名程式員,掌控Java對(duì)你來說是易如反掌的事。即使你沒有學(xué)過所有編程語(yǔ)言,學(xué)習(xí)Java也要比學(xué)習(xí)C++要容易的多。

  由于Java最初是為控制電子產(chǎn)品設(shè)計(jì)的,因此他必須簡(jiǎn)單明了。為了確保這種簡(jiǎn)單性,Java去掉了C++中許多復(fù)雜的、冗余的、有二義性的概念,例如操作符重載、多繼承、數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換等。為了將程式員從復(fù)雜的內(nèi)存管理的負(fù)擔(dān)中解脫出來,同時(shí)也是為了減少錯(cuò)誤,Java使用了自動(dòng)內(nèi)存垃圾收集機(jī)制,程式員只要在需要的時(shí)候申請(qǐng)即可,不必釋放,而由Java自己來收集、釋放內(nèi)存中的無(wú)用的塊。

  和C++相比,Java有著更強(qiáng)的面向?qū)ο筇匦?,是一種比較純粹的面向?qū)ο笳Z(yǔ)言。一般我們使用的一些所謂的面向?qū)ο蟮木幊陶Z(yǔ)言,如C++,Object Pascal等,實(shí)際上都是一種混合型的語(yǔ)言,即在過程式的語(yǔ)言中加上面向?qū)ο蟮臄U(kuò)展。在Java中,幾乎萬(wàn)物皆對(duì)象,就連一些基本數(shù)據(jù)類型,如整型、字符型、浮點(diǎn)型等,在Java中都能作為對(duì)象處理。Java的面向?qū)ο筇匦詭缀跄芎蚐malltalk媲美,不過其適用于分布式計(jì)算環(huán)境的特性卻遠(yuǎn)遠(yuǎn)超過了Smalltalk。

  Java是一種支持分布式操作的程式設(shè)計(jì)語(yǔ)言。使用Java提供的URL類,用戶能象訪問本地文件相同訪問網(wǎng)絡(luò)上的對(duì)象,使用非常方便。在客戶機(jī)/服務(wù)器的模式下,Java還能將運(yùn)算從服務(wù)器端分散到客戶端,提高系統(tǒng)的效率,避免了服務(wù)器的瓶頸制約。Java的網(wǎng)絡(luò)類庫(kù)支持分布式的編程。Socket類提供可靠的流式網(wǎng)絡(luò)的連接,支持TCP/IP協(xié)議。通過編寫協(xié)議句柄,程式員還能擴(kuò)充Java支持的協(xié)議集合。

  Java提供非常有效的安全控制。由于Java應(yīng)用于網(wǎng)絡(luò)程式的研發(fā),因而安全性變的至關(guān)重要。因?yàn)镴ava小程式需要下載到客戶端解釋執(zhí)行,所以,如果沒有安全控制,就會(huì)給一些網(wǎng)絡(luò)黑客以可乘之機(jī),這對(duì)用戶來說是非常危險(xiǎn)的。所幸的是,Java的安全機(jī)制能有效的防止病毒程式的產(chǎn)生、下載程式對(duì)本地文件系統(tǒng)的破壞,及網(wǎng)絡(luò)黑客竊取密碼和入侵。

  Java是一種非常健壯的語(yǔ)言。因?yàn)樵贘ava中使用了以下手段:

  不支持指針。在C++程式中,指針的錯(cuò)誤使用通常的程式中BUG的元兇。在Java中完全去掉了指針,杜絕了內(nèi)存的非法訪問,從而確保了程式的可靠性。

  強(qiáng)類型語(yǔ)言

  自動(dòng)內(nèi)存垃圾收集機(jī)制。Java自動(dòng)收集無(wú)用的內(nèi)存單元,進(jìn)而防止了由于內(nèi)存泄漏導(dǎo)致的動(dòng)態(tài)內(nèi)存分配問題。

  完善的異常處理機(jī)制,既簡(jiǎn)化了錯(cuò)誤處理任務(wù)和恢復(fù),也增加了程式的可讀性。

  Java具有非常好的平臺(tái)無(wú)關(guān)性和可移植性。因?yàn)镴ava最初是為對(duì)電子產(chǎn)品編程而設(shè)計(jì)的,所以他具有完美的平臺(tái)無(wú)關(guān)性。他使用一種和平臺(tái)無(wú)關(guān)的代碼──字節(jié)碼,而不是通常的特定機(jī)器上的機(jī)器碼,由平臺(tái)上的Java虛擬機(jī)中的Java解釋器解釋執(zhí)行。Java虛擬機(jī)是免費(fèi)的,在許多平臺(tái)上都有。

  Java提供了良好的可移植性。使用Java作為編程語(yǔ)言,只要進(jìn)行一次程式研發(fā)工作,所研發(fā)的程式不必經(jīng)過所有改動(dòng),便能在各種平臺(tái)上運(yùn)行。Java使用兩種方法使Java的應(yīng)用程式不依賴和具體的系統(tǒng):

  采用基于國(guó)際標(biāo)準(zhǔn)的數(shù)據(jù)類型。Java的原始數(shù)據(jù)類型在所有機(jī)器上都是相同的,例如整型總是32位,長(zhǎng)整型總是64位等。

  提供了一個(gè)用于訪問底層操作系統(tǒng)功能的可擴(kuò)展類庫(kù)。

  Java是一種高性能的語(yǔ)言。“魚和熊掌不可兼得”,通常,健壯性、安全性、平臺(tái)無(wú)關(guān)性、可移植性等方面的提高總是要以犧牲性能為代價(jià)的。Java也不例外,Java的內(nèi)存管理增加了運(yùn)行時(shí)系統(tǒng)的復(fù)雜性,因?yàn)镴ava運(yùn)行時(shí)系統(tǒng)必須內(nèi)嵌一個(gè)內(nèi)存管理模塊;同樣,Java程式的解釋執(zhí)行的效率也要低于直接執(zhí)行編譯后的源碼的效率。不過Java采用了一些非常好的措施來彌補(bǔ)這些性能上的差距:

  生成高效的字節(jié)碼。Java字節(jié)碼的設(shè)計(jì)充分考慮了性能的因素,字節(jié)碼的格式簡(jiǎn)單,解釋器能生成高效的機(jī)器碼。

  提供了即時(shí)編譯和嵌入C代碼的可選措施。即時(shí)編譯是指在運(yùn)行時(shí)把字節(jié)碼編譯成機(jī)器碼。支持多線程。Java提供了對(duì)多線程的語(yǔ)言級(jí)的接口,而且Java環(huán)境本身就是多線程的。

  Java對(duì)多線程有良好的支持。多線程技術(shù)能提高程式執(zhí)行的并發(fā)度,提高圖像用戶界面的交互性能。Java提供了語(yǔ)言內(nèi)置的多線程控制,簡(jiǎn)化了多線程應(yīng)用程式的研發(fā),還支持線程的同步控制。

  Java是一種動(dòng)態(tài)的語(yǔ)言。動(dòng)態(tài)特性是面向?qū)ο筇匦缘囊粋€(gè)延伸,他使得程式能夠適應(yīng)不斷變化的執(zhí)行環(huán)境。Java的動(dòng)態(tài)性主要表目前以下幾個(gè)方面:

  Java的類有運(yùn)行時(shí)的表示,這樣,即使在運(yùn)行時(shí)刻,程式也能辨別類之間的關(guān)系和類型信息,能動(dòng)態(tài)的從本地或網(wǎng)上把一個(gè)類鏈接到運(yùn)行系統(tǒng)中去。

  后期聯(lián)編。Java的類在運(yùn)行過程中動(dòng)態(tài)的裝載,因此,Java能在分布式的環(huán)境中動(dòng)態(tài)的維護(hù)應(yīng)用程式和Java類庫(kù)之間的一致性。當(dāng)類庫(kù)升級(jí)后,應(yīng)用程式無(wú)需重新編譯,也相同能利用新類庫(kù)中新增的功能。

  支持動(dòng)態(tài)數(shù)據(jù)類型和動(dòng)態(tài)協(xié)議。通過編寫協(xié)議句柄,Java能支持新的、自定義的傳輸協(xié)議,編寫內(nèi)容句柄,能支持新的數(shù)據(jù)類型。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java基礎(chǔ):JVM(Java 虛擬機(jī))的詳細(xì)講解
JAVA跨平臺(tái)原理
JAVA程序設(shè)計(jì) 第二課
Java虛擬機(jī) JVM的介紹
快速了解Java
面試官:什么是字節(jié)碼?它最大的優(yōu)勢(shì)是什么?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服