Là một trong ba thành phần cốt lõi của Java Platform, có vai trò quan trong việc chạy và phát triển ứng dụng Java. Vậy JRE là gì? JRE thực thi như thế nào và gồm những gì? Hãy cùng Rikkei Academy tìm hiểu qua bài viết sau đây!
JRE là gì?
JRE (Java Runtime Environment) hay môi trường thực thi là một phần mềm chạy trên hệ điều hành máy tính và cung cấp các thư viện lớp và các tài nguyên khác mà một chương trình Java cụ thể cần để chạy.
JRE là một trong ba thành phần liên quan đến việc phát triển và chạy các chương trình Java. Hai thành phần còn lại như sau:
- Java Development Kit (JDK) – bộ công cụ để phát triển các ứng dụng Java.
- Java Virtual Machine (JVM) – máy ảo thực thi các ứng dụng Java.
JRE bao gồm những gì?
Bên cạnh JVM thì JRE còn bao gồm một loạt các công cụ và tính năng hỗ trợ khác để tận dụng tối đa các ứng dụng Java của bạn, các công cụ và tính năng hỗ trợ đó gồm:
Công nghệ triển khai
Các công nghệ triển khai (Deployment technologies) như Java Web Start và Java Plugin được tích hợp trong cài đặt JRE để đơn giản hóa việc kích hoạt các ứ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
JRE cũng chứa các bộ công cụ được thiết kế để giúp các nhà phát triển cải thiện giao diện người dùng của họ. Một số trong số các bộ công cụ này bao gồm:
- Java 2D: Một giao diện lập trình ứng dụng (API) được sử dụng để vẽ đồ họa hai chiều trong ngôn ngữ Java. Nhà phát triển có thể tạo ra giao diện người dùng phong phú, hiệu ứng đặc biệt, trò chơi và hoạt ảnh.
- Abstract Window Toolkit (AWT): Một giao diện người dùng đồ họa (GUI) được sử dụng để tạo ra 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 tập hợp các công cụ đa dạng để cung cấp các tùy chỉnh linh hoạt, thân thiện với người dùng.
Thư viện tích hợp
Java Runtime Environment cung cấp một số thư viện tích hợp để hỗ trợ các nhà phát triển tạo 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ố trong số các thư viện này bao gồm:
- Java IDL (CORBA): Sử dụng Kiến trúc 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.
- Java Database Connectivity (JDBC) API: Cung cấp các công cụ để các nhà phát triển viết ứng dụng có khả năng truy cập đến các cơ sở dữ liệu quan hệ từ xa, tệp phẳng và bảng tính.
- Java Naming and Directory Interface (JNDI): Một giao diện lập trình và dịch vụ thư mục cho phép các khách hàng tạo ra các ứng dụng di động có thể lấy 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
Được bao gồm trong JRE là các gói java.lang. và java.util. là cơ bản cho thiết kế ứng dụng Java, quản lý phiên bản gói và giám sát. Một số trong số các gói này bao gồm:
- Collections Framework: Một kiến trúc thống nhất gồm một tập hợp các 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: Một gói khung công cụ mạnh mẽ với các tiện ích đa luồng có hiệu suất cao.
- Preferences API: Một API nhẹ, đa nền tảng có tính liên tục cho phép nhiều người dùng trên cùng một máy định nghĩa nhóm tùy chọn ứng dụng của riêng 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à vấn đề hiệu suất – để phân tích tiếp theo.
- Java Archive (JAR): Định dạng tệp độc lập nền tảng cho phép đóng gói nhiều tệp thành định dạng JAR, tăng tốc tải xuống đáng kể và giảm kích thước tệp.
JVM và JRE hoạt động như thế nào?
JRE bao gồm JVM kèm theo các lớp thư viện và các công cụ phát triển. Chương trình sau khi được viết sẽ được lưu với .java extension và chuyển sang bước tiếp theo là biên dịch. Sau khi biên dịch, trình biên dịch tạo ra một tệp .class chứa byte-code. Byte-code là độc lập nền tảng và chạy trên bất kỳ thiết bị nào có JRE. Từ đây, công việc của JRE bắt đầu. Để chạy bất kỳ chương trình Java nào, bạn cần có JRE. Luồng của byte-code để chạy như sau:
ClassLoader
Java ClassLoader là thành phần chịu trách nhiệm tải các lớp cần thiết để thực thi chương trình Java. ClassLoader sử dụng cơ chế “lazy loading” để chỉ tải các lớp khi chúng được yêu cầu bởi chương trình. Điều này giúp tối ưu hóa việc sử dụng bộ nhớ và tăng hiệu suất của chương trình Java. Ở bước này, classloader tải các lớp (classes) cần thiết để thực thi chương trình. Classloader hỗ trợ việc tải các lớp vào Java Virtual Machine. Khi JVM được khởi động, ba classloader được sử dụng: Bootstrap class loader; Extensions class loader và System class loader.
Bytecode verifier
Java ClassLoader động lực hóa việc tải tất cả các lớp cần thiết để chạy một chương trình Java. Vì các lớp Java chỉ được tải vào bộ nhớ khi chúng được yêu cầu, JRE sử dụng ClassLoader để tự động hóa quá trình này theo yêu cầu.
Interpreter
Interpreter là một thành phần khác của JRE, chịu trách nhiệm thực thi bytecode và tạo ra các mã máy thực thi được. Interpreter đọc bytecode và chuyển đổi nó thành mã máy thực thi, dựa trên các quy tắc định nghĩa trong kiến trúc của JVM. Nó cũng cung cấp các tính năng bảo mật như kiểm soát quyền truy cập và kiểm tra giới hạn bộ nhớ.
Với các bước này, chương trình được thực thi trong JRE.
Tìm hiểu thêm: JDK, JRE, JVM là gì? Khác nhau như thế nào?
Cách tải JRE là gì?
Các bước download JRE khá đơn giản, tuy nhiên, điều quan trọng ở đây là thiết lập môi trường biến cho JRE, vì vậy, bạn hãy chú ý và làm theo hướng dẫn của Rikkei Academy:
Bước 1: Truy cập trang web chính thức của Oracle hoặc OpenJDK. Tìm kiếm phiên bản JRE phù hợp với hệ điều hành của bạn.
Bước 2: Nhấn vào nút tải xuống để tải xuống tệp cài đặt. Chạy tệp cài đặt và làm theo hướng dẫn trên màn hình để hoàn tất quá trình cài đặt.
Bước 3: Thiết lập môi trường biến cho JRE. Đây là bước vô cùng quan trọng hệ điều hành sẽ biết đường dẫn đến tệp thực thi của JRE và sẽ có thể chạy các ứng dụng Java một cách chính xác. Tại bước này bạn cần thao tác như sau:
- Đi tới Control Panel -> System and Security -> System -> Advanced System Settings. Hộp thoại sau sẽ xuất hiện.
- Nhấp vào Environment Variables, đi đến biến hệ thống và double-click vào Path.
- Thêm đường dẫn của tệp bin của bạn có trong thư mục JRE vào biến Path.
Bước 4: Hoàn thành quá trình tải JRE.
Lưu ý: Nếu bạn chỉ cần chạy ứng dụng Java trên máy tính thì chỉ cần tải JRE còn nếu bạn muốn chạy và phát triển ứng dụng Java thì bạn cần tải JDK. Để cài đặt JDK bạn tiến hành các bước tương tự JRE, ngoài ra, khi tải JDK đã kèm theo JRE nên bạn không cần cài đặt thêm JRE.
Tìm hiểu thêm: Bạn Đã Biết 10 Nguồn Khóa Học Lập Trình Java Miễn Phí 2023?
Kết luận
Hy vọng bài viết này của Rikkei Academy đã giúp hiểu hơn về JRE là gì nói riêng và ngôn ngữ lập trình Java nói chung. Việc hiểu sâu các kiến thức cơ bản sẽ giúp bạn xây dựng một nền tảng vững chắc trong quá trình học lập trình.
Nếu bạn đang muốn tìm hiểu về khóa học Java, tham khảo ngay Rikkei Academy. Rikkei Academy cung cấp các khóa học lập trình ngắn hạn với lộ trình sát thực tế giúp bạn có đủ kiến thức, kỹ năng để trở thành lập trình viên! Đăng ký nhận tư vấn miễn phí ngay!
Tài liệu tham khảo:
https://www.ibm.com/topics/jre
https://www.geeksforgeeks.org/jre-in-java/
https://www.javatpoint.com/java-jre