• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Java虛擬機(jī)的自適應(yīng)動(dòng)態(tài)優(yōu)化

      2014-04-26 02:48:54賀蘊(yùn)彬
      科技創(chuàng)新與應(yīng)用 2014年13期
      關(guān)鍵詞:自適應(yīng)

      賀蘊(yùn)彬

      摘 要:文章闡述了Java虛擬機(jī)的概括,分析了Java虛擬機(jī)的特點(diǎn),對(duì)Java虛擬機(jī)的體系結(jié)構(gòu)進(jìn)行了描述。針對(duì)Java虛擬機(jī)的自適應(yīng)動(dòng)態(tài)優(yōu)化,文章做了深入分析。最后對(duì)Java虛擬機(jī)的自適應(yīng)動(dòng)態(tài)優(yōu)化框架以圖示的方式進(jìn)行了研究。

      關(guān)鍵詞:Java虛擬機(jī);自適應(yīng);動(dòng)態(tài)優(yōu)化

      1 Java虛擬機(jī)概述

      Java虛擬機(jī)(Java virtual machine)作為一種具有抽象意義的計(jì)算機(jī)系統(tǒng),可以在具體的計(jì)算機(jī)上對(duì)多種計(jì)算機(jī)功能進(jìn)行仿真模擬,以此來(lái)實(shí)現(xiàn)特定的需求。Java Virtual Machine具有中央處理器、寄存器以及堆棧等一套完備的硬件體系,也具備成熟的指令系統(tǒng)。為了實(shí)現(xiàn)Java程序可以在多種平臺(tái)上不需要修改就可以運(yùn)行,可以依托Java virtual machine,通過(guò)Java程序生成相應(yīng)代碼來(lái)運(yùn)行即可。

      2 Java虛擬機(jī)的特點(diǎn)

      通常,Java語(yǔ)言與其所運(yùn)行的平臺(tái)無(wú)關(guān),這是Java語(yǔ)言的一個(gè)重要特點(diǎn)。其關(guān)鍵在于應(yīng)用了ava virtual machine。使用其他高級(jí)語(yǔ)言編寫的程序,如果需要運(yùn)行在不同的平臺(tái),則要編譯為多種不同的目標(biāo)程序。而借助ava virtual machine,java語(yǔ)言不需要重新編輯即可在不同平臺(tái)上運(yùn)行。Java virtual machine執(zhí)行目標(biāo)代碼時(shí),把目標(biāo)代碼解讀為特定平臺(tái)上的機(jī)器指令來(lái)遵循。

      3 Java虛擬機(jī)的體系結(jié)構(gòu)

      Java virtual machine可以通過(guò)不同廠商來(lái)實(shí)現(xiàn),則因廠商的不同而造成Java virtual machine實(shí)現(xiàn)上的不同,但這不影響Java virtual machine的跨平臺(tái)特性,這是因?yàn)镴ava virtual machine獨(dú)特的體系結(jié)構(gòu)。

      Java virtual machine內(nèi)部的抽象的體系結(jié)構(gòu)由存儲(chǔ)器、指令、數(shù)據(jù)類型和子系統(tǒng)組成。這些都提供了一種方式,可以對(duì)外部行為進(jìn)行定義。Java virtual machine的機(jī)制有兩種,類裝載系統(tǒng)用于裝載合適的類,運(yùn)行引擎用來(lái)執(zhí)行已經(jīng)裝載的類的指令。每個(gè)Java virtual machine由堆、方法區(qū)、程序計(jì)數(shù)器、Java棧以及被你的方法棧,同時(shí),搭配了運(yùn)行引擎和類裝載共同構(gòu)成了Java virtual machine的體系結(jié)構(gòu)(如下圖所示)。

      4 Java虛擬機(jī)的自適應(yīng)動(dòng)態(tài)優(yōu)化

      Java virtual machine類似于抽象意義上的堆棧計(jì)算機(jī),其作用是裝載類文件,然后運(yùn)行其目標(biāo)代碼,目標(biāo)代碼的操作次數(shù)都源于堆?!,F(xiàn)在,常見(jiàn)的處理器都采用寄存器結(jié)構(gòu),所以,Java virtual machine要對(duì)這些針對(duì)堆棧的命令通過(guò)即時(shí)編輯機(jī)或解釋機(jī)進(jìn)行解釋,解讀為寄存器可以執(zhí)行的指令。在解釋和執(zhí)行的次序上是解釋一次執(zhí)行一次,并不包括解釋后的機(jī)器指令。如果需要多次執(zhí)行目標(biāo)程序,就要多次解釋執(zhí)行。但即時(shí)編譯機(jī)會(huì)把首次執(zhí)行的程序翻譯為本地程序,并在內(nèi)存中緩存代碼,后續(xù)可以再次調(diào)用而實(shí)現(xiàn)該方法的復(fù)用。

      Java virtual machine可以動(dòng)態(tài)自適應(yīng)去裝載,這種動(dòng)態(tài)自適應(yīng)裝載類的模式促進(jìn)了Java的靈活的網(wǎng)絡(luò)性質(zhì)。Java virtual machine既能裝載本地的類程序,也可以對(duì)網(wǎng)絡(luò)上的類進(jìn)行裝載。Java virtual machine為了安全地管理這些不同裝載器裝載的類,對(duì)其擬定了不同的名字,以此,Java virtual machine能夠依照名字把代碼列入不同的類型,然后對(duì)不同類型的代碼執(zhí)行不同的操作。

      作為Java virtual machine的重要優(yōu)化方法的內(nèi)聯(lián),難以實(shí)現(xiàn)面向?qū)ο蟮膭?dòng)態(tài)編程語(yǔ)言。所以,基于Java的程序可以在運(yùn)行的同時(shí)改變不同的調(diào)用模式,也可以動(dòng)態(tài)裝載不同的Java程序以應(yīng)對(duì)不同的需求。

      面向全局進(jìn)行分析的內(nèi)聯(lián),因?yàn)閯?dòng)態(tài)的裝載而增加了復(fù)雜性。程序的全局關(guān)系被其改變,則新加載的類程序就需要被內(nèi)聯(lián)。因此,Java virtual machine要?jiǎng)討B(tài)的優(yōu)化之前優(yōu)化過(guò)的程序,或者在執(zhí)行熱點(diǎn)代碼的同時(shí),進(jìn)行這種動(dòng)態(tài)優(yōu)化。否則,一般的內(nèi)聯(lián)優(yōu)化就不能系統(tǒng)地進(jìn)行執(zhí)行。

      5 Java虛擬機(jī)的自適應(yīng)的動(dòng)態(tài)優(yōu)化框架

      Trace緩沖區(qū)、插樁器和動(dòng)態(tài)優(yōu)化策略挑選機(jī)共同構(gòu)成了Java虛擬機(jī)的自適應(yīng)動(dòng)態(tài)優(yōu)化框架。在即時(shí)編譯機(jī)中,插樁器執(zhí)行對(duì)訪問(wèn)對(duì)象的指令開(kāi)展插樁,來(lái)獲取Java對(duì)訪問(wèn)對(duì)象的相關(guān)信息。程序運(yùn)行中的對(duì)象信息存放在Trace緩沖區(qū)里。動(dòng)態(tài)優(yōu)化策略挑選機(jī)參展緩沖區(qū)里的信息動(dòng)態(tài)選擇對(duì)Java程序的自適應(yīng)優(yōu)化策略。

      上圖描述了Trace緩沖區(qū)的構(gòu)成。這是48KB的緩沖區(qū),其中的每一個(gè)單元是12字節(jié)。緩沖區(qū)的寫入是自上而下。緩沖區(qū)的頂部和底部分別用不同的名稱代表(如圖所示)。緩沖區(qū)再向下部分不可寫。應(yīng)用程序把數(shù)據(jù)寫入緩沖區(qū),溢出后,就產(chǎn)生錯(cuò)誤代碼。即時(shí)編輯機(jī)編譯Java目標(biāo)代碼,把與平臺(tái)無(wú)關(guān)的代碼翻譯為與平臺(tái)相關(guān)的機(jī)器指令。編譯器會(huì)在編譯時(shí)識(shí)別該模式中的指令,并對(duì)應(yīng)開(kāi)始插樁,同時(shí)手機(jī)訪問(wèn)對(duì)象的情況。編輯后,Java程序在運(yùn)行的過(guò)程中把訪問(wèn)對(duì)象的信息灌輸?shù)骄彌_區(qū)里,寫滿緩沖區(qū)后,程序提醒,Java virtual machine獲取提醒,然后通知?jiǎng)討B(tài)優(yōu)化策略挑選器來(lái)執(zhí)行優(yōu)化。優(yōu)化后,Java程序返回起始點(diǎn)再執(zhí)行。

      參考文獻(xiàn)

      [1]李錫祚,霍華,胡冠.嵌入式 Java 虛擬機(jī)優(yōu)化研究[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(7):257-259.

      [2]鄧洋春.Java虛擬機(jī)關(guān)鍵機(jī)制研究與實(shí)踐[D].中南大學(xué),2009.

      [3]吳志軍,何加銘,曾興斌,等.基于嵌入式Java虛擬機(jī)的垃圾收集優(yōu)化算法[J].計(jì)算機(jī)工程,2012,38(7):46-48.

      [4]陳灝,陳榕.支持復(fù)合對(duì)象的Java虛擬機(jī)內(nèi)存管理技術(shù)研究[J].電腦知識(shí)與技術(shù),2011,7(22):5356-5359.

      [5]趙銀亮,朱常鵬,韓博,等.以虛擬機(jī)為核心實(shí)現(xiàn)動(dòng)態(tài)行為調(diào)整的方法[J].西安交通大學(xué)學(xué)報(bào),2013,47(6):6-11.

      猜你喜歡
      自適應(yīng)
      散亂點(diǎn)云的自適應(yīng)α—shape曲面重建
      淺談網(wǎng)絡(luò)教育領(lǐng)域的自適應(yīng)推送系統(tǒng)
      以數(shù)據(jù)為中心的分布式系統(tǒng)自適應(yīng)集成方法
      自適應(yīng)的智能搬運(yùn)路徑規(guī)劃算法
      科技視界(2016年26期)2016-12-17 15:53:57
      Ka頻段衛(wèi)星通信自適應(yīng)抗雨衰控制系統(tǒng)設(shè)計(jì)
      電子節(jié)氣門非線性控制策略
      汽車科技(2016年5期)2016-11-14 08:03:52
      多天線波束成形的MIMO-OFDM跨層自適應(yīng)資源分配
      適應(yīng)性學(xué)習(xí)系統(tǒng)的參考模型對(duì)比研究
      分析,自適應(yīng)控制一個(gè)有乘積項(xiàng)的混沌系統(tǒng)
      基于參數(shù)自適應(yīng)蟻群算法對(duì)多目標(biāo)問(wèn)題的優(yōu)化
      桦南县| 睢宁县| 阿合奇县| 和平县| 鄂尔多斯市| 三台县| 江孜县| 呼和浩特市| 丹巴县| 禄丰县| 定兴县| 高密市| 会泽县| 宜兰市| 台安县| 胶南市| 肇庆市| 彰武县| 天峻县| 清原| 武功县| 日土县| 共和县| 岗巴县| 胶南市| 佛学| 涞水县| 合川市| 德江县| 沅江市| 墨竹工卡县| 合阳县| 辰溪县| 旺苍县| 宁晋县| 木里| 德保县| 奇台县| 恩施市| 赣州市| 搜索|