成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

技術前沿 JVM for Linux JIT診斷技術簡介

開發 后端
你對JVM for Linux JIT 診斷技術是否熟悉,這里簡要介紹Just-In-Time(JIT)編譯器和Mixed ModeInterpreter(MMI)優化技術,在IBM的JVM1.3.1和1.4.2中使用了這兩種技術。

JVM有很多值得學習的地方,本文簡要介紹Just-In-Time(JIT)編譯器和Mixed ModeInterpreter(MMI)優化技術,在IBM的JVM1.3.1和1.4.2中使用了這兩種技術,它們對于從SunHotspotJVM上遷移過來的Java程序可能產生影響。

JVM for Linux JIT 診斷技術簡介

“一次編寫,到處運行”(WORA)的原則只有在將純Java™的字節碼從一個平臺的某個特定版本的Java虛擬機(JVM)移植到另外一個不同平臺上完全相同版本的JVM上時才適用。

然而,有時這種遷移過程并不是無縫的。可以對這個遷移過程產生影響的一個因素是不同供應商的優化技術的內部實現之間存在差異。

在將一個Java程序從使用SunJDK的平臺遷移到使用IBMJDK的平臺上時,重要的是要了解在這兩個供應商的JVM中使用的優化技術之間的差異,這些差異可能會對程序產生影響,以及如何通過調節IBM JVM中可用的優化機制來獲得更好的性能。

本文著重介紹對于在JVM for Linux JIT中碰到的問題的診斷,在從SunHotSpotJVM遷移到IBM基于JVM for Linux JIT的JVM時可能會碰到這些問題。

雖然本文中介紹的大部分內容對于IBMJVM1.3.1和1.4.2都是普遍適用的,但是尤其適用于IBMJVM1.3.1和JVM1.4.2forLinux,包括POWER和PowerPC架構上的Linux。

在Sun的JVM1.3.1中,JIT和HotSpot編譯器都已經包含其中了,可以使用-server或-hotspot選項(默認為客戶機HotSpotVM)來調用,使用-classic選項調用JIT,-hotspot選項是隱含的默認值。在SunJDK1.4.1及之后的版本中,只能使用HotSpot了。IBMJVM1.3.1和1.4.2使用了JIT和MMI的組合,這是默認的運行模式,可以實現與HotSpot相同的功能。#p#

JVM for Linux JIT和MMI

用來提高Java程序性能的工具是Just-In-Time(JIT)編譯器。JVM for Linux JIT是一個代碼生成器,它將Java字節碼轉換成宿主平臺的本地代碼。Java程序使用JIT調用時的運行速度通常都比使用解釋程序執行字節碼時的速度更快。

當JVM啟動時,會有很多方法被加載到JVM中并執行。

如果JIT被禁用了,那么JVM啟動會很快,但是在大部分情況中,運行程序的速度都會與解釋字節碼的速度一樣慢。如果JIT被啟用了,但是并沒有使用JIT的一些自適應式優化機制,就會試圖在啟動時對所有方法進行編譯。對于諸如applet之類的小程序來說,當啟動JVM的時間長于運行程序的時間時,就可能會成為問題。

IBM JVMMixedModeInterpreter(MMI)與JIT緊密地結合在一起,它可以減輕這個問題。它可以用于與HotSpotVM相同的目的,將編譯方法延伸到JVM的生命期之外。除了其他特性之外,MMI還可以計算一個特定的方法被執行了多少次。為了達到平衡的性能,MMI對于IBMJVM支持的每種平臺都有一個默認的上限計數器,這是經過仔細選擇的,并經過了廣泛的測試和研究。

每執行一次方法,該方法在MMI中的上限計數器就減1。當一個方法的上限計數器達到零(0)時,就可以使用JIT將這個方法編譯成本地代碼了。因此,與HotSpotVM一樣,高頻率使用的方法——“熱點”——都會在啟動JVM之后由JIT進行編譯,而低頻度使用的方法則會在之后進行編譯,或者可能在整個JVM進程的生命周期中都不會被編譯。

IBM JVM1.3.1和1.4.2還為改進某些Java程序的啟動時間而提供了一個非標準的選項-Xquickstart。-Xquickstart選項會導致使用優化選項的子集來運行JIT;也就是說,快速編譯的方法。這個選項適用于短期運行的程序,特別是那些執行時間不集中在少量的“熱點”方法中的程序。如果-Xquickstart選項用在長時間運行的程序上,而這些程序又包含一些熱點方法,那么這個選項就可能會導致性能的降低。

與其他非標準的-X選項一樣,-Xquickstart選項的實現和存在都可能不加通知就會修改。

