Trong bài này, chúng ta sẽ tìm hiểu về JVM, JRE, JDK. Nó bao gồm những thành phần nào và nhiệm vụ của nó là gì?
JVM (Java Virtual Machine) là tạo ra môi trường máy ảo để thực thi mã java bytecode.
- Máy ảo Java là phần mềm giả lập máy tính, nó tập hợp các lệnh logic để xác định hoạt động của máy.
- Có thể xem nó như là một hệ điều hành thu nhỏ.
- JVM chuyển mã byte code thành machine code tùy theo môi trường tương ứng (gọi là khả năng khả chuyển)
- JVM cung cấp môi trường thực thi cho chương trình Java (gọi đó là khả năng độc lập với nền).
JVM có sẵn trong nhiều phần cứng và nền tảng phần mềm.
JVM gồm 4 nhiệm vụ chính: Load code, Verifies code, Executes code, Provides runtime enviroment.
JRE viết tắt Java Runtime Enviromement. Nó bao gồm các thư viện và các file mà JVM sử dụng lúc thực thi.
JDK viết tắt của Java Development Kit. Nó gồm JRE + công cụ phát triển.
Bộ công cụ JDK gồm các chương trình thực thi đáng chú ý sau:
- javac: Chương trình biên dịch các chương trình nguồn viết bằng ngôn ngữ java ra các tập tin thực thi được trên máy ảo Java.
- java: Một chương trình để dịch mã mà bạn viết thành mã bytecode, khi ứng dụng Java chạy nó dịch mã bytecode thành mã máy tính và thực thi, điều đó có nghĩa là bytecode chỉ là một mã trung gian.Đây là chương trình làm máy ảo của Java, thông dịch mã Bytecode của các chương trình kiểu application thành mã thực thi của máy thực.
- Archive (jar): Là một chương trình nén các file thành một file duy nhất có đuôi jar. Thường dùng để đóng gói các file class.
- Javadoc: Là một công cụ tạo ra tài liệu hướng dẫn sử dụng API.
- appletviewer: Bộ thông dịch, thực thi các chương trình kiểu applet.
- javadoc: Tạo tài liệu về chú thích chương trình nguồn một cách tự động.
- jdb: Trình gở rối.
- rmic: Tạo Stub cho ứng dụng kiểu RMI.
- rmiregistry: Phục vụ danh bạ (Name Server) trong hệ thống RMI
Related posts:
Java Program to Implement the String Search Algorithm for Short Text Sizes
Java Program to Solve TSP Using Minimum Spanning Trees
Lớp HashMap trong Java
Most commonly used String methods in Java
Biến trong java
Hướng dẫn Java Design Pattern – Proxy
Working with Network Interfaces in Java
Guide to Spring 5 WebFlux
Mockito and JUnit 5 – Using ExtendWith
Introduction to the Functional Web Framework in Spring 5
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
CyclicBarrier in Java
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Java Program for Topological Sorting in Graphs
Spring’s RequestBody and ResponseBody Annotations
Java Program to Compute Determinant of a Matrix
Java Program to Implement ConcurrentHashMap API
Java – Write a Reader to File
Beans and Dependency Injection
Java Program to implement Circular Buffer
Get the workstation name or IP
HashSet trong Java hoạt động như thế nào?
Guide to Java 8 groupingBy Collector
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Giới thiệu Google Guice – Dependency injection (DI) framework
Multipart Upload with HttpClient 4
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Java Program to Represent Graph Using 2D Arrays
Java Program to Implement Skip List
A Quick JUnit vs TestNG Comparison
Implementing a Binary Tree in Java
Iterable to Stream in Java
