JRE (Java Runtime Environment) là gì?
Java Runtime Environment (JRE) là một phần mềm thiết yếu cho phép các ứng dụng Java chạy trên máy tính của bạn. Nó bao gồm các thư viện, công cụ và tài nguyên cần thiết để thực thi bytecode Java, ngôn ngữ lập trình phổ biến được sử dụng trong nhiều ứng dụng và dịch vụ trực tuyến. Vậy phần mềm này như thế nào hãy cùng Bizfly Cloud tìm hiểu ngay qua bài viết dưới đây.
JRE là gì?
JRE (Java Runtime Environment) là một phần mềm chạy trên hệ điều hành máy tính, cung cấp các tài nguyên cần thiết để chạy chương trình Java. Nói một cách đơn giản, JRE là cầu nối giữa chương trình Java và hệ điều hành, cho phép chương trình Java chạy trên bất kỳ hệ điều hành nào mà không cần sửa đổi.
Tuy nhiên, JRE không bao gồm các công cụ phát triển, chỉ bao gồm các thư viện và tài nguyên cần thiết để chạy chương trình Java đã được biên dịch.
JRE hoạt động như thế nào?
Bộ phát triển Java (JDK) và JRE tương tác với nhau để tạo ra một môi trường chạy liền mạch cho phép thực thi liên tục các ứng dụng dựa trên Java trong hầu hết mọi hệ điều hành. Các thuộc tính này tạo nên kiến trúc thời gian chạy JRE:
Java ClassLoader
Java ClassLoader tải động tất cả các lớp cần thiết để chạy chương trình Java. Vì các lớp Java chỉ được tải vào bộ nhớ khi được yêu cầu nên JRE sử dụng Trình tải lớp để tự động hóa quy trình này theo yêu cầu.
Trình xác minh mã byte
Trình xác minh mã byte đảm bảo định dạng và độ chính xác của mã Java trước khi nó được chuyển đến trình diễn giải. Nếu mã vi phạm tính toàn vẹn của hệ thống hoặc quyền truy cập, lớp đó sẽ bị coi là bị hỏng và sẽ không được tải.
Trình diễn giải
Sau khi mã byte tải thành công, trình diễn giải Java sẽ tạo một phiên bản của JVM cho phép chương trình Java chạy nguyên bản trên máy cơ sở.
JRE bao gồm những gì?
Bên cạnh máy ảo Java, JRE còn bao gồm nhiều công cụ và tính năng phần mềm hỗ trợ khác để tận dụng tối đa các ứng dụng Java của bạn. Những công cụ và tính năng hỗ trợ này bao gồm:
Giải pháp triển khai
Các công nghệ triển khai như Java Web Start và Java Plugin được tích hợp vào bản cài đặt JRE để đơn giản hóa việc kích hoạt ứng dụng và cung cấp hỗ trợ nâng cao cho các bản cập nhật Java trong tương lai.
Bộ công cụ phát triển
RE cũng bao gồm các công cụ phát triển được thiết kế để giúp các nhà phát triển nâng cao giao diện người dùng của họ. Một số công cụ này bao gồm:
- Java 2D: Giao diện lập trình ứng dụng (API) được sử dụng để vẽ đồ họa 2D bằng ngôn ngữ Java. Nhà phát triển có thể tạo giao diện phong phú và các hiệu ứng đặc biệt.
- Bộ công cụ cửa sổ trừu tượng (AWT): Giao diện đồ họa người dùng (GUI) được sử dụng để tạo các đối tượng, nút, thanh cuộn và cửa sổ.
- Swing: Một GUI nhẹ khác sử dụng một bộ công cụ đa dạng để cung cấp khả năng tùy chỉnh linh hoạt và thân thiện với người dùng.
Thư viện tích hợp
Môi trường chạy thi hành Java cung cấp một số thư viện tích hợp để hỗ trợ các nhà phát triển kết nối dữ liệu liền mạch giữa các ứng dụng và dịch vụ của họ. Một số thư viện này bao gồm:
- Java IDL (CORBA): Sử dụng Kiến trúc môi giới yêu cầu đối tượng chung để hỗ trợ các đối tượng phân tán được viết bằng ngôn ngữ lập trình Java.
- API kết nối cơ sở dữ liệu Java (JDBC): Cung cấp các công cụ để nhà phát triển viết các ứng dụng có khả năng truy cập cơ sở dữ liệu từ xa.
- Giao diện thư mục và đặt tên Java (JNDI): Giao diện lập trình và dịch vụ thư mục cho phép tạo các ứng dụng có thể truy xuất thông tin từ cơ sở dữ liệu bằng cách sử dụng quy ước đặt tên.
Thư viện ngôn ngữ và tiện ích
Thư viện ngôn ngữ và tiện ích rất cần thiết cho việc thiết kế các ứng dụng Java, lập phiên bản gói và giám sát. Một số gói này bao gồm:
- Collections Framework: Một kiến trúc hợp nhất bao gồm một bộ giao diện được thiết kế để cải thiện việc lưu trữ và xử lý dữ liệu ứng dụng.
- Concurrency Utilities: Gói tiện ích đa luồng hiệu suất cao mạnh mẽ.
- Preferences API: API nhẹ, đa nền tảng với tính bền bỉ cho phép nhiều người dùng trên cùng một máy xác định các nhóm tùy chọn dành riêng cho ứng dụng của họ.
- Logging: Tạo báo cáo nhật ký - chẳng hạn như lỗi bảo mật, lỗi cấu hình và sự cố hiệu suất - để phân tích thêm.em note
- Java Archive (JAR): Định dạng tệp độc lập với nền tảng cho phép đóng gói nhiều tệp thành định dạng JAR, tăng tốc đáng kể quá trình tải xuống và giảm kích thước tệp.
Các phiên bản của JRE
Môi trường chạy Java (JRE) được cập nhật cho mỗi phiên bản Java mới. Số phiên bản của JRE tương ứng với hệ thống tạo phiên bản nền tảng Java. Ví dụ, JRE 1.19 chạy Java 19.
Hầu hết các máy tính chạy JRE được phát triển cho Java SE. JRE này có thể chạy bất kỳ ứng dụng Java nào, bất kể nó được phát triển như thế nào. Các thiết bị di động thường có JRE cho Java ME được cài đặt sẵn và không thể tải xuống. Để kiểm tra phiên bản JRE đã được cài đặt, bạn có thể sử dụng lệnh java -version trên dòng lệnh. Trên hệ thống POSIX, bạn có thể sử dụng lệnh which java để tìm vị trí đã cài đặt.
JRE có vai trò gì với devops?
Mặc dù JRE không được chú ý nhiều trong giai đoạn phát triển, nhưng nó đóng vai trò quan trọng trong quản trị hệ thống và phát triển. JRE được sử dụng để giám sát và cấu hình các ứng dụng Java, đặc biệt là việc sử dụng bộ nhớ. Việc sử dụng bộ nhớ là một yếu tố quan trọng trong quản trị hệ thống, đặc biệt là trong cấu hình đám mây và devops. Nếu bạn đang làm việc trong môi trường devops hoặc quan tâm đến việc phân nhánh thành devops, bạn nên hiểu cách hoạt động của bộ nhớ Java và cách nó được giám sát trong JRE.
Kết luận
Bài viết này của Bizfly Cloud đã cung cấp thông tin chi tiết về JRE và vai trò của nó trong việc chạy các ứng dụng Java. Nắm vững kiến thức cơ bản về JRE sẽ giúp bạn xây dựng nền tảng vững chắc cho việc học lập trình Java. JRE là phần mềm thiết yếu cho bất kỳ ai muốn chạy ứng dụng Java trên máy tính.