Biên Dịch Trong Chương Trình Java
Có thể bạn quan tâm
Để chạy một chương trình được viết bằng Java, trước tiên bạn cần thực hiện một quy trình gọi là biên dịch để tạo ra file class, từ file nguồn chứa mã chương trình. Dưới đây là hướng dẫn về cách thực hiện biên dịch để tạo file class.
Biên Dịch Là Gì
File nguồn của chương trình được tạo ra bằng ngôn ngữ lập trình có thể được đọc bởi con người, thường là dạng văn bản. Tuy nhiên, khi chương trình được thực thi, nó cần được chuyển đổi thành mã nhị phân có thể được máy tính hiểu được. Quá trình chuyển đổi này được gọi là biên dịch. Thời điểm và cách thực hiện phụ thuộc vào ngôn ngữ lập trình.
Một số ngôn ngữ lập trình như Python, Perl, PHP, Ruby được gọi là ngôn ngữ thông dịch. Điều này có nghĩa là có một chương trình riêng biệt để thực thi chương trình, đọc và chuyển đổi mã nguồn thành mã nhị phân khi chương trình chạy. Ví dụ, với Python, bạn có thể chạy chương trình như sau:
python ten_file_nguon.py |
Ở đây, python là chương trình thực thi, và mã nguồn được chuyển đổi thành mã nhị phân khi chạy. Tuy nhiên, việc này không yêu cầu bất kỳ công đoạn biên dịch nào trước đó và không có cơ hội kiểm tra lỗi cho đến khi chương trình thực sự chạy.
Trái lại, ngôn ngữ như C là ngôn ngữ biên dịch. Mã nguồn được biên dịch thành mã nhị phân trước khi chạy. Mã nhị phân được biên dịch được lưu thành tệp thực thi có đuôi .exe và có thể chạy độc lập. Ví dụ, với một chương trình C, bạn có thể chạy nó như sau:
ten_file_chuong_trinh.exe |
Quá trình biên dịch kiểm tra lỗi trước khi tạo ra một tệp thực thi, giúp đảm bảo rằng chương trình sẽ không có lỗi trong quá trình chạy, mặc dù vẫn có thể có lỗi thời gian chạy.
Bây giờ hãy cùng tìm hiểu cách Java biên dịch chương trình.
Java, giống như C và một số ngôn ngữ khác, Java yêu cầu một bước biên dịch trước khi thực thi chương trình được viết bằng nó. Do đó, tính chính xác của chương trình được tạo ra được kiểm tra trong quá trình biên dịch, và một tệp mã nhị phân được tạo ra bởi quá trình biên dịch được gọi là tệp lớp trong Java.
Tuy nhiên, khác với C, không có tệp thực thi (có đuôi .exe) được tạo ra bằng quá trình biên dịch trong Java. Để chạy chương trình Java, một chương trình riêng được cung cấp để thực hiện, chương trình này sẽ đọc tệp lớp được tạo ra bởi quá trình biên dịch rồi mới thực thi chương trình.
java tên_tệp_lớp |
Như vậy, Java sử dụng một hình thức kết hợp giữa kiểu biên dịch và kiểu thông dịch. Mỗi loại có ưu điểm và nhược điểm riêng, nhưng ở đây Kiyoshi sẽ không tiếp tục giải thích chi tiết hơn. Nếu bạn quan tâm, hãy tìm hiểu thêm thông tin từ các nguồn khác nhé.
Biên Dịch Chương Trình Java
Như Kiyoshi đã giải thích ở trên, để thực thi một chương trình Java được tạo ra, bạn cần phải biên dịch nó trước, tạo ra một tệp mã nhị phân (được gọi là tệp lớp) từ tệp nguồn. Quá trình biên dịch được thực hiện bằng cách sử dụng chương trình javac được gọi bằng lệnh như sau:
javac tên_tệp_nguồn.java |
Hãy đảm bảo chương trình javac.exe được sử dụng để biên dịch đã nằm trong thư mục bin của JDK đã được cài đặt (Java Development Kit).
Bây giờ, hãy cùng thử biên dịch một chương trình Java.
- Mở một trình soạn thảo văn bản và nhập vào một chương trình đơn giản:
class JSample3_1 { public static void main(String[] args) { System.out.println("Hello"); }} |
- Lưu tệp nguồn với tên JSample3_1.java.
- Mở cửa sổ lệnh trong thư mục chứa tệp nguồn. Với hệ điều hành Windows, chúng ta có thể sử dụng Command Prompt hoặc là Window PowerShell để thực hiện điều này.
- Do chúng ta cần biên dịch tệp nguồn có tên là “JSample3_1.java “, nên hãy nhập lệnh sau và nhấn Enter để tiến hành biên dịch:
javac JSample3_1.java |
- Nếu không có lỗi, việc biên dịch đã được chạy xong. Hãy kiểm tra thư mục để tìm tệp lớp JSample3_1.class mới được tạo ra.
Nếu tìm thấy tệp lớp JSample3_1.class được tạo, việc biên dịch chương trình từ tệp nguồn JSample3_1.java đã thành công. Tới bước náy, chúng ta đã chuẩn bị xong cho việc chạy chương trình Java.
3. Xử Lý Lỗi Biên Dịch
Khi một lỗi biên dịch xuất hiện trong quá trình tạo tệp lớp từ tệp nguồn, một kiểm tra được thực hiện để đảm bảo rằng chương trình đã viết không có lỗi ngữ pháp. Nếu có lỗi trong chương trình, một thông báo lỗi sẽ xuất hiện trong quá trình biên dịch, và nếu có lỗi, tệp lớp sẽ không được tạo ra.
Bây giờ, hãy cố ý viết một chương trình có lỗi ngữ pháp và biên dịch nó. Mở một trình soạn thảo văn bản và nhập vào chương trình đơn giản sau:
class JSample3_2{ public static void main(Sting[] args){ System.aut.println("Hello"); } }Trên đây tệp nguồn đã được cố ý viết Sting[] thay vì String[] và aut thay vì out. Hãy lưu tệp nguồn này với tên JSample3_2.java.
Bây giờ, hãy biên dịch nó. Thực hiện lệnh sau trong cửa sổ lệnh:
javac JSample3_2.java |
Một thông báo lỗi xuất hiện như sau:
Thông báo lỗi chỉ ra vị trí có vấn đề trong chương trình, chỉ định dòng và phần nào của dòng là không chính xác và vì lý do gì. Nếu có lỗi, việc biên dịch thất bại và tệp lớp sẽ không được tạo ra.
Để sửa lỗi, bạn cần chỉnh sửa mã nguồn và sau đó thực hiện lại bước biên dịch từ ban đầu.
Tổng kết
Trên đây Kiyoshi đã giải thích về quá trình biên dịch để tạo ra file class từ mã nguồn chương trình Java.
URL Link
https://laptrinhcanban.com/java/java-co-ban-cho-nguoi-moi-bat-dau/viet-chuong-trinh-java/bien-dich-chuong-trinh-java/
Từ khóa » Trình Biên Dịch Là Gì Java
-
Trình Biên Dịch Java Hoạt động Thế Nào? - NIIT - ICT Hà Nội
-
Thông Dịch Và Biên Dịch Trong Java - Programming - Dạy Nhau Học
-
Trình Biên Dịch Ngược Trong Java Mà Mọi LTV đều Nằm Lòng
-
Sự Khác Nhau Giữa Trình Biên Dịch Và Trình Thông Dịch - Viblo
-
Classpath Và Biên Dịch Java Từ Command Line - Viblo
-
Viết Và Biên Dịch Chương Trình Java Helloworld Không Dùng IDE
-
Tổng Quan Về Ngôn Ngữ Lập Trình Java - GP Coder
-
Phân Biệt Trình Biên Dịch - Thông Dịch
-
Hướng Dẫn Thiết Kế Trình Biên Dịch Là Gì ? Trình Biên Dịch Java ...
-
Trình Biên Dịch – Wikipedia Tiếng Việt
-
Java (ngôn Ngữ Lập Trình) – Wikipedia Tiếng Việt
-
Kiến Thức IT - So Sánh Trình Biên Dịch Của Java Vs C++ ... - Facebook
-
Java Là Gì? Tổng Quan Về Ngôn Ngữ Lập Trình Java | TopDev
-
Tại Sao Java Là Một Ngôn Ngữ được Biên Dịch Và Thông Dịch?