Giới Thiệu Java Virtual Machine ( Jvm Là Gì ? Định Nghĩa Jvm

Mục lục nội dung

JVM là gì ? Định nghĩa JVM Máy ảo java được sinh ra với 3 mục tiêu chính JVM thực thi những việc làm chính sau đây JVM có 3 thành phần chính Cơ chế triển khai

JVM là gì?

JVM là gì ? Định nghĩa JVM Máy ảo java được sinh ra với 3 tiềm năng chính JVM thực thi những việc làm chính sau đây JVM có 3 thành phần chính Cơ chế thực thi

JVM (Java Virtual Machine) là 1 máy ảo java – nó được dùng để thực thi các chương trình Java hay hiểu nôm na là trình thông dịch của Java. Nó cung cấp môi trường để code java có thể được thực thi. Chương trình Java khi biên dịch sẽ tạo ra các mã máy gọi là bytecodes. Như bạn thấy mỗi hệ điều hành chạy chương trình của nó ứng với một mã máy khác nhau đó là mã bytecodes, ví dụ Windows được biên dịch dưới dạng exe còn Linux là .ELF…

Định nghĩa JVM

Tóm gọn lại là mỗi nền tảng / hệ quản lý và điều hành quản trị khác nhau ( Windows, Android, Linux … ) lại có một loại JVM khác nhau được thiết lập. Nói Java đa nền tảng, thực ra thì nó được tương hỗ JVM trên nhiều nền tảng. Chương trình Java chạy được trên Window / Linux / IOS vì nó có JVM chạy được trên những nền tảng đó, thế cho nên vì thế mới hiểu ý nghĩa là lập trình Java một nơi nhưng chạy được nhiều chỗ là do JVM này tiến hành .
Bạn đang xem : Jvm là gì

Các bạn hoàn toàn có thể tìm hiểu thêm chính sách thực thi 1 chương trình Java trong sơ đồ dưới đây :
**

Máy ảo java được sinh ra với 3 mục đích chính

Dịch mã java ra mã máy chạy được trên những hệ điều hành quản lý khác nhau Tăng tốc độ Nâng cao độ bảo mật thông tin và tránh virus phá source code

JVM thực hiện các công việc chính sau đây

Tải code (các class, resource) Kiểm tra code (kiểm tra code có đúng cú pháp không, có bị lỗi không, tất nhiên nếu code có lỗi thì sẽ không chạy được chương trình rồi) Thực thi code Cung cấp môi trường runtime

JVM có 3 thành phần chính

Class Loader: Tìm kiếm và load các file *.class vào vùng nhớ của java dưới dạng bytecode Data Area : vùng nhớ hệ thống cấp phát cho Java Virtual Machine Execution Engine: chuyển các lệnh của JVM trong file *.class thành các lệnh của máy, hệ điều hành tương ứng và thực thi chúng.

Cơ chế thực hiện

Dịch mã java ra mã máy chạy được trên những hệ quản lý và điều hành khác nhau Tăng tốc độ Nâng cao độ bảo mật thông tin và tránh virus phá source codeTải code ( những class, resource ) Kiểm tra code ( kiểm tra code có đúng cú pháp không, có bị lỗi không, tất yếu nếu code có lỗi thì sẽ không chạy được chương trình rồi ) Thực thi code Cung cấp thiên nhiên và môi trường runtime : Tìm kiếm và load những file *. class vào vùng nhớ của java dưới dạng bytecode : vùng nhớ mạng lưới hệ thống cấp phép cho Java Virtual Machine : chuyển những lệnh của JVM trong file *. class thành những lệnh của máy, hệ điều hành quản lý tương ứng và thực thi chúng .
Sau khi Classloader tìm và load những file. class, những file này sẽ được máy ảo JVM đáp ứng bộ nhớ tương ứng với chúng .
Xem thêm : Log Into Facebook – Mbasic Facebook Login Basic

Class (Method) area: là vùng nhớ cấp phát cho class(Method) trong đó lại phân chia thành heap, stack, PC register, native method stack Heap: Đây là khu vực dữ liệu thời gian chạy trong đó các đối tượng được phân bổ. Stack : Các phương thức và tham chiếu tới đối tượng địa phương được lưu trữ trong Stack. Mỗi Thread quản lý một stack. Khi phương thức được gọi, nó được đưa vào đỉnh của Stack. Stack lưu trữ trạng thái của phương thức bao gồm: dòng code thực thi, tham chiếu tới đối tượng địa phương. Khi phương thức chạy xong, vùng nhớ (dòng code thực thi, tham chiếu tới đối tượng địa phương) được đẩy ra khỏi stack và tự động giải phóng. PC register (Program Counter Register) : Nó chứa địa chỉ của các máy ảo Java hướng dẫn hiện đang được thực hiện. Native Method Stack: Nơi chứa tất cả các method native trong chương trình Execution Engine: Nó bao gồm: Một bộ xử lý ảo, một phiên dịch để đọc dòng bytecode sau đó thực hiện các hướng dẫn và cuối cùng là trình biên dịch Just-In-Time (JIT). JIT biên dịch các phần của mã byte có chức năng tương tự như cùng một lúc, và do đó làm giảm số lượng thời gian cần thiết cho compilation.*Thuật ngữ: trình biên dịch là đề cập đến như một dịch giả từ những hướng dẫn của một máy ảo Java (JVM) cho các tập lệnh của CPU cụ thể. : là vùng nhớ cấp phép cho class ( Method ) trong đó lại phân loại thành heap, stack, PC register, native method stack : Đây là khu vực tài liệu thời hạn chạy trong đó những đối tượng người dùng được phân chia. : Các phương pháp và tham chiếu tới đối tượng người tiêu dùng địa phương được tàng trữ trong Stack. Mỗi Thread quản trị một stack. Khi phương pháp được gọi, nó được đưa vào đỉnh của Stack. Stack tàng trữ trạng thái của phương pháp gồm có : dòng code thực thi, tham chiếu tới đối tượng người tiêu dùng địa phương. Khi phương pháp chạy xong, vùng nhớ ( dòng code thực thi, tham chiếu tới đối tượng người dùng địa phương ) được đẩy ra khỏi stack và tự động hóa giải phóng. : Nó chứa địa chỉ của những máy ảo Java hướng dẫn hiện đang được thực thi. : Nơi chứa tổng thể những method native trong chương trình : Nó gồm có : Một bộ giải quyết và xử lý ảo, một phiên dịch để đọc dòng bytecode sau đó thực thi những hướng dẫn và ở đầu cuối là trình biên dịch. JIT biên dịch những phần của mã byte có tính năng tương tự như như cùng một lúc, và do đó làm giảm số lượng thời hạn thiết yếu cho compilation. * Thuật ngữ : trình biên dịch là đề cập đến như một dịch giả từ những hướng dẫn của một máy ảo Java ( JVM ) cho những tập lệnh của CPU đơn cử .

Tài liệu tham khảo thêm:

4 tính chất của lập trình hướng đối tượng trong Java 10 Java Web Framework tốt nhất Top 10 câu hỏi phỏng vấn Java thường gặp Java và những điều thú vị có thể bạn chưa biết
4 đặc thù của lập trình hướng đối tượng người dùng trong Java 10 Java Web Framework tốt nhất Top 10 câu hỏi phỏng vấn Java thường gặp Java và những điều mê hoặc hoàn toàn có thể bạn chưa biết