cat professor question

Java hoạt động như thế nào?

Xin chào, bài viết này sẽ trình bày một điều rất cần thiết khi bắt đầu học Java. Đó chính là Java hoạt động như thế nào? . Điều này giúp hiểu bản chất của Java mà mình đã không làm được khi mới bắt đầu.

Java hoạt động như thế nào

Chắc hẳn các bạn đã biết đến câu nói đầy quyến rũ “Write-one/Run-anywhere”. Tại sao có thể viết code một lần mà chạy trên tất cả mọi nơi (thiết bị) như: điện thoại, máy tính, laptop, điện thoại cục gạch, hãy xem ví dụ và hình ảnh dưới đây.

Mục tiêu: Yêu cầu coder Tùng Mây viết một con game Caro và có thể chạy trên các thiết bị: điện thoại, máy tính và máy tính bảng

  1. File source code sau khi được Tùng Mây sử dụng ngôn ngữ Java để viết mã.
  2. Chạy file source code bằng trình biên dịch (compiler). Compiler sẽ kiểm tra lỗi, biên dịch sẽ hoàn tất nếu không có lỗi xảy ra.
  3. Compiler tạo ra file mới, được mã hóa thành Java bytecode. Bất kì thiết bị nào có khả năng chạy Java đều có thể thông dịch (interpret) file này sang thứ gì đó mà nó có thể chạy.
  4. Các thiết bị được cài đặt máy ảo Java (JVM – Java virtual machine). Khi các thiết bị chạy game, JVM sẽ đọc và chạy các file bytecode.

Ví dụ thực tế

Sau khi nắm được cơ bản cách mà Java hoạt động thì hãy thực hành luôn một ví dụ cụ thể. Công việc bạn cần làm là: Viết file mã nguồn, biên dịch nó sang file bytecode bằng trình biên dịch bằng cách chạy câu lệnh javac, sau đó chạy file bytecode trên JVM.

1. Tạo file source code và lưu là HelloWord.java

source code example. print current time.

2. Biên dịch file HelloWord.java bằng câu lệnh javac (ứng dụng trình biên dịch). Nếu thành công sẽ có một file HelloWord.class. File .class này được trình biên dịch tạo nên từ các mã bytecode.

sử dụng lệnh javac để biên dịch file java source code

3. Mã bytecode của file HelloWord.class sau khi được biên dịch

bytecode of file class

4. Chạy chương trình bằng cách khởi động JVM với file HelloWorld.class. JVM sẽ dịch mã bytecode thành thứ mà nền tảng nó hiểu được và chạy được.

Kết luận

Như vậy là các bạn có thể giải thích được thuật ngữ “Write-one/Run-anywhere” sau khi hiểu được cách hoạt động của Java. Chỉ cần viết code một lần, biên dịch nó thành bytecode và mang đi bất cứ đâu mà JVM hoạt động. JVM sẽ làm nốt nhiệm vụ còn lại mà mình không cần quan tâm. Ví dụ như viết code ở hệ điều hành Windows, biên dịch sang bytecode và mang sang hệ điều hành Ubuntu để chạy chẳng hạn.

Nối tiếp bài viết này là bài viết có nội dung về JDK, JRE JVM.

Tài liệu tham khảo