Hello Java程序的內部細節

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

編譯時會發生什麼?

在編譯時,java文件由Java Compiler編譯(它不與操作系統交互),並將java代碼轉換爲字節碼,如下圖中所示 -

Hello

運行時會發生什麼?

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

**類加載器(Classloader)**:是用於加載類文件的JVM的子系統。
**字節碼校驗器(Bytecode Verifier)**:檢查代碼片段中是否存在違反對象訪問權限的非法代碼。
**解釋器(Interpreter)**:讀取字節碼流然後執行指令。

Q)可以使用其他名稱而不是類名來保存java源文件?

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

Hello

編譯:

javac Hard.java

執行:

java Simple

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

Q)能在一個java源文件中有多個類嗎?

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

Hello