可以減小MMI上限計數器,從而加速JIT編譯一個方法的過程;或者增大它以達到相反的效果。這是通過使用一個環境變量IBM_MIXED_MODE_THRESHOLD實現的,與其他環境變量一樣,需要在運行JVM進程的shell實例中進行設置。自然,這個變量是在啟動JVM進程之前設置的,對于在JVM中執行的所有方法都是有效的。

將IBM_MIXED_MODE_THRESHOLD設置為0可以禁用MMI,這樣,所有的方法在***加載到JVM中時就可以立即使用JIT進行編譯。#p#

IBM JVM運行時模式如下:

◆MMI和JIT都啟用

這是默認的IBMJVM設置。

◆MMI禁用,JIT啟用

所有的方法都是在***運行之前編譯的,即JVM的啟動時間可能會很慢,但是后來的性能會很好。

◆MMI和JIT都禁用

JVM是一個純解釋系統。所有的代碼都不會進行編譯。禁用JVM for Linux JIT同時還會自動禁用MMI,并將IBM_MIXED_MODE_THRESHOLD設置為0,這樣可以有效地禁用MMI,但是不會禁用JIT。

MMI是一個非常有效的解釋器,利用宿主平臺上的程序集代碼來達到***的優化。雖然JIT并不是JVM的一個集成部分,但卻以一個共享庫(libjitc)的形式提供了,它與MMI緊密地結合在一起,JVM for Linux JIT和MMI是IBMJVM中緊密結合的兩種技術。

在JavaHotSpotVM或經典的JIT模式中使用的是SunJVM1.3.1,Sun的JIT實現并不與IBM的JIT完全相同;SunHotSpotJVM1.4.1中根本沒有JIT。當將Java程序從SunJVM1.3.1或SunJVM1.4.1遷移到IBMJVM上時,在一些非常罕見的情況中可能會出現問題,問題的范圍從性能的下降,到代碼會產生不正確的結果,以及JVM的掛起、崩潰和出現一些異常。

【編輯推薦】

  1. 巧解IBM JVM for Linux onPOWER性能調優
  2. JVM for Linux JIT診斷技術簡介
  3. 揭露MyEclipse JVM內存不足的內幕
  4. 專家指導 如何進行JVM參數配置
  5. 巧解IBM JVM for Linux onPOWER性能調優

 

 

責任編輯:佚名 來源: ibm.com
相關推薦

2010-09-27 10:11:54

JVMLinux

2010-08-09 09:09:43

Flex技術

2010-09-27 14:20:00

JITJVM

2010-06-30 16:52:23

UML數據建模

2014-08-08 15:36:39

Apdex

2010-07-29 09:08:20

Flex客戶端緩存

2010-08-10 13:04:27

FlexBuilder

2010-07-30 15:35:11

Flex結合

2010-08-10 15:55:20

FlexHTML頁面

2010-07-29 17:26:54

Flex富客戶端技術

2010-08-10 15:38:32

Flex2.0

2022-06-28 09:01:26

RSSFeedlyCommafeed

2010-08-04 16:24:08

FlexSDK4

2010-09-26 14:01:10

JVM Log

2010-08-09 12:59:15

Flex4beta

2021-03-21 23:04:45

5G6G網絡

2010-08-06 14:58:42

FlexAIR

2010-09-08 14:09:35

切換CSS

2010-08-11 10:16:24

FlexRIA
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91社区在线观看高清 | 欧美一区二区免费 | 四虎影视免费观看 | 国产伦精品一区二区三区精品视频 | 成人一区二区三区在线观看 | 欧美99久久精品乱码影视 | 久久一二区| 亚洲影音 | 成人在线视频观看 | 国产高清在线精品一区二区三区 | 五月婷婷在线视频 | 午夜免费视频 | 中文字幕人成乱码在线观看 | 精品伊人久久 | av无遮挡 | 一区二区三区视频在线 | xxx视频| 中文字幕亚洲精品 | 亚洲精品18 | 福利av在线 | 一级毛片免费看 | 天堂一区 | 国产乱码精品一区二区三区中文 | 日本精品久久 | 91在线一区二区 | 日本亚洲精品成人欧美一区 | 精品欧美黑人一区二区三区 | 成人精品鲁一区一区二区 | 精品亚洲一区二区三区四区五区 | 中文字幕不卡视频在线观看 | 在线观看免费高清av | 欧美视频第二页 | 视频一区二区国产 | 国产精品久久 | 91在线视频观看免费 | 国产日韩欧美 | 亚洲一区二区三区四区五区午夜 | 国产高清视频 | 欧洲毛片| 国产一区二区欧美 | 日韩精品免费播放 |