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

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

Mọi người cho thể tham gia khóa học thứ 3 của vietjackteam vào đầu tháng 07/2017 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Khóa học cũng đưa 200 câu hỏi phỏng vấn java trên https://www.javatpoint.com/corejava-interview-questions vào nội dung để giúp các bạn dễ dàng vượt qua kì phỏng vấn

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Thông tin khóa học tại Khóa học Java Online trên Udemy

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

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 fanpage của team https://www.facebook.com/vietjackteam/ hoặc 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.



Demo một bài giảng trong khóa học online tại vietjackteam.