2012-02-29 128 views
0

According to IBM it is possible to turn off the jit compiler使用Compiler.disable()和我已經閱讀了stackoverflow,這是不可能的(只使用命令行參數 - How to check if the JIT compiler is off in Java)。哪種方法是正確的?關閉JIT編譯器

+2

那麼你在WebSphere Real Time中運行嗎?請給我們更多的背景。 – 2012-02-29 10:29:43

+0

對不起,我沒有使用websphere,是否有可能更改在運行時關閉編譯器的參數? – Biscuit128 2012-02-29 10:46:16

回答

1

請注意,WebSphere Real Time實際上是一個IBM Java虛擬機,它與標準的Oracle可供下載的虛擬機不同。

正確的做法取決於其虛擬機是否正在使用:

如果您使用的是標準的虛擬機,可以使用命令行參數。

如果你使用WebSphere,請使用Compiler.disable()

+0

對不起,我沒有使用websphere,是否可以更改在運行時關閉編譯器的參數? – Biscuit128 2012-02-29 10:46:41

+0

@Ricki我無法想象。無論如何,你爲什麼要在運行時執行它?你的用例是什麼? – Marcelo 2012-02-29 11:30:41

0

IBM的JDK(包括WebSphere Real Time中)支持java.lang.Compiler中的API,包括禁用()並啓用()調用。這不是我們通常推薦使用的,因爲它顯然干擾了JIT編譯器的啓發式方法,該方法用於確定應編譯哪些代碼,但該工具已存在並且受Java 5(這是編譯器API的引入)所支持。