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

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

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

Video: Sự khác biệt giữa JVM và JRE
Video: FTP (File Transfer Protocol), SFTP, TFTP Explained. 2024, Tháng mười một
Anonim

JVM vs JRE

Java là một ngôn ngữ lập trình đa nền tảng. Nó cũng tuân thủ nguyên tắc "viết một lần, chạy mọi nơi". Chương trình được viết bằng Java có thể được trình biên dịch Java biên dịch sang mã bytecode của Java. Sau đó, mã bytecode có thể được thực thi trên bất kỳ nền tảng nào chạy JRE (Java Runtime Environment). JRE bao gồm JVM (Máy ảo Java), các thư viện cơ sở (triển khai Java API) và các tệp hỗ trợ khác. JVM là một máy tính toán trừu tượng hoạt động như một trung gian giữa các nền tảng cụ thể JRE 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 Java bytecode. Theo Sun Microsystems (người đã phát triển Java cho đến khi nó đượ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, Java Virtual Machine là một máy tính toán trừu tượng được thực hiện 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 được cung cấp bởi JVM là xử lý ngoại lệ tự động. Thông thường, một bộ sưu tập các thư viện tiêu chuẩn đi kèm với JVM. Trên thực tế, JRE là một gói chứa JVM và các lớp triển khai Java API. JVM là một thành phần rất quan trọng, chứa tính chất “biên dịch một lần, chạy mọi nơi” 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, hệ điều hành này sẽ giao tiếp với các thành phần phần cứng tương ứng. Việc cài đặt JRE trên hệ thống của bạn là điều bắt buộc để chạy bất kỳ mã java nào trên máy tính 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 (chẳng hạn như appletviewer và javac). Nếu bạn cần phát triển các chương trình bằng Java, bạn cần có JDK (Bộ công cụ phát triển Java), bao gồm cả JRE.

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

Mặc dù, trong sử dụng hàng ngày, 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 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ã bytecode đã đượ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ã bytecode của java. Nhưng đôi khi, JRE chỉ được xác định là một triển khai của JVM.

Đề xuất: