ibm java_IBM i 上Java 虚拟机简介
Abstract
IBM i 上Java 虛擬機(jī)簡介
Body
Java在IT業(yè)界有多流行?google上搜索一下java,
結(jié)果一目了然(今天早上我搜索到的記錄數(shù)是840000000條)。Java之所以能廣泛的被應(yīng)用,與它“一次編譯,處處運(yùn)行”,也就是跨平臺(tái)性是密不可分的。JVM是Java的跨平臺(tái)性實(shí)現(xiàn)的基礎(chǔ),不同平臺(tái)上標(biāo)準(zhǔn)統(tǒng)一的JVM提供了相同虛擬運(yùn)行環(huán)境,使得Java應(yīng)用不用做(或很小的)修改在各個(gè)JVM上都能運(yùn)行。IBM
Technology for Java Virtual
Machine是IBM自己開發(fā)的一款JVM,它支持在當(dāng)前流行的大部分平臺(tái)上的安裝和使用,這其中就包括IBM
i。本文將對(duì)這款虛擬機(jī)以及它IBM
i上的支持簡單進(jìn)行介紹。
子曰:名不正則言不順。雖然孔圣人的這個(gè)“名”不是名字的名,這里還是要借用一下,先讓我們把要介紹的這個(gè)JVM的名字說清楚。除去IBM
Technology for Java Virtual Machine,在一些文檔中,也許你還讀到過這些名稱:IBM
Virtual Machine for Java, IBM JVM,IBM
J9 VM, J9 JVM, 以及IT4J。其實(shí)這些名稱指的都是本文要介紹的這款JVM(為了方便,下文中我統(tǒng)一使用J9
VM),而這不同的名稱中,J9顯得更特別一點(diǎn)。為什么會(huì)有J9這個(gè)名字呢?這與這款JVM的出身有關(guān),它最早是由IBM
Ottawa實(shí)驗(yàn)室一個(gè)Small
Talk的虛擬機(jī)擴(kuò)展來的。那時(shí)候,這個(gè)虛擬機(jī)有一個(gè)bug是因?yàn)?k值定義錯(cuò)誤引起,工程師們花了很長時(shí)間終于發(fā)現(xiàn)并解決了這個(gè)錯(cuò)誤,此后這個(gè)版本的虛擬機(jī)就被稱為K8了。于是,后來出現(xiàn)的支持Java這個(gè)版本的虛擬機(jī)就被稱為J9了。
為實(shí)現(xiàn)JVM定義的功能(JVM的功能和定義,請(qǐng)參考相關(guān)資料),并提供自己的獨(dú)特性,J9
VM主要由以下幾部分組成,如圖1:
圖1.
J9 VM的組成
JVM API: 外部應(yīng)用與JVM交互和調(diào)用的接口;
GC: 又被稱為Memory
Management,是JVM內(nèi)存管理模塊;
Class Loader: 支持Java語言動(dòng)態(tài)裝載code的模塊;
Interpreter: JVM的解釋執(zhí)行器;
Diagnostics: 提供JVM
的Reliability,
Availability, Serviceability (RAS)特性;
Platform port layer:
這個(gè)模塊提供支持,使得JVM在各種不同系統(tǒng)平臺(tái)上的運(yùn)行。
良好的設(shè)計(jì)讓J9
VM具有高可配置性和可擴(kuò)展性,IBM把它用在各個(gè)版本各種平臺(tái)的JDK中,IBM
i就是J9
VM支持眾多平臺(tái)中的一個(gè)。IBM
i在J9
VM引入前就早已開始支持Java。早在1998年,IBM
I V4R2就提供了i平臺(tái)自己的JVM,
這款JVM被稱為Classic
JVM, 通過它Java程序能夠在IBM
i上直接運(yùn)行(在這之前,一款稱為Java
toolbox的產(chǎn)品,已經(jīng)讓其他平臺(tái)上運(yùn)行的Java應(yīng)用可以訪問IBM
i系統(tǒng)的資源,如數(shù)據(jù)文件,可運(yùn)行程序等)。J9
VM的引入是在IBM
I V5R4版本之后,是通過IBM
i的Portable
Application Solution Environment(PASE)環(huán)境實(shí)現(xiàn)的。與Classic
JVM只支持64位地址訪問不同,J9
Vm有兩種不同版本32位和64位(V5R4上只有32位版本,V6R1之后開始支持64位版本)。J9VM引入后,IBM
i逐漸取消了對(duì)Classic
JVM的支持(從IBM
I V7R1開始,Classic
JVM已經(jīng)不再支持)。雖然Classic
JVM不再被支持,但用戶已有的Java應(yīng)用仍然可用,因?yàn)榭偟脕碚f運(yùn)行在Classic
JVM上的應(yīng)用也都可以在J9
Vm上運(yùn)行。在IBM
i上,之所以用J9
Vm取代Classic
JVM, 主要有以下幾個(gè)因素:
a.J9 Vm在性能上更優(yōu)于Classic
JVM, 特別對(duì)于中小型應(yīng)用J9
VM提供的32位的版本在空間占用和性能上相對(duì)Classic有很大改進(jìn);
b. J9 Vm是IBM多個(gè)平臺(tái)共用的,
缺陷的修改和新技術(shù)的應(yīng)用在J9
Vm上能及時(shí)的獲得支持,而Classic
JVM作為IBM
i獨(dú)有的JVM需要單獨(dú)的投入才能保證及時(shí)的更新;
Note:具體J9
VM和Classic
JVM有那些不同,為什么一定要引入J9
Vm會(huì)有后續(xù)
文章介紹。
IBM i的PASE環(huán)境與AIX類似,J9
VM在IBM
i Shell環(huán)境下的使用與AIX中也類似。下面的事例是一個(gè)簡單使用J9
VM的過程:
Step1.通過QSH命令進(jìn)入shell環(huán)境;
Step2.通過環(huán)境變量JAVA_HOME來設(shè)置要使用的JDK版本,假設(shè)我們使用JDK60
32bit:
export
JAVA_HOME=/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit
Note:注意大小寫,/QOpenSys下大小寫敏感
Step3.隨JDK發(fā)布會(huì)有一個(gè)QIBMHello類,執(zhí)行這個(gè)類會(huì)在控制臺(tái)輸出QIBMHello幾個(gè)字符;通過執(zhí)行它
就可以驗(yàn)證JDK是否安裝正確,運(yùn)行命令:java QIBMHello;
關(guān)于J9
Vm在IBM
i Shell環(huán)境中使用和支持的詳細(xì)資料,以及IBM
i ILE環(huán)境中的支持,請(qǐng)參考IBM
i infocenter.
參考資料:
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
UID
ibm11146190
總結(jié)
以上是生活随笔為你收集整理的ibm java_IBM i 上Java 虚拟机简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python套接字socket的作用_【
- 下一篇: java ssl证书生成_java –