選擇運行 Java 程式的方式

來源:互聯網
上載者:User

在運行 Java(TM) 程式時,您可以選擇希望使用的方式。所有方式都驗證代碼並建立 Java 程式對象來存放預驗證格式的程式。可使用下列任何一種方式:

  • 解釋方式
  • 直接處理
  • “及時”(JIT)編譯
  • “及時”(JIT)編譯並直接處理
選擇方式 詳細資料
解釋方式

在運行時對每個位元組碼進行解釋。

有關以解釋方式運行 Java 程式的資訊,參見運行 Java(RUNJVA)命令。

直接處理

方法的機器指令在首次調用該方法期間產生並儲存下來,以供程式下次運行時使用。並且,整個系統還共用一個副本。

有關使用直接處理方式來運行 Java 程式的資訊,參見運行 Java(RUNJVA)命令。

“及時”(JIT)編譯

方法的機器指令在首次調用該方法期間產生,並在 JAVA 虛擬機器的運行期間得到儲存。

要使用“及時”編譯器,需要將編譯器值設定為 jitc。可以通過添加環境變數或設定 java.compiler 系統屬性來設定該值。請從以下列表中選擇一種方法來設定編譯器值:

  • 從 iSeries 伺服器的命令列提示符下,通過使用“添加環境變數”(ADDENVVAR)命令來添加環境變數。然後,使用“運行 Java”(RUNJVA)命令或 JAVA 命令來運行 Java 程式。例如,使用:

    ADDENVVAR ENVVAR (JAVA_COMPILER) VALUE(jitc)JAVA CLASS(Test)
  • 在 iSeries 命令列上設定 java.compiler 系統屬性。例如,輸入 JAVA CLASS(Test) PROP((java.compiler jitc))
  • 在 Qshell Interpreter 命令列上設定 java.compiler 系統屬性。例如,輸入 java -Djava.compiler=jitc Test

在設定此值之後,JIT 編譯器便在運行 Java 代碼之前對所有 Java 代碼執行最佳化。

“及時”(JIT)編譯並直接處理

最常見的使用“及時”(JIT)編譯器的方法是使用 jit_de 選項。當使用此選項運行時,已對直接處理進行了最佳化的程式會以直接處理方式運行。未對直接最佳化進行最佳化的程式以 JIT 方式運行。

要將 JIT 方式與直接處理方式配合使用,您需要將編譯器值設定為 jitc_de。可以通過添加環境變數或設定 java.compiler 系統屬性來設定該值。請從以下列表中選擇一種方法來設定編譯器值:

  • 通過在 iSeries 命令列上輸入“添加環境變數”(ADDENVVAR)命令來添加環境變數。然後,使用“運行 Java”(RUNJVA)命令或 JAVA 命令來運行 Java 程式。例如,輸入

    ADDENVVAR ENVVAR (JAVA_COMPILER) VALUE(jitc_de)JAVA CLASS(Test)
  • 在 iSeries 命令列上設定 java.compiler 系統屬性。例如,輸入 JAVA CLASS(Test) PROP((java.compiler jitc_de))
  • 在 Qshell Interpreter 命令列上設定 java.compiler 系統屬性。例如,輸入 java -Djava.compiler=jitc_de Test

在設定此值之後,將使用為直接處理而建立的類檔案的 Java 程式。如果該 Java 程式不是為直接處理建立的,則 JIT 在運行之前最佳化類檔案。有關更多資訊,參見“及時”編譯器與直接處理的比較。

運行 Java 程式的方法有三種(CL、QSH 和 JNI)。每一種方法都有唯一的方法來指定方式。下表顯示了如何完成此操作。

方式 CL 命令 QShell 命令 JNI 調用 API
解釋 INTERPRET(*YES) -Djava.compiler=NONE -interpret os400.run.mode="interpret"
DE INTERPRET(*NO) -Djava.compiler=NONE
  • os400.run.mode=
    "program_created=pc"
  • os400.create.type=
    "direct"
JIT INTERPRET(*JIT) -Djava.compiler="jitc" os400.run.mode="jitc"
JIT_DE(預設) INTERPRET(*OPTIMIZE) OPTIMIZE(*JIT) -Djava.compiler="jitc_de" os400.run.mode="jitc_de"

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.