国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2016-03-22 14:04杜天宇景慎艷
電腦知識與技術(shù) 2016年1期
關(guān)鍵詞:虛擬機系統(tǒng)優(yōu)化

杜天宇++景慎艷

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

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

中圖分類號:TP311 文獻標識碼: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虛擬機的定義和發(fā)展現(xiàn)狀

1.1 Java虛擬機定義

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

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

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

2 Java虛擬機特點

2.1 廣泛的跨平臺性

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

2.2 強健的安全性

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

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

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

3 Java虛擬機運行時執(zhí)行的性能較低

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

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

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

4.1 采用FPGA硬件支持

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

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

4.2 即時編譯的手段

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

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

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

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

5 結(jié)論

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

參考文獻:

[1] 賀蘊彬. Java虛擬機的自適應(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.

猜你喜歡
虛擬機系統(tǒng)優(yōu)化
PS臥式轉(zhuǎn)爐送風(fēng)系統(tǒng)優(yōu)化與實踐
基于大數(shù)據(jù)分析的ETC系統(tǒng)優(yōu)化探析
火電廠循環(huán)水處理及系統(tǒng)優(yōu)化探討
某螢石礦開拓系統(tǒng)優(yōu)化