2016/4/24

JVM JRE JDK 心得與筆記

這次想由JAVA來看OOP

但JAVA說實在東西很多

在場外跟人要了這個網站  http://openhome.cc/Gossip/Java/

裡面在講JAVA包括底層至上層的

既然要學就先從一開始學起

這次由常看到的JVM JRE JDK開始看



根據這裡 http://openhome.cc/Gossip/Java/JVM-JRE-JDK.html  所講

JVM,Java Virtual Machne

因為有它所以JAVA才有跨平台的特性存在

原理是這樣,一般寫好的JAVA檔叫*.java,經編譯器翻譯變為*.class的位元碼

而要執行這個位元碼檔案,該平台必須安裝JVM,JVM會將該位元碼轉換為該平台看得懂的機器碼

他舉了很好的例子:

不同的平台必須安裝專屬該平台的JVM。這就好比你講中文(*.java),Java編譯器幫你翻譯為英語(*.class),之後這份英語文件,到各國家之後,再由當地看得懂英文的人(JVM)翻譯為當地語言(機器碼)。

這樣看就懂了吧!



JRE,Java Runtime Environment,JAVA的執行環境

如果你朋友有JAVA程式碼要執行,只要安裝它就可以了,不用裝JDK,

他一樣舉了個例子:

之後會學到的第一個Java程式,其中會有這麼一段程式碼:

System.out.println("Hello World");


先前曾經談過,Java是個標準,System、out、println這些名稱,都是標準中所規範的名稱,實際上必須要有人根據標準撰寫出System.java,編譯為System.class,如此你才能在撰寫第一個Java程式時,使用System類別(Class)上out物件(Object)的println()方法(Method)。

以前剛開始學只知道要列印只要打這段就對了,都不知道它在幹嘛

而現在終於知道他是class裡的object的一個method

然後廠商再依據JSR標準文件實作它,廠商如Oracle、IBM、Apache,他們引用System這些API,讓你能在不同平台運行



JDK,Java Development Kit,JAVA的開發工具

如果你要寫JAVA的程式,那你就要裝它!!

而將JAVA程式編譯成*.class的位元碼,這個編譯的工具也是它提供的!

既然你要開發,開發完當然也要執行,所以它也包含JRE



 順便附上JAVA SE8 API手冊  http://pics.ee/qPT

沒有留言:

張貼留言