JDK, JRE và JVM trong Java là các khái niệm cơ bản trước khi đi sâu về lập trình trong ngôn ngữ Java. Trong bài viết này, ta sẽ cùng tìm hiểu về các khái niệm này trong Java.
JRE là gì?
JRE, viết tắt của Java Runtime Environment, là một gói phần mềm cung cấp các thư viện Java, máy ảo Java (JVM) và các thành phần khác được yêu cầu chỉ để chạy hoặc thực thi (không dùng để phát triển) các ứng dụng bằng Java trên máy tính cá nhân. Hay nói cách khác, JRE là tập hợp của JVM và các thư viện khác nhau. Java Runtime Environment cung cấp các yêu cầu tối thiểu và cơ bản để có thể thực thi một ứng dụng bằng Java. JRE chỉ được sử dụng bởi những người chỉ muốn chạy các chương trình Java, tức là người dùng đầu cuối.
Các bạn có thể tải về JRE về tại đây
JDK là gì?
JDK (Java Development Kit) là một bộ phát triển phần mềm cần thiết để phát triển và thực thi (chạy) các ứng dụng bằng Java. Khi tải xuống JDK, JRE cũng được tải xuống cùng. Ngoài JRE, JDK cũng chứa một số công cụ phát triển như trình biên dịch, JavaDoc, Java Debugger,…
Các bạn có thể tải JDK về tại đây.
JVM là gì?
Máy ảo là một cách thức triển khai thực thi của một máy vật lý. Java được phát triển với khái niệm là WORA (Viết một lần và chạy được ở bất cứ đâu), thực thi trên máy ảo. Trình biên dịch sẽ biên dịch tệp Java thành tệp .class Java, sau đó tệp .class đó được đưa vào JVM. JVM (Java virtual machine) là một máy ảo cho phép máy tính của ta thực hiện chương trình Java.
Khi ta chạy chương trình Java, trình biên dịch Java trước tiên sẽ biên dịch mã Java thành mã bytecode. Sau đó, JVM dịch bytecode thành mã máy gốc (tập hợp các lệnh mà CPU của máy tính thực thi trực tiếp).
Java là một ngôn ngữ độc lập với nền tảng. Đó là vì khi ta viết đoạn mã Java, cuối cùng nó được viết cho JVM chứ không phải máy vật lý (máy tính). Vì JVM thực thi mã bytecode, nên Java là hoàn toàn độc lập với nền tảng mà người dùng sử dụng.
JVM hay máy ảo Java là một phần rất quan trọng của cả JDK và JRE vì nó được tích hợp sẵn trong cả hai. Bất kỳ chương trình Java nào mà ta chạy bằng JRE hoặc JDK sẽ đều đi vào JVM và JVM chịu trách nhiệm thực thi từng dòng chương trình Java, do đó, nó còn được gọi là trình thông dịch.
Mối liên hệ giữa JDK, JRE và JVM
Trên đây là khái niệm và ví dụ cơ bản về JDK, JRE và JVM trong Java. Hy vọng mọi người có thể áp dụng vào trong chương trình của mình. Mọi người hãy tiếp tục theo dõi các bài tiếp theo và cập nhật các bài mới nhất trên tek4 nhé!
P/s: Cảm ơn mọi người!