亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Java虛擬機(jī)的系統(tǒng)優(yōu)化研究

        2016-03-22 14:04:02杜天宇景慎艷
        電腦知識與技術(shù) 2016年1期

        杜天宇++景慎艷

        摘要:伴隨信息化大數(shù)據(jù)時代的到來,促使人們追求越來越便捷的生活方式,更高品質(zhì)的科技產(chǎn)品應(yīng)運(yùn)而生。Java虛擬機(jī)憑借其自身動態(tài)添刪性、跨平臺性、高保密性、低風(fēng)險性等顯著優(yōu)點。從開發(fā)至今逐步在身份識別、電子貨幣交易、個人信息存儲等多個方面取得了廣泛應(yīng)用。詳細(xì)描述了Java虛擬機(jī)的發(fā)展現(xiàn)狀并根據(jù)Java虛擬機(jī)的基本特點,分析存在問題,同時有針對性地提 出Java虛擬機(jī)優(yōu)化常用解決對策,以期望對該領(lǐng)域內(nèi)的進(jìn)一步研究具有借鑒意義。

        關(guān)鍵詞:Java;虛擬機(jī);系統(tǒng)優(yōu)化

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)01-0072-02

        Research on System Optimization of Java Virtual Machine

        DU Tian-yu,JING Shen-yan

        (College of Information Management,Liaoning University of International Business and Economics, Dalian 116052, China)

        Abstract: Along with the information the arrival of the era of big date, encourage people to pursue more and more convenient way of life, higher quality of science and technology products arises at the historic moment. Java relies on its own dynamically and remove features,cross-platform,high confidentiality,low risks and other significant advantages,Since developed gradually in the identification, electronic currency trading, personal information is stored in many way has a wide rang of applications.

        Key words: Java; virtual machine; system optimization

        1 Java虛擬機(jī)的定義和發(fā)展現(xiàn)狀

        1.1 Java虛擬機(jī)定義

        Java虛擬機(jī),縮寫為JVM是一個虛構(gòu)出來的計算機(jī),實際的運(yùn)行主要是通過在實際的計算機(jī)上仿真模擬各種計算機(jī)功能來實現(xiàn),具有自己完善的硬件架構(gòu)以及相應(yīng)的指令系統(tǒng)。其實,虛擬機(jī)并不是Java語言本身,它是個為特定及其編寫的解釋性軟件。Java的虛擬機(jī)就相當(dāng)于世界通用語言,能夠被所有的設(shè)備同時應(yīng)用,這是個人類創(chuàng)造的目的就是使得不同語言之間的翻譯溝通更加容易。目前在金融、交通運(yùn)輸、電子商務(wù)、無線通訊等行業(yè)具有前瞻性和適用性發(fā)展,與此同時網(wǎng)絡(luò)交易更加快捷與安全,使得Java成為目前網(wǎng)絡(luò)上流行的編程語言。

        1.2 發(fā)展現(xiàn)狀

        Java虛擬機(jī)是Java語言的靈魂,是Java技術(shù)的核心關(guān)鍵之處,尤其適合于分布式計算環(huán)境或面積相對較小的智能嵌入式系統(tǒng)。Java開發(fā)是由Sun Microsystems公司在1995年設(shè)計并推出的,主要包括Java程序設(shè)計語言和Java平臺等方面。Java語言發(fā)展至今,Java擴(kuò)展管理規(guī)范面向Java平臺為其真正運(yùn)行與網(wǎng)絡(luò)管理模式的選擇提供了一種新型的、規(guī)范的管理框架;Java擴(kuò)展管理規(guī)范還帶來了一系列標(biāo)準(zhǔn)統(tǒng)一的代理及服務(wù)。就目前而言,無論哪個Java應(yīng)用程序設(shè)計和開發(fā)的人員都完全可以使用這些代理及服務(wù)用來監(jiān)測Java虛擬機(jī)的運(yùn)行狀況。Java擴(kuò)展管理規(guī)范具備跨越異構(gòu)的系統(tǒng)體系結(jié)構(gòu)、異構(gòu)的操作系統(tǒng)平臺以及異構(gòu)的網(wǎng)絡(luò)傳輸協(xié)議對分布式系統(tǒng)管理問題有著自己獨(dú)特的解決辦法可以在不同的環(huán)境下使用,使得Java虛擬機(jī)的性能監(jiān)測變得簡單。

        2 Java虛擬機(jī)特點

        2.1 廣泛的跨平臺性

        一般的高級編程語言,需要編譯成不同的目標(biāo)代碼以滿足在其他平臺不同界面上能夠成功運(yùn)行。而Java語言具有獨(dú)特的可移植性,正是通過Java虛擬機(jī)避免了特定平臺的干擾,直接處理Java源代碼編譯成的字節(jié)碼與平臺無關(guān),保障“編譯一次,自由執(zhí)行”的特性,因此只要在目標(biāo)機(jī)器上實現(xiàn)了符合規(guī)范的運(yùn)行程序環(huán)境,就可以運(yùn)行所有的Java程序。

        2.2 強(qiáng)健的安全性

        因為Java不支持指針等對安全機(jī)制存在影響的程序,但鼓勵垃圾回收機(jī)制以及代碼安全性檢測,可以隨時申請、自動釋放內(nèi)存資源避免因為內(nèi)存耗盡而死機(jī)并且在一切對內(nèi)存進(jìn)行的訪問都必須經(jīng)過對象變量來實現(xiàn),在程序正常運(yùn)行之前必須進(jìn)行安全檢查、未經(jīng)授權(quán)禁止讀寫文件并采用隔離的方法限制非法入侵的范圍。

        2.3 靈活的動態(tài)性

        Java語言程序為保證數(shù)據(jù)的安全和出于簡單性原則本身是不允許多重繼承,但是可以通過接口來支持多重繼承,與其他嚴(yán)格的類繼承相比較具有更高的自由性和擴(kuò)展性。還可以根據(jù)用戶的需要,實現(xiàn)動態(tài)添加和刪除信息,下載重要資源,擴(kuò)大軟件配置、維護(hù)、更新的范圍而不會影響用戶原有程序的執(zhí)行,操作簡便易行,受到更多青睞,為日益普及的網(wǎng)絡(luò)應(yīng)用提供了良好的基礎(chǔ)。

        3 Java虛擬機(jī)運(yùn)行時執(zhí)行的性能較低

        通過資料查詢,可以發(fā)現(xiàn)Java語言程序更適合于計算機(jī)互聯(lián)網(wǎng)絡(luò)的開發(fā)應(yīng)用,其中關(guān)鍵的一點原因就是運(yùn)行的過程中使用了虛擬機(jī),虛擬機(jī)的實質(zhì)是一個用來解釋Java系統(tǒng)指令的軟件包。保證了Java語言程序在任何機(jī)器下運(yùn)行成為可能。JVM的性能體現(xiàn)在工作站和服務(wù)器上已經(jīng)得到了很大提高,但是使用虛擬機(jī)而帶來增加的額外抽象造成應(yīng)用在虛擬機(jī)上的執(zhí)行要比在本地平臺執(zhí)行的速度更慢,有時性能達(dá)不到要求。

        由于常見的服務(wù)器和PC工作站大多是擁有64位或以上寬度的內(nèi)存總線以及高主頻CPU,所以一些短暫的停滯顯得微不足道,可以簡單地忽略不計。但如果碰到比較低端的移動通信設(shè)備和智能終端,就極容易發(fā)生讓程序的啟動速度變得很慢、啟動時間延長的現(xiàn)象,還有一定幾率產(chǎn)生較為明顯地在指令完成過程中出現(xiàn)停頓和反應(yīng)遲鈍。提升程序性能的途徑有很多,對于Java語言的相關(guān)程序性能的進(jìn)一步提升應(yīng)該采取遵循它的跨平臺性和安全性的前提之下,而Java虛擬機(jī)的存在就是保障Java程序跨平臺性和安全性的基礎(chǔ)性要求,因此應(yīng)該采用多種編譯優(yōu)化技術(shù)提高虛擬機(jī)的運(yùn)行能力。

        4 優(yōu)化虛擬機(jī)性能的常用方法

        4.1 采用FPGA硬件支持

        如何借助硬件方式來解決Java虛擬機(jī)性能缺陷一直是廠商長久以來研究的關(guān)注點。尤其是隨著信息化發(fā)展FPGA性能的日益提高,為Java虛擬機(jī)開發(fā)與設(shè)計提供更高的硬件支持成為可能。

        編程邏輯器件的相對優(yōu)勢:第一,我們可以清晰認(rèn)識到硬件設(shè)備專向?qū)m椩O(shè)計變通、儲蓄運(yùn)載功能強(qiáng)大等方向發(fā)展,其中最突出的是高密度的FPGA硬件設(shè)備,其無論從運(yùn)行速度、功能消耗和銷售價格在內(nèi)的很多特點已經(jīng)能夠充分與ASIC器件相比較。FPGA硬件的可重構(gòu)計算特點極大地縮小了ASIC器件同傳統(tǒng)軟件之間的距離;第二,由于可配置硬件器件的存在,為用戶提供了多重選擇,綜合利用軟件工具設(shè)計硬件從而達(dá)到快速原型生成的目的,縮短產(chǎn)品生產(chǎn)周期、產(chǎn)品上市時間提早,取得先發(fā)制人的優(yōu)勢;第三,自由靈活的可配置性也可以確保可重構(gòu)計算能夠在計算開始的初期,甚至在程序運(yùn)行的過程中實現(xiàn)現(xiàn)場配置,一些研究性的工作通過為Java虛擬機(jī)設(shè)計提供FPGA硬件在性能上收獲很大。

        4.2 即時編譯的手段

        基于現(xiàn)行的動態(tài)編譯的執(zhí)行模式,本文對Java程序性能的優(yōu)化方面主要集中體現(xiàn)在基于即時編譯技術(shù)的運(yùn)行過程中優(yōu)化。多項數(shù)據(jù)顯示,基于字節(jié)碼的優(yōu)化空間非常有限,以完整保留Java字節(jié)碼的跨平臺的特性為目的,性能優(yōu)化加速率僅僅為1%—3%;同時,Java語言程序特有的一些動態(tài)語言特性,如動態(tài)類加載,也要求眾多的基于Java程序的優(yōu)化只能被推遲到運(yùn)行時進(jìn)行。因此,對于Java程序的性能優(yōu)化更多的依賴即時編譯技術(shù)。即時編譯技術(shù)即是Just-In-Time,簡稱JIT。可以籠統(tǒng)認(rèn)為是在運(yùn)行JAVA程序時,任何程序語言的執(zhí)行通過翻譯成為本地的機(jī)器指令是唯一途徑,而Java虛擬機(jī)會根據(jù)字節(jié)碼進(jìn)行翻譯,整個編譯過程一般在字節(jié)碼運(yùn)行的前面發(fā)生。實際上,最初采用JIT技術(shù)的JVM進(jìn)行即時編譯的時候利用一個通用接口來調(diào)用外部代碼翻譯單元,代碼翻譯單元并不包括在JVM程序里面。JIT方法的結(jié)構(gòu)圖如圖1所示:

        圖1 即時編譯的運(yùn)行結(jié)構(gòu)圖

        即時編譯的最小單位就是Java 方法。在運(yùn)行一個Java方法之前,Java虛擬機(jī)就會把這方法的一些有關(guān)信息提供給JIT單元,同時直接運(yùn)行編譯后的本地代碼。以后調(diào)用這種方法檢測后都會對編譯后的本地代碼直接運(yùn)行,其運(yùn)行過程不受時間和次數(shù)的限制。

        由于JVM與JIT單元擺脫了對Java的單一繼承性,憑借開放式JIT接口的使用而促使相對獨(dú)立,使得任何第三方開發(fā)人員都可以自由的進(jìn)入系統(tǒng)實現(xiàn)編寫JIT單元,無需受到來自JVM程序內(nèi)部的其他要求的制約和干擾。Java程序的典型性運(yùn)行方式主要是依靠目標(biāo)終端的JVM用來執(zhí)行Java的字節(jié)碼文件。首先,解釋器的翻譯和執(zhí)行性能相對較差,基本上除了嵌入式系統(tǒng)之外,大多數(shù)目標(biāo)平臺的JVM均會使用JIT對載入成功后的字節(jié)碼統(tǒng)一進(jìn)行優(yōu)化編譯并且執(zhí)行。驗證模塊是用于對載入的字節(jié)碼進(jìn)行準(zhǔn)確性檢驗,包括類型檢查和字節(jié)碼文件結(jié)構(gòu)等。由于JIT技術(shù)的出現(xiàn),對了Java程序的性能進(jìn)行了顯著地提高,幾乎改變了過去人們對Java程序性能差的印象。

        5 結(jié)論

        基于Java語言程序的特點出發(fā),保證強(qiáng)健的安全性是Java語言設(shè)計的最基本也是最重要的要求之一,雖然廠商和領(lǐng)域內(nèi)針對Java平臺的安全性從許多方面進(jìn)行了富有專業(yè)性考慮,但是這些解決方案或多或少都存在不完善之處。主要是因為存儲字節(jié)碼的類文件的格式公開,又由于Java語言還要兼顧跨平臺性以及可移植性,字節(jié)碼的指令系統(tǒng)中一定會表現(xiàn)出相應(yīng)的Java源代碼中較多的信息,字節(jié)碼的格式也比較固定,自然也就為反編譯Java字節(jié)碼文件來得到Java源代碼提供了可能性。本文找到了現(xiàn)有Java虛擬機(jī)運(yùn)行硬件性能不足的問題進(jìn)行分析,確定采用方法內(nèi)嵌、FPGA硬件支持、即時編譯等手段對性能局限進(jìn)行理解優(yōu)化。對此完整地設(shè)計并實現(xiàn)了一套適于Java開發(fā)運(yùn)行環(huán)境優(yōu)化解決方案,為防止低水平重復(fù)開發(fā)、加快國產(chǎn)軟件商品化、產(chǎn)業(yè)化的優(yōu)先辦法。

        參考文獻(xiàn):

        [1] 賀蘊(yùn)彬. Java虛擬機(jī)的自適應(yīng)動態(tài)優(yōu)化[J]. 科技創(chuàng)新與應(yīng)用, 2014(5).

        [2] 尹相志, 胡百敬. SQL Server 2008 R2 Reporting Services 報表服務(wù)[M]. 北京: 中國水利水電出版社, 2012.

        [3] 藺華, 王玉清. Web 程序設(shè)計與架構(gòu)[M]. 北京: 電子工業(yè)出版社, 2011.

        精品国产自产久久久| 亚洲 日韩 激情 无码 中出| 国产成人精品a视频一区| 女同久久精品国产99国产精品| 亚洲五月婷婷久久综合| 一区二区三区四区国产亚洲| 香蕉视频在线观看亚洲| 亚洲av无码之国产精品网址蜜芽| 亚州精品无码久久aV字幕| 国产精品一区二区三区黄片视频| 亚洲av日韩一区二区| 消息称老熟妇乱视频一区二区 | 成人做爰视频www| 韩国女主播一区二区在线观看| 亚州中文字幕乱码中文字幕| 精品香蕉99久久久久网站| 中文字幕日韩精品无码内射| 欧美精品aaa久久久影院| 午夜一区二区三区免费观看| 欧美性xxxxx极品老少| 国内a∨免费播放| 欧美中出在线| 少妇又紧又爽丰满在线视频| 日本最新免费二区| 亚洲欧美日韩激情在线观看| 日本二区三区视频免费观看| 日韩精品人妻久久久一二三| 精品国产人妻一区二区三区| 国产精品美女AV免费观看| 少妇人妻系列中文在线| 精品久久久久久无码中文野结衣 | 精品少妇人妻av一区二区| 国产va免费精品高清在线观看| 国产激情小视频在线观看的| 男人的天堂中文字幕熟女人妻| 日日摸夜夜添无码无码av| 日本最新一区二区三区免费看| 久久综合九色综合97婷婷| 国产高清av首播原创麻豆 | 丰满少妇在线播放bd| 天美传媒一区二区|