jre-java

Tìm hiểu về JRE trong Java

Cùng với JDK (Java Development Kit) và JVM (Java Vitrual Machine), thì JRE (Java Runtime Environment) là một trong ba thành phần cơ bản của nền tảng Java, giúp hỗ trợ phát triển và thực thi các ứng dụng Java. Trong bài viết này chúng ta sẽ cùng nhau cùng nhau tìm hiểu về JRE cũng như cách nó tương tác với các thành phần khác của Java.

Java Runtime Environment là gì?

Java Runtime Environment (JRE) là một lớp phần mềm cung cấp các dịch vụ cần thiết để thực thi những ứng dụng Java. Đây là một thành phần thiết yếu của Java Development Kit (JDK) và chứa tất cả các công cụ cần thiết để chạy những chương trình phần mềm dựa trên Java khác nhau.

Vì nhiều ứng dụng web dựa vào JRE để hoạt động, bạn nên cài đặt phiên bản mới nhất trên thiết bị Windows của mình. Nếu không có nó, bạn có thể gặp khó khăn khi load game, hộp chat và phim. Java Runtime không giới hạn ở Windows và cũng có sẵn để tải xuống trên các thiết bị Mac.

Công dụng của JRE là gì?

Một số công ty nổi bật nhất trên thế giới, bao gồm Airbnb, Uber, LinkedIn và Spotify sử dụng Java để tạo các ứng dụng web và di động. Đây là một ngôn ngữ lập trình tương đối mới, nhanh chóng và an toàn, đồng thời cho phép các nhà phát triển tạo các ứng dụng mô-đun bằng code có thể tái sử dụng.

Tuy nhiên, lý do đằng sau sự phổ biến của nó nằm ở chỗ nó không phụ thuộc vào nền tảng. Điều này có nghĩa là các chương trình Java có thể dễ dàng chạy trên nhiều loại máy tính, miễn là chúng đã được cài đặt Java Runtime Environment.

Sử dụng Java, các nhà phát triển có thể tạo một ứng dụng phần mềm trên một hệ điều hành và cung cấp nó cho người dùng đang chạy một hệ điều hành khác. Ví dụ, một ứng dụng Java được tạo trên Windows sẽ chạy mà không gặp bất kỳ trục trặc nào trên máy tính Mac hoặc Linux. Yêu cầu duy nhất là tất cả các thiết bị đã được cài đặt JRE.

Do tính di động của nền tảng, Java được sử dụng để tạo hàng tỷ game, ứng dụng và dịch vụ. Nhiều thiết bị y tế, máy in, hệ thống định vị, điện thoại di động và PC cũng sử dụng Java.

JRE hoạt động với JVM như thế nào?

JVM hay Java Vitrual Machine là một hệ thống phần mềm chịu trách nhiệm thực thi chương trình Java. JRE lấy code Java kết hợp với các thư viện Java cần thiết và truyền tới JVM để thực thi chương trình đó.

JRE trong Cloud Devops

JRE không được chú ý nhiều trong giai đoạn phát triển, nơi nó chủ yếu chỉ chạy trong các chương trình ở hệ điều hành hay IDE. Trong khi đó, JRE lại đóng vai trò rõ rệt hơn trong công việc quản trị hệ thống và devops vì nó được sử dụng để giám sát và cấu hình. Hơn hết, JRE hỗ trợ trong việc cấu hình đám mây và devops là một công nghệ dựa trên đám mây. Nếu hứng thú với môi trường devops, bạn nên hiểu cách bộ nhớ Java hoạt động và cách nó được giám sát trong JRE.

JRE và bộ nhớ JAVA

Bộ nhớ Java bao gồm 3 thành phần: heap, stack và metaspace(tên gọi trước đó là permgen)

  • Metaspace là bộ nhớ mà máy ảo sử dụng để lưu trữ các classes
  • Heap là lượng bộ nhớ được cấp phát trong quá trình chạy của JVM, kích thước thông thường là khoảng 2-8 GB
  • Stack chứa các biến tham chiếu đến các objects trong heap và thực thi các functions.

Cấu hình vùng Heap:

Heap là một vùng nhớ linh động nhất trong bộ nhớ Java, bạn có thể sử dụng các flags -Xms và -Xmx để kiểm soát vùng nhớ heap bằng cách setup độ lớn bộ nhớ để vùng heap bắt đầu cũng như độ lớn bộ nhớ cho phép heap đạt đến. Hiểu cách sử dụng các flags này rất quan trọng trong việc quản lý bộ nhớ Java. Lý tưởng nhất là đảm bảo cho vùng heap đủ lớn để garbage collection(một bộ phận quan trọng của JVM) hoạt động hiệu quả nhất.

Cấu hình vùng Stack:

Vùng nhớ stack là nơi các function và biến tham chiếu được lưu trữ theo thứ tự xếp hàng, hoạt động theo kiểu LIFO(last in first out). Stack là nơi diễn ra lỗi phổ biến thứ 2 trong lập trình Java đó chính là Stack Overflow Exception, xảy ra khi ngăn xếp bị đầy hoặc có một hay nhiều phương thức, functions nào đó được gọi đến theo 1 vòng tròn luẩn quẩn. Chúng ta cũng có thể dùng -Xss để cấu hình cho kích thước ban đầu của stack, từ đó stack sẽ thay đổi linh hoạt dựa theo yêu cầu của chương trình.

Tổng kết

Qua bài viết này mình và các bạn đã tìm hiểu về Java Runtime Environment, một trong những thành phần quan trọng của nền tảng Java. Nhìn chung JRE hữu ích khi làm việc với các dịch vụ đám mây hay devops, nó có điểm mạnh là vai trò giám sát và cấu hình hơn là việc phát triển ứng dụng Java truyền thống. Nếu bài biết có ý nghĩa hãy để lại đánh giá cũng như bình luận bên dưới.Cảm ơn bạn đọc, chúc bạn học tốt.

Bài viết liên quan

Leave a Reply

Your email address will not be published.

DMCA.com Protection Status