Phân tích nội tại chương trình Hello World trong Java



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.

Biên dịch Java code

Đ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
  • 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:

Học Java cơ bản
  • Để biên dịch, gõ: javac Hard.java

  • Để thực thi, gõ: java Simple

Quảng cáo

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:

Lưu trữ Java file

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.