JDK, JRE, JVM là ba thành phần cốt lõi được sử dụng để chạy và phát triển các ứng dụng Java, mỗi thành phần có đặc điểm, vai trò khác nhau. Bài viết này của Rikkei Academy sẽ giúp bạn hiểu hơn về các thành phần này từ đó giúp bạn hiểu hơn cơ chế hoạt động của Java.
JVM trong Java là gì?
Trước hết, chúng ta sẽ tìm hiểu JVM trong JDK, JRE, JVM là gì?
Java Virtual Machine (JVM) là một máy ảo được sử dụng để biên dịch và thực thi mã Java. Nó là một phần của Java Runtime Environment (JRE).
- JVM hỗ trợ cách thực thi mã nguồn Java độc lập với nền tảng. Nó dựa trên WORA (Write Once Run Anywhere) để đảm bảo tính đa nền tảng.
- JVM có bộ nạp lớp, khu vực dữ liệu thời gian chạy, trình biên dịch và thư viện.
- JVM đi kèm với trình biên dịch JIT (Just-in-Time) để chuyển đổi mã nguồn Java thành mã máy.
Trước tiên, trình biên dịch Java biên dịch một tệp Java thành một tệp .class Java. Sau đó, tệp .class hoạt động như một đầu vào cho JVM, nó tải và thực thi tệp lớp.
- JVM là một máy ảo được sử dụng để biên dịch và thực thi mã Java.
Tham khảo thêm: Kinh Nghiệm Học Lập Trình Java Cho Người Mới Bắt Đầu
JRE trong Java là gì?
JRE là phần mềm bao gồm JVM và thư viện lớp để chạy các chương trình Java độc lập. Mặc dù nó có thể thực thi mã, JRE được đóng gói cùng với Java Development Kit (JDK) để cung cấp trải nghiệm phát triển ứng dụng đầy đủ.
- JRE bao gồm các thư viện lớp cùng với JVM và các tệp hỗ trợ của nó. Lưu ý: Nó không bao gồm các công cụ riêng biệt như trình gỡ lỗi cho phát triển Java.
- JRE bao gồm các gói lớp quan trọng như util, math, AWT, lang và các thư viện runtime khác.
JRE = JVM + Thư viện lớp (Để chạy các ứng dụng Java)
- JRE là phần mềm bao gồm JVM và thư viện lớp để chạy các chương trình Java độc lập
JDK trong Java là gì?
Java Development Kit (JDK) là một môi trường phần mềm hoàn chỉnh để xây dựng ứng dụng và applet bằng ngôn ngữ lập trình Java. JDK phụ thuộc vào nền tảng, vì vậy nó có các phiên bản nền tảng hệ điều hành khác nhau cho Windows, Linux, Mac, vv. Nó cho phép đọc, viết và thực thi chương trình Java.
- Nó bao gồm các công cụ khác nhau cần thiết để viết chương trình Java.
- Nó bao gồm một Appletviewer, trình khởi chạy ứng dụng Java, trình gỡ lỗi, trình biên dịch, vv.
- JDK cũng bao gồm JRE để thực thi các chương trình Java.
- Trình khởi chạy ứng dụng Java giúp mở một JRE. Sau đó, nó tải các chi tiết cần thiết và thực thi phương thức chính của chương trình.
JDK = Công cụ phát triển + JRE (Môi trường thực thi Java)
- JDK là một môi trường phần mềm hoàn chỉnh để xây dựng ứng dụng và applet Java
Sự khác biệt giữa JDK, JRE, JVM
Thông thường, mọi người thường hay thắc mắc về sự khác biệt giữa JDK và JRE, tuy nhiên để có cái nhìn tổng quan nhất. chúng ta sẽ đi vào sự khác biệt giữa về 3 thành phần JDK, JRE, JVM trong Java là gì.
JDK | JRE | JVM |
Là một bộ công cụ phát triển phần mềm giúp cho việc phát triển các ứng dụng bằng Java. Bên cạnh JRE, JDK bao gồm các công cụ phát triển khác. | Là một loại gói phần mềm cung cấp thư viện lớp Java với JVM. Ngoài ra, nó còn bao gồm các thành phần khác để chạy các ứng dụng Java. | Là một máy ảo độc lập với nền tảng với một trình tải, runtime data và bộ thông dịch (Java interpret) |
JDK phụ thuộc vào nền tảng.Với mỗi nền tảng hệ điều hành (Linux, Windows, Mac, vv.), người dùng cần cài đặt một JDK khác nhau. | JRE cũng phụ thuộc vào nền tảng, giống như JDK. | JVM là độc lập với nền tảng, người dùng không cần phải cài đặt JVM khác nhau cho mỗi nền tảng hệ điều hành. |
JDK chủ yếu hỗ trợ thực thi mã nguồn. Chức năng chính của JDK là hỗ trợ phát triển ứng dụng. | JRE có trách nhiệm chính là tạo môi trường để thực thi mã nguồn. | JVM chỉ định tất cả các triển khai. Nó có trách nhiệm cung cấp tất cả các triển khai này cho JRE. |
JDK bao gồm nhiều công cụ để gỡ lỗi, giám sát và phát triển các ứng dụng Java. | JRE chứa các tệp hỗ trợ khác nhau cho JVM và các thư viện lớp giúp JVM chạy chương trình. | JVM không bao gồm bất kỳ công cụ phát triển phần mềm nào. Nó chỉ cung cấp môi trường thực thi mã Java trên nền tảng khác nhau. |
JDK là siêu tập của JRE, điều này có nghĩa là JDK bao gồm tất cả các thành phần của JRE và các công cụ phát triển khác. | JRE là phần con của JDK, chỉ bao gồm các thành phần cần thiết để chạy các ứng dụng Java, bao gồm JVM và các thư viện lớp. | JVM là một phần con của JRE, chỉ cung cấp môi trường thực thi mã Java và không bao gồm bất kỳ công cụ phát triển phần mềm nào. |
JDK đi kèm với trình cài đặt cho hệ điều hành. Khi cài đặt JDK, các công cụ phát triển và JRE sẽ được cài đặt cùng với nó. | JRE chỉ chứa môi trường để thực thi mã nguồn. Nó không bao gồm các công cụ phát triển khác như JDK. | JVM được gói trong cả JDK và JRE. Điều này có nghĩa là khi cài đặt JDK hoặc JRE, JVM sẽ được cài đặt kèm theo để cung cấp môi trường thực thi mã Java. |
Kết luận
Qua bài viết này, Rikkei Academy đã cùng bạn tìm hiểu về bộ ba thành phần cốt lõi của Java bao gồm JDK, JRE và JVM từ định nghĩa, tính năng đến điểm khác biệt giữa chúng. Hy vọng các thông tin trên đã giúp ích cho bạn trong quá trình tìm hiểu về ngôn ngữ Java.
Nếu bạn đang muốn tìm hiểu về khóa học lập trình Java, tham khảo ngay Rikkei Academy. Thời gian học linh hoạt, lộ trình tinh gọn chỉ với các kiến thức, kỹ năng bám sát thực tế, bạn đã có thể trở thành lập trình viên tiêu chuẩn sau 6 tháng! Đăng ký để nhận tư vấn miễn phí ngay!
Tài liệu tham khảo:
https://www.softwaretestinghelp.com/java-components-java-platform-jdk/#The_Java_Virtual_Machine_JVM
https://www.shiksha.com/online-courses/articles/difference-between-jdk-jre-and-jvm/