我們已經跟Java打過照面了
這時候學校或是一般的教學書籍
大概會馬上介紹變數的宣告或是迴圈的使用
但個性保守的我認為這樣的進展太快了
(
還是再多了解一點再
首先先來看看Java的架構
參考Java Doc的架構圖
先看看最下面左邊,寫著Java Virtual Machine,也就是常聽到的JVM大人
接著左邊還標出了JRE還有JDK的範圍
其他的細節的部份我們暫時不看
究竟這個JVM/JRE/JDK之間到底有什麼糾結的關係呢?
讓我們繼續看下去....
Java程式最常被提到的賣點就是可以跨平台
什麼叫跨平台呢?
就是你寫的程式可以在windows上運作也可以在Linux上運作等
這件事是怎麼做到的呢?
關鍵在於JVM,針對不同的系統有不同的JVM
而你寫的程式可以在所有的JVM上運行
進而達成
是達成 write once, run everywhere!
所以我們可以知道,如果要運行Java程式
那麼你的作業系統一定要有專為這個作業系統準備的JVM
但是光這樣還不夠,還需要對應的JRE
所謂的JRE就是Java Runtime Environment
再仔細看看第一張圖,就可以知道JVM跟JRE的差別了
同時也可以了解到JRE是架JVM上的,你安裝了JRE就會有JVM
那麼JDK是什麼呢? JDK是Java Development Kit
如果你只是想跑Java程式,那麼你的電腦上有裝JRE就夠了
如果想做Java程式開發,那麼就要再裝JDK
JDK跟JRE的差別可以在第一張圖中查看.
同樣的,裝了JDK就會連JRE一起裝上,當然也會有JVM
請見下圖...
回想一下上一篇Java教學(1) Hell World我們所做的動作
我們執行了兩個指令
第一個是javac
javac是用來compile java檔(xxxxx.java)的工具
從圖二我們可以看到javac屬於JDK的內容
也就是說這是開發者在用的指令.
那compile是什麼鬼?
我們寫的是java檔是文字檔,是給人看的(
JVM可以執行的檔案卻是另一種檔案,叫做class檔(xxx.class)
complie做的就是這種轉換的工作,
所以在Java教學(1) Hell World做完之後
我們可以在資料夾中發現多了一個class檔
這是我們做的第一個動作
目前對javac,對compile了解到這裡就可以了.
第二個指令是java
從圖二我們可以知道指令java是屬於JRE的範圍
也就是說不管是不是開發者,
想要跑Java程式的話都可以使用這個指令
所以我們是用指令java執行了我們寫的程式
最後才得到Hell World的結果.
這就是 Java教學(1) Hell World的整個案發過程
接下來我們要說明
說明程式的寫法
真相只有一個!!
...寫法可就多了
請見
沒有留言:
張貼留言