[Java] Class1 — Java運作原理&撰寫第一隻java程式

文章推薦指數: 80 %
投票人數:10人

Java運作過程 · 原始碼(Source code / .java) eg: 以java語法了一個java class, 並存成.java檔。

· 編譯器(Compiler) 執行javac程式來編譯Example.java檔。

GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWrite[Java]Class1—Java運作原理&撰寫第一隻java程式首先你得安裝Java環境:…..(待補)Java運作過程source:Book<>原始碼(Sourcecode/.java)eg:以java語法了一個javaclass,並存成.java檔。

eg:Example.java編譯器(Compiler)執行javac程式來編譯Example.java檔。

編譯完後,會產生「bytecode」,存成Example.class的檔案產生成bytecode什麼是bytecode呢?是JAVA虛擬機器(JVM)能識別的code,JVM會幫我們把bytecode轉換成裝有JVM的各種不同裝置機器能理解的形式,讓機器運行程式在裝有JVM的機器上執行codeJVM會將bytecode轉譯成各平台可執行的machinecode(讓開發者可以透過JVM,就能夠在各種不同平台.OS上執行java)source:https://stackoverflow.com/questions/21810538/c-and-java-virtual-machine-code-executionWhat’sJVM&JRE&JDK這篇講得很清楚了~JVM、JRE與JDK不要只用程式語言的角度來看Java,這只會看到「冰山一角」,這可以用JavaSETechnologies中的圖來印證:如果你安裝...openhome.cc簡述一下:JVM:讓bytecode可以在各種不同os上運作的虛擬機器環境。

為什麼需要JVM這一層呢?因為每個OS機器上,他們的指令的機器碼的定義不一樣。

你在window上編譯了某種語言並產生的執行檔,放到mac上是無法執行的。

JAVA是高階語言,讓開發者及想執行java程式的人,不用擔心這些東西。

在每一種JAVA支援的OS上安裝JVM後,JVM會自己幫你把bytecode轉成各平台認得的機器碼來執行。

但JVM是個規格,實際上實作,有不同大廠會依照這個規格實作JAVAVM。

JVM被包含在後面說的JRE&JDK裡面(而我們平常安裝JAVA環境,就是選擇JREorJDK做安裝,所以安裝完後,裡面就有JVM囉!)JRE:包含了JVM&JAVASEAPI。

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

誰來實作System.java?誰來編譯為.class?可能是Oracle、IBM、Apache,無論如何,這些廠商必須根據相關的JSR標準文件,將標準程式庫實作出來,如此你撰寫的第一個Java程式,在Oracle、IBM、Apache等廠商實作的JVM上運行時,引用如System這些標準API,你的第一個Java程式,才可能輕易地運行在不同的平台。

在上圖中右邊可以看到JavaSEAPI,涵蓋了各式常用的程式庫,像是通用的群集(Collection)、輸入輸出、連線資料庫的JDBC、撰寫視窗程式的AWT與Swing等,這些都是在各個JSR標準文件規範之中,JavaRuntimeEnvironment就是Java執行環境,簡稱JRE,包括了JavaSEAPI與JVM。

只要你使用JavaSEAPI中的程式庫,在安裝有JRE的電腦上就可以直接運行,無需額外在你的程式中再包裝標準程式庫,而可以由JRE直接提供。

JDK:你寫的新的.java檔,是誰把他編譯成.class檔呢?是javac!他被包含在JDK裡面,JDK就是JavaDevelopmentKit!對於要開發JAVA的工程師來說,需要編譯java檔.需要javadoc等工具提示你javalib的函式定義等等。

正如上圖所示,JDK包括了javac、appletviewer、javadoc等工具程式,對於要開發Java程式的人,必須安裝的是JDK,如此才有這些工具程式可以使用,JDK本身包括了JRE,如此你才能執行Java程式,所以總結就是「JDK包括了Java程式語言、工具程式與JRE,JRE則包括了部署技術、JavaSEAPI與JVM」。

簡單來說:撰寫Java程式的人才需要JDK,如果你的程式只是想讓朋友執行呢?那他只要裝JRE就可以了,不用安裝JDK,因為他不需要javac這些工具程式,但他需要JavaSEAPI與JVM。

撰寫第一隻JAVA程式並執行來點簡單的,如何寫第一隻JAVA程式開啟記事本,寫下第一支程式:publicclassMyFirstJavaClass{publicstaticvoidmain(String[]args){System.out.println("helloworld!");}}存成MyFirstJavaClass.java(記得:檔名要與className相同!)於commandline中執行:javacMyFirstJavaClass.java或想看編譯過程發生什麼事,可以下-verbosejavac-verboseMyFirstJavaClass.java若順利執行完(編譯過程沒發生錯誤),會產生MyFirstJavaClass.class檔(bytecode)執行.class檔javaMyFirtstJavaClassCommandLine應該就會印出helloworld!上面四個過程,就是一開始說的「JAVA運作方式」的四個步驟囉!MorefromChia-wenHouFollowhiLovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedChia-wenHou43FollowershiFollowHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable



請為這篇文章評分?