Hello Java程式的內部細節


在前面的教學中,我們已經了解了第一個程式,如何編譯以及如何執行第一個java程式。 這裡,我們將了解和學習在編譯和執行java程式時編譯器和直譯器發生什麼。此外,我們將看到一些第一個程式中的一些問題。

編譯時會發生什麼?

在編譯時,java檔案由Java Compiler編譯(它不與作業系統互動),並將java程式碼轉換為位元組碼,如下圖中所示 -

執行時會發生什麼?

在執行時,執行以下步驟:

類載入器(Classloader):是用於載入類檔案的JVM的子系統。
位元組碼校驗器(Bytecode Verifier):檢查程式碼片段中是否存在違反物件存取許可權的非法程式碼。
直譯器(Interpreter):讀取位元組碼流然後執行指令。

Q)可以使用其他名稱而不是類名來儲存java原始檔?

如果類不是使用public修辭符,這是可以的。 在下圖中解釋:

編譯:

javac Hard.java

執行:

java Simple

提示:如果使用 public class Simple{} 這樣來定義類是不可以的。

Q)能在一個java原始檔中有多個類嗎?

這是可以的,如下圖所示: