版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java中的四個(gè)核心技術(shù)思想Java已經(jīng)成為一個(gè)龐大而復(fù)雜的技術(shù)平臺(tái),對(duì)于開(kāi)發(fā)人員而言,要想更好的掌握J(rèn)ava技術(shù),深入理解底層的技術(shù)處理細(xì)節(jié)必不可少。對(duì)核心概念和思想的掌握可以幫助我們舉一反三、觸類旁通,有助于提升我們對(duì)整個(gè)Java平臺(tái)的理解力。這里所介紹的是Java技術(shù)平臺(tái)的幾個(gè)核心概念,其中所蘊(yùn)含的思想有助于我們更深刻的理解Java技術(shù)。Java虛擬機(jī)Java虛擬機(jī)的主要任務(wù)是裝在class文件并且執(zhí)行其中的字節(jié)碼。Java虛擬機(jī)
2、包含一個(gè)類裝載器,它可以從程序和API中裝載class文件。JavaAPI中只有程序執(zhí)行時(shí)需要的那些類才會(huì)被裝載。字節(jié)碼由執(zhí)行引擎來(lái)執(zhí)行。不同的Java虛擬機(jī)中,執(zhí)行引擎可能實(shí)現(xiàn)得非常不同。在由軟件實(shí)現(xiàn)的虛擬機(jī)中,最簡(jiǎn)單的執(zhí)行引擎就是一次性解釋字節(jié)碼。另一種執(zhí)行引擎更快,但是也更消耗內(nèi)存,叫做“即時(shí)編譯器(justintimecompiler)“。在這種情況下,第一次被執(zhí)行的字節(jié)碼會(huì)被編譯成本地機(jī)器代碼。編譯出的本地機(jī)器代碼會(huì)被緩存,當(dāng)
3、方法以后被調(diào)用的時(shí)候可以重用。第三種執(zhí)行引擎是自適應(yīng)優(yōu)化器。在這種方法里,虛擬機(jī)開(kāi)始的時(shí)候解釋字節(jié)碼,但是會(huì)監(jiān)視運(yùn)行中程序的活動(dòng),并且記錄下使用最頻繁的代碼段。程序運(yùn)行的時(shí)候,虛擬機(jī)只把那些活動(dòng)最頻繁的代碼編譯成本地代碼,其他的代碼由于使用得不是很頻繁,繼續(xù)保留為字節(jié)碼由虛擬機(jī)繼續(xù)解釋它們。一個(gè)自適應(yīng)的優(yōu)化器可以使得Java虛擬機(jī)在80%~90%的時(shí)間里執(zhí)行被優(yōu)化過(guò)的本地代碼,而只需要編譯10%~20%的對(duì)性能有影響的代碼。機(jī)實(shí)現(xiàn)的本質(zhì)
4、部分,而用戶定義的類裝載器不是,但用戶定義的類裝載器能夠用Java來(lái)編寫(xiě)能夠被編譯成class文件,能夠被虛擬機(jī)裝載,還能夠像其它對(duì)象一樣實(shí)例化。由于有用戶定義類裝載器,所以不必再編譯的時(shí)候就知道運(yùn)行中的Java應(yīng)用程序中最終會(huì)加入的所有的類。用戶定義的類裝載器使得在運(yùn)行擴(kuò)展Java應(yīng)用程序成為可能。當(dāng)它運(yùn)行時(shí),應(yīng)用程序能夠解決它需要哪些額外的類,能夠決定是使用一個(gè)或是更多的用戶定義的類裝載器來(lái)裝載。由于類裝載器是用Java編寫(xiě)的,所以
5、用任何在Java代碼中可以表述的風(fēng)格來(lái)進(jìn)行類裝載。這些類可以通過(guò)網(wǎng)絡(luò)下載,可以從某些數(shù)據(jù)庫(kù)中獲取,甚至可以動(dòng)態(tài)生成。每一個(gè)類被裝載的時(shí)候,Java虛擬機(jī)都監(jiān)視這個(gè)類,看到它到底是被啟動(dòng)類裝載器還是被用戶定義類裝載器裝載。當(dāng)被裝載的類引用了另外一個(gè)類時(shí),虛擬機(jī)就會(huì)使用裝載第一個(gè)類的類裝載器裝載引用的類。例如,如果虛擬機(jī)使用一個(gè)特定的類裝載器裝載Volcano這個(gè)類,它就會(huì)使用這個(gè)類裝載器裝載Volcano類使用的所有類。由于Java虛擬機(jī)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java核心技術(shù)習(xí)題答案
- java核心技術(shù) 卷ⅱ高級(jí)特性
- java核心技術(shù) 卷ⅱ高級(jí)特性
- 外文翻譯---java核心技術(shù) 卷ⅱ高級(jí)特性
- 四大核心技術(shù)
- java內(nèi)存分配與管理是java的核心技術(shù)之一
- google的十個(gè)核心技術(shù)
- 養(yǎng)鵝核心技術(shù)解讀(四)
- 核心技術(shù)
- 打造高效管理團(tuán)隊(duì)的四個(gè)核心
- google核心技術(shù)
- 計(jì)算機(jī)類外文文獻(xiàn)翻譯---java核心技術(shù)
- google的核心技術(shù)
- 節(jié)能核心技術(shù)
- 核心技術(shù)kt
- 把握思想特征的四個(gè)維度
- cpu核心技術(shù)揭密
- 超市經(jīng)營(yíng)的核心技術(shù)
- 核心技術(shù)是根本
- 學(xué)習(xí)“四個(gè)意識(shí)”思想?yún)R報(bào)
評(píng)論
0/150
提交評(píng)論