Biên dịch trong chương trình Java | Laptrinhcanban.com

Biên dịch trong chương trình Java

Cùng tìm hiểu về biên dịch trong chương trình Java. Bạn sẽ học được khái niệm biên dịch chương trình là gì, quá trình biên dịch trong chương trình Java , cũng như cách biên dịch một chương trình Java sau bài học này.

Biên dịch chương trình là gì trong Java

Java là một ngôn ngữ bậc cao và nội dung viết trong đó rất giống với cách viết và suy nghĩ của con người. Tuy nhiên thì trong máy tính chỉ có 2 trạng thái tồn tại đó là có dòng điện chạy quakhông có dòng điện chạy qua, tương ứng với 2 số 01, do đó máy tính không thể hiểu được nội dung chúng ta đã viết trong mã nguồn của chương trình Java đâu.

Và để cho máy tính có thể hiểu ngôn ngữ con người, chúng ta cần phải biên dịch nội dung đã viết sang dạng 1, 0 cho máy tính hiểu. Công việc này được gọi là biên dịch chương trình, hay còn gọi là compile chương trình, và công cụ sử dụng để biên dịch chương trình Java được gọi là trình biên dịch hay là compiler trong Java.

Biên dịch (compile) trong Java

Sự khác biệt giữa biên dịch chương trình trong Java với các ngôn ngữ khác

Trong phần lớn các ngôn ngữ lập trình cần sử dụng tới trình biên dịch thì quá trình biên dịch sẽ dịch ngôn ngữ lập trình trực tiếp sang ngôn ngữ máy tính sử dụng trên hệ điều hành đó.

Và do vậy, kết quả của việc biên dịch ngôn ngữ lập trình sẽ là một file thực thi có thể chạy trực tiếp và độc lập trên hệ điều hành đã biên dịch.

Tuy nhiên việc biên dịch chương trình trong Java lại có chút khác biệt. Do Java được phát triển trên nguyên lý có thể chạy trên mọi hệ điều hành, nên việc biên dịch chương trình trong Java sẽ không dịch trực tiếp mã nguồn Java sang ngôn ngữ máy tính, mà sẽ là một loại ngôn ngữ trung gian mà mọi loại máy tính đều có thể hiểu được. Ngôn ngữ trung gian này được lưu vào trong Tệp lớp Java (Java class file) - file kết quả của việc biên dịch, chứa mã byte Java có thể được thực thi trên bất cứ hệ điều hành nào, và tệp lớp Java này đều giống nhau dù bạn biên dịch chúng ở các hệ điều hành khác nhau.

Mã nguồn trung gian này không thể tự thực thi, mà nó cần được chạy trên môi trường tạo bởi JVM - máy ảo Java phù hợp với từng hệ điều hành khác nhau mà chúng ta đã học tại bài . Do mã nguồn trung gian này là giống nhau, nên chúng có thể hoạt động trên bất kỳ hệ điều hành nào, miễn là máy ảo Java phù hợp với hệ điều hành đó được cài đặt.

JVM là gì

Sau đó, chúng ta sẽ sử dụng JVM tương ứng với từng hệ điều hành để chạy mã nguồn trung gian được biên dịch trong tệp lớp Java.

Các trình biên dịch trong Java

Để biên dịch chương trình Java, chúng ta cần cài đặt và sử dụng các trình biên dịch hay còn gọi là compiler trong Java. Có rất nhiều trình biên dịch miễn phí mà chúng ta có thể sử dụng trong ngôn ngữ Java như sau:

Trình biên dịch trong AdoptOpenJDK

AdoptOpenJDK là tệp nhị phân của OpenJDK được cung cấp bởi cộng đồng. Giống như OpenJDK thì chũng ta có thể sử dụng AdoptOpenJDK để cài đặt và sử dụng miễn phí Java, ngay cả với mục đích thương mại.

Sau khi chúng ta cài đặt AdoptOpenJDK vào máy tính, chúng ta có thể sử dụng trình biên dịch này để compile chương trình Java bằng lệnh sau đây:

javac filename.java

Trình biên dịch trong OpenJDK

OpenJDK là bản Java Development Kit được công ty Oracle phát hành miễn phí cho phép bạn viết code và chạy các chương trình lập trình Java, với mục đích sử dụng cho cá nhân, học tập và nghiên cứu.

Tương tự AdoptOpenJDK thì sau khi chúng ta cài đặt OpenJDK vào máy tính, chúng ta có thể sử dụng trình biên dịch này để compile chương trình Java bằng lệnh sau đây:

javac filename.java

Biên dịch và chạy mã Java trong Eclipse

Eclipse là một IDE miễn phí tích hợp cả phần mềm viết code Java. Đây là phần mềm được sử dụng thực tế trong công việc, và hầu hết các công ty phần mềm đều lựa chọn nó trong phát triển các dự án.

Để biên dịch chương trình Java bằng Eclipse, sau khi mở file java thì chúng ta có thể sử dụng một trong hai cách sau để biên dịch và chạy chương trình.

Cách 1: Ở trên thanh công cụ chọn Run -> Run (Phím tắt Ctrl + F11)

Cách 2: Click biểu tượng Play trên thanh công cụ sau đó chọn OK

Biên dịch và chạy mã Java trong Sublime Text

Sublime Text là một phần mềm viết code được sử dụng rộng rãi với nhiều ngôn ngữ lập trình, trong đó có Java. Hiện tại thì phiên bản mới nhất là Sublime Text 3.

Để biên dịch chương trình Java bằng Sublime Text 3, sau khi mở file java thì chúng ta làm như sau để biên dịch và chạy chương trình.

  1. Ở trên thanh công cụ chọn Tool -> Build System -> JavaC

  2. Nhấn tổ hợp phím Ctrl + B, hoặc là chọn Tool -> Build để biên dịch và chạy chương trình Java.

Cách biên dịch một chương trình Java

Ở phần trên chúng ta đã nắm vững được khái niệm biên dịch trong Java, cũng như là các trình biên dịch có thể được sử dụng trong hai ngôn ngữ này.

Sau đây Kiyoshi sẽ hướng dẫn bạn compile một chương trình Java trên nền tảng cmd. Lưu ý là bạn cần phải cài đặt cũng như khai báo biến môi trường bởi một trong các trình biên dịch/IDE mà Kiyoshi đã hướng dẫn ở trên.

Cú pháp tổng quát biên dịch một chương trình Java như sau:

javac filename.java

Trong đó filename là tên của file java chứa mã nguồn, và filename phải trùng với tên class được khai báo trong chương trình.

Ví dụ, chúng ta sẽ sử dụng tới file hello.java đã được chuẩn bị trong bài Các viết và lưu chương trình trong Java với mã nguồn như sau:

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

Hãy lưu lại file trên với tên HelloWorld.java tại một thư mục bất kỳ, ví dụ như là D:\code\java\HelloWorld.java chẳng hạn.

Để biên dịch (compile) file .java trên, trước hết chúng ta mở cmd trên máy tính, sau đó di chuyển đường dẫn trong cmd tới thư mục chứa file Java bằng lệnh sau:

cd/d D:\code\java

Sau đó, hãy chạy lệnh sau đây để tiến hành compile file HelloWorld.java:

javac HelloWorld.java

Biên dịch chương trình Java

Sau khi compile thành công, một class file với tên HelloWorld.class sẽ được tạo ra trong cùng thư mục với file HelloWorld.java như dưới đây:

Biên dịch chương trình Java

Và lúc này, hãy dùng lệnh sau đây để chạy class file vừa mới tạo ra

java HelloWorld

Kết quả bạn có thể thấy chương trình chạy và in ra màn hình câu chào Hello world! như sau:

Biên dịch chương trình Java

Tổng kết

Trên đây Kiyoshi đã cùng bạn tìm hiểu về biên dịch trong chương trình Java rồi. Ở bài tiếp theo, chúng ta sẽ cùng học các cách chạy chương trình Java phổ biến nhất hiện nay nhé.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.