Trong chương trước, chúng ta đã học cách viết, biên dịch và chạy chương trình Hello World trong Java. Ở đây, chúng ta tiếp tục tìm hiểu những gì xảy ra trong khi biên dịch và chạy một chương trình Java. Ngoài ra, bạn sẽ thấy một số câu hỏi liên quan đến chương trình Java đầu tiên này.
Những gì xảy ra tại Compile time?
Tại compile time (thời gian biên dịch), java file được biên dịch bởi Java Compiler (Nó không tương tác với OS) và chuyển đổi Java code thành Bytecode.
Điều gì xảy ra tại runtime?
Tại Runtime (thời gian biên dịch), các bước sau được thực hiện:
![Java Runtime](function link() { [native code] })
- Classloader: Đây là hệ thống con của JVM được sử dụng để tải class file.
- Bytecode Vertifier: Kiểm tra các đoạn code để xem có hay không các phần code không hợp lệ có truy cập không hợp lệ tới các đối tượng.
- Interpreter: Đọc Bytecode Stream, sau đó thực thi các chỉ thị.
Câu hỏi: Bạn có thể lưu một source file bởi một tên khác ngoài tên lớp không?
Có, nếu lớp không phải là public. Bạn có thể theo dõi ở sơ đồ dưới:
- Để biên dịch, gõ: javac Hard.java
- Để thực thi, gõ: java Simple
Bạn có thể có nhiều lớp trong một source file không?
Có, sơ đồ sau minh họa điều này: