Sự khác biệt giữa JVM và JRE

JVM vs JRE

Java là ngôn ngữ lập trình đa nền tảng. Nó cũng tuân thủ việc viết một lần, chạy bất cứ nơi nào theo nguyên tắc. Chương trình được viết bằng Java có thể được biên dịch sang mã byte Java bằng trình biên dịch Java. Sau đó, mã byte có thể được thực thi trên bất kỳ nền tảng nào chạy JRE (Java Runtime Môi trường). JRE bao gồm JVM (Máy ảo Java), các thư viện cơ sở (thực hiện API Java) và các tệp hỗ trợ khác. JVM là một máy tính trừu tượng hoạt động như một trung gian hòa giải giữa JRE cụ thể của nền tảng và mã Java.

JVM là gì?

JVM là một loại máy ảo được các máy sử dụng để thực thi mã byte Java. Theo Sun microsystems (người đã phát triển Java cho đến khi được Oracle mua lại, gần đây), có hơn 4 tỷ thiết bị hỗ trợ JVM trên thế giới. Cụ thể hơn, Máy ảo Java là một máy tính trừu tượng được triển khai trên phần cứng và hệ điều hành tiêu chuẩn. Một trong những chức năng quan trọng do JVM cung cấp là xử lý ngoại lệ tự động. Thông thường, một tập hợp các thư viện chuẩn đi kèm với JVM. Trong thực tế, JRE là một gói chứa JVM và các lớp triển khai API Java. JVM là một thành phần rất quan trọng, có thể hỗ trợ trình biên dịch trên một lần, chạy bất cứ nơi nào có bản chất của ngôn ngữ lập trình Java. Miễn là JVM đang chạy, mã Java của bạn có thể chạy trên nó, bất kể nền tảng được sử dụng trong máy. Đây là lý do tại sao Java được gọi là ngôn ngữ đa nền tảng hoặc đa nền tảng.

JRE là gì?

JRE là môi trường thực thi mà mã Java được chạy. Thông thường, JRE bao gồm JVM, các lớp cơ sở tiêu chuẩn (triển khai API Java cơ sở) và các tệp hỗ trợ khác. Loại và cấu trúc của JRE khác nhau tùy thuộc vào hệ điều hành và kiến ​​trúc CPU. Khi mã Java được chạy, JRE sẽ giao tiếp với hệ điều hành, lần lượt sẽ nói chuyện với các thành phần phần cứng tương ứng. Phải cài đặt JRE trên hệ thống của bạn để chạy bất kỳ mã java nào trên máy của bạn. Tuy nhiên, JRE không bao gồm trình biên dịch, trình gỡ lỗi hoặc bất kỳ công cụ nào khác cần thiết cho việc phát triển các chương trình Java (như appletviewer và javac). Nếu bạn cần phát triển các chương trình trong Java, bạn cần phải có JDK (Bộ công cụ phát triển Java), bao gồm cả JRE.

Sự khác biệt giữa và JVM và JRE là gì?

Mặc dù, trong sử dụng hàng ngày, các thuật ngữ JVM và JRE đang được sử dụng thay thế cho nhau, chúng có những điểm khác biệt. JVM là một máy ảo chạy trên hệ điều hành, trong khi JRE là môi trường thực thi thời gian chạy. JVM là một phần của JRE. Đặc tả JVM đóng vai trò là liên kết giữa việc triển khai JRE dành riêng cho nền tảng và các thư viện Java tiêu chuẩn. Do đó, JVM là thực thể cung cấp sự trừu tượng hóa từ các chi tiết triển khai bên trong cho lập trình viên. Và nó chịu trách nhiệm giải thích mã byte được biên dịch. Tuy nhiên, JVM cần các thư viện cơ sở và các tệp hỗ trợ khác để thực thi mã byte java. Nhưng đôi khi, JRE được xác định đơn giản là một triển khai của JVM.