Môi trường thời gian chạy Java là gì?
Java Runtime Environment (JRE) là phần mềm cần thiết để các chương trình Java hoạt động chính xác. Java là một ngôn ngữ máy tính hỗ trợ nhiều ứng dụng web và di động hiện nay. JRE là công nghệ cơ sở giúp giao tiếp giữa chương trình Java và hệ điều hành. Công nghệ này đóng vai trò làm trình biên dịch và trình điều phối, cung cấp tất cả các tài nguyên giúp phần mềm Java mà bạn viết có thể chạy trên mọi loại hệ điều hành mà không cần sửa đổi thêm.
Tại sao JRE lại quan trọng?
Một chương trình phần mềm cần một môi trường thời gian chạy cho phép truy cập vào bộ nhớ và các tài nguyên hệ thống khác như các tập chương trình và thành phần phụ thuộc. Trước đây, hầu hết phần mềm trực tiếp sử dụng hệ điều hành để làm môi trường thời gian chạy. Tuy nhiên, điều này cũng có nghĩa rằng các nhà phát triển đã phải viết mã khác nhau cho từng hệ điều hành để có thể chạy ứng dụng trên đó. Công nghệ Môi trường thời gian chạy Java (JRE) đã được tạo ra để giải quyết vấn đề này.
JRE chính là một trong ba thành phần nền tảng Java cần có để mọi chương trình Java có thể hoạt động thành công. Bộ phát triển Java (JDK) và Máy ảo Java (JVM) là hai thành phần còn lại.
Bộ phát triển Java
JDK là một bộ công cụ phần mềm mà bạn có thể sử dụng để phát triển các ứng dụng Java. Bạn có thể thiết lập JDK trong môi trường phát triển của mình bằng cách tải xuống và cài đặt bộ công cụ này. Chọn phiên bản phần mềm JDK khớp với phiên bản Java bạn muốn sử dụng. Ví dụ: Java phiên bản tiêu chuẩn (hay Java SE) cần có Java SE JDK.
Máy ảo Java
JVM là phần mềm chạy chương trình Java theo từng dòng. Các nhà phát triển cấu hình cho cài đặt của JVM để quản lý các tài nguyên chương trình khi ứng dụng Java hoạt động. Ví dụ: Bạn có thể thay đổi cài đặt bộ nhớ của JVM và kiểm tra mức sử dụng dung lượng bộ nhớ trong của các ứng dụng Java tại thời gian chạy.
Vai trò của JRE trong ngôn ngữ lập trình Java
JRE kết hợp mã Java mà bạn tạo bằng cách sử dụng JDK với mã tích hợp bổ sung được gọi là thư viện. Sau đó, phần mềm này tạo một phiên bản JVM (hay bản sao cục bộ) để chạy các phần mềm Java sau cùng. JVM được cung cấp cho nhiều loại hệ điều hành và JRE tạo ra một bản sao mã Java chạy trên tất cả các loại JVM. Bằng cách này, JRE tạo điều kiện cho các ứng dụng Java hoạt động độc lập với nền tảng. Bạn có thể viết các ứng dụng này một lần và cho chạy ở bất cứ đâu.
Sự khác biệt giữa JRE, JVM và JDK
JDK là một lớp phần mềm nằm trên JRE có chứa trình biên dịch, trình gỡ lỗi và các công cụ khác thường thấy trong bất kỳ môi trường phát triển phần mềm nào. Bạn viết mã bằng cú pháp giống tiếng Anh trong JDK. JDK sẽ biên dịch mã này và chuyển mã dạng byte đến JRE. Trái lại, JRE chứa các thư viện lớp, tệp hỗ trợ và JVM. JRE sử dụng các thành phần phần mềm này để chạy mã dạng byte trên mọi thiết bị.
JRE hoạt động như thế nào?
Môi trường thời gian chạy Java (JRE) chạy trên hệ điều hành, cung cấp các tài nguyên bổ sung dành riêng cho Java. Bộ phát triển Java (JDK) và JRE tương tác để tạo ra một môi trường thời gian chạy ổn định, cho phép chạy các tệp chương trình Java trên mọi thiết bị. JRE sử dụng ba thành phần cốt lõi để làm việc.
ClassLoader
Thư viện lớp Java có chứa các bộ mã viết sẵn mà bạn có thể gọi khi cần. Các thư viện này đơn giản hóa công việc của nhà phát triển Java bằng cách cung cấp phương pháp tích hợp sẵn cho tác vụ lớn và phổ biến như nhận nội dung đầu vào từ người dùng, hiển thị nội dung đầu ra cho người dùng, v.v. Tất cả các chương trình Java đều tham chiếu đến một số lớp thư viện. Java ClassLoader chủ động tải tất cả các tệp lớp cần thiết vào Máy ảo Java (JVM) theo yêu cầu.
Trình xác minh bytecode
JDK có trình biên dịch giúp chuyển đổi mã giống tiếng Anh mà bạn viết thành một phiên bản ngôn ngữ máy được gọi là bytecode Java. Trình xác minh bytecode trong JRE kiểm tra định dạng và độ chính xác của mã Java trước khi tải vào JVM. Ví dụ: nếu mã vi phạm tính toàn vẹn của hệ thống hoặc quyền truy cập, JRE sẽ không tải tệp lớp.
Trình diễn giải
Sau khi bytecode tải thành công, trình diễn giải của Java sẽ tạo một phiên bản JVM cho phép chạy chương trình Java trên máy cơ sở.
JRE bao gồm những thành phần nào?
Ngoài các thành phần chủ đạo, Môi trường thời gian chạy Java (JRE) còn chứa một số thành phần phần mềm khác giúp chạy chương trình Java hiệu quả hơn. Sau đây là một số ví dụ:
Công cụ phát triển
JRE chứa các công cụ phát triển như bộ công cụ giao diện người dùng mà bạn có thể sử dụng để cải thiện chất lượng ứng dụng của mình. Sau đây là một số ví dụ:
Java 2D
Java 2D là một giao diện lập trình ứng dụng (API) mà bạn có thể sử dụng để vẽ đồ họa hai chiều và tạo giao diện người dùng, trò chơi, hoạt ảnh và hiệu ứng đặc biệt phong phú trong ngôn ngữ Java.
Swing
Swing là một giao diện người dùng đồ họa (GUI) gọn nhẹ, cung cấp các lựa chọn tùy chỉnh linh hoạt và thân thiện với người dùng.
Bộ công cụ cửa sổ trừu tượng
Bộ công cụ cửa sổ trừu tượng (AWT) là một GUI mà bạn có thể sử dụng để tạo các đối tượng UI như nút bấm, cửa sổ và thanh cuộn.
Giải pháp triển khai
JRE bao gồm các công nghệ giúp đơn giản hóa quá trình thay đổi phần mềm cho người dùng ứng dụng. Những công nghệ này cũng cung cấp khả năng hỗ trợ nâng cao cho các bản cập nhật ứng dụng. Các công nghệ triển khai như Java Web Start và phần bổ trợ của Java đều nằm trong quá trình cài đặt JRE. Những công nghệ này đơn giản hóa việc kích hoạt ứng dụng đồng thời cung cấp khả năng hỗ trợ nâng cao cho các bản cập nhật của JRE trong tương lai. Sau đây là một số ví dụ:
Java Web Start
Với Java Web Start, bạn có thể khởi chạy các ứng dụng đầy đủ tính năng chỉ với một cú nhấp chuột từ trình duyệt web của mình.
Phần bổ trợ của Java
Phần bổ trợ của Java thiết lập kết nối giữa các trình duyệt phổ biến và nền tảng Java, do đó bạn có thể chạy các applet trang web trong một trình duyệt máy tính.
Thư viện ngôn ngữ và tiện ích
Một bộ tệp lớp Java được gọi là gói Java. JRE bao gồm một số gói Java hỗ trợ lập phiên bản, quản lý và giám sát. Sau đây là một số ví dụ về gói:
Khung bộ giao diện
Khung bộ giao diện là một kiến trúc thống nhất, bao gồm các giao diện dùng để cải thiện khả năng lưu trữ và xử lý dữ liệu ứng dụng.
API tùy chọn
API tùy chọn cho phép nhiều người dùng trên cùng một máy xác định nhóm tùy chọn ứng dụng của riêng mình.
Tạo bản ghi
Gói tạo bản ghi cung cấp các bản ghi báo cáo về việc khắc phục sự cố như sự cố bảo mật, vấn đề về hiệu năng và lỗi cấu hình.
Lưu trữ Java
Lưu trữ Java (JAR) là một định dạng tệp độc lập với nền tảng cho phép bạn gói gọn nhiều tệp để giảm kích cỡ tệp ứng dụng và cải thiện đáng kể tốc độ tải xuống.
Thư viện tích hợp
JRE bao gồm một số thư viện tích hợp hỗ trợ nhà phát triển trong việc tạo kết nối dữ liệu liền mạch giữa các dịch vụ và ứng dụng của họ. Sau đây là một số ví dụ về thư viện:
Java IDL
Ngôn ngữ xác định giao diện (IDL) Java dựa trên Kiến trúc trung chuyển yêu cầu đối tượng phổ biến (CORBA), hỗ trợ các đối tượng dữ liệu phân tán—tức là các đối tượng tương tác trên các nền tảng khác nhau trên một mạng. Ví dụ: Java IDL cho phép các đối tượng được viết bằng Java tương tác với các đối tượng được viết bằng ngôn ngữ khác như C, C++ hoặc COBOL.
Kết nối cơ sở dữ liệu Java
Các nhà phát triển sử dụng API Kết nối cơ sở dữ liệu Java (JDBC) để viết ứng dụng có thể truy cập cơ sở dữ liệu, bảng tính và tệp từ xa.
Giao diện thư mục và đặt tên Java
Giao diện thư mục và đặt tên Java (JNDI) là một dịch vụ thư mục cho phép khách hàng tạo ứng dụng di động tìm nạp thông tin từ cơ sở dữ liệu bên ngoài bằng các quy tắc đặt tên.
SDK AWS dành cho Java là gì?
Bộ phát triển phần mềm (SDK) của AWS dành cho Java giúp đơn giản hóa việc sử dụng các dịch vụ AWS bằng cách cung cấp một tập hợp thư viện đồng nhất và quen thuộc cho các nhà phát triển Java. AWS SDK cho Java cũng hỗ trợ mức trừu tượng cấp cao hơn cho quy trình phát triển đơn giản hóa. Các thư viện Java mã nguồn mở, tập trung vào AWS được cung cấp kèm theo ví dụ về mã và một hướng dẫn tham khảo API Java.
Ví dụ về mã SDK AWS dành cho Java 2.0 trên GitHub chứa các ví dụ về mã Java và các trường hợp sử dụng trong thế giới thực đối với các dịch vụ AWS nhằm thúc đẩy quá trình phát triển ứng dụng của bạn. Ngoài ra, Hướng dẫn tham khảo API SDK AWS dành cho Java mô tả các hoạt động của API cho phiên bản SDK AWS dành cho Java mới nhất. Hướng dẫn tham khảo này cũng cung cấp ví dụ về các yêu cầu, phản hồi và lỗi đối với các giao thức dịch vụ web được hỗ trợ.
Bắt đầu sử dụng SDK AWS dành cho Java theo Hướng dẫn cho nhà phát triển về SDK AWS dành cho Java hoặc truy cập Trung tâm nhà phát triển AWS Java.