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:
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á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.
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 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:
Đượ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:
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:
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.
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 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.
Tuyển dụng Bridge Software Engineer ( BrSE )
PHP là gì? Lập trình viên PHP làm công việc gì?
JVM là gì? Tìm hiểu chi tiết về Java Virtual Machine trong Java
Laravel là gì và Tại sao bạn nên học Laravel?
ReactJS là gì? Những điều có thể bạn chưa biết về ReactJS