JVM là gì? Kiến trúc và ứng dụng của Java VM | BKHOST

Một trong những yếu tố quan trọng nhất của ngôn ngữ lập trình Java đó là Java Virtual Machine (JVM). Phần mềm này được cài đặt trên các thiết bị cục bộ và chạy được ở nhiều hệ điều hành khác nhau. Để hiểu rõ hơn về khái niệm JVM cũng như kiến trúc, lợi ích của nó bạn hãy cùng BKHOST tham khảo bài viết dưới đây.

Java Virtual Machine ( JVM ) là gì ?

Java Virtual Machine (JVM) la gi

Java Virtual Machine (JVM) hay còn gọi là máy ảo Java – một chương trình thông dịch bytecode của Java thành mã máy tương ứng với từng hệ điều hành và phần cứng khác nhau bằng cách cung cấp một môi trường để thực thi quá trình này.

Một trong những điểm mạnh mà Java sở hữu đó là chạy được trên nhiều nền tảng như Window, Linux, IOS…Sở dĩ Java làm được điều đó là do nó được hỗ trợ JVM trên nhiều nền tảng. Với những tính năng nổi bật, JVM là một trong những công cụ được các nhà phát triển tập đoàn Java và cộng đồng nguồn mở sử dụng phổ biến.

JVM được sử dụng để làm gì ?

Ngoài phân phối phương tiện đi lại để ngôn từ lập trình Java hoàn toàn có thể chạy ở bất kể thiên nhiên và môi trường nào thì JVM còn có năng lực duy trì và tối ưu hóa bộ nhớ chương trình. Java sinh ra với triết lý “ viết một lần, chạy mọi nơi ” là một sự cải tiến vượt bậc làm biến hóa toàn cảnh tăng trưởng chương trình. Nếu trước kia những chương trình chỉ chạy trên một nền tảng đơn cử thì code java thích hợp với hầu hết những hệ quản lý, nhiều nền tảng khác nhau .Khi nhắc tới JVM người dùng sẽ thường có hai cách hiểu về nó. Cách hiểu thứ nhất xem JVM là một chương trình ứng dụng phân phối môi trường tự nhiên để code java được thực thi. Cách hiểu thứ hai đó là JVM sử dụng những thiết lập thông số kỹ thuật để trấn áp và quản trị tài nguyên cho java trong quy trình thực thi .

Memory và Garbage Collection

Kiến trúc của JVM ở module “ Run time area ” có hai vùng nhớ là “ stack và heap ”. Để hiệu suất hoạt động giải trí tốt yên cầu JVM phải liên tục quét dọn memory ( bộ nhớ ). Một điều đặc biệt quan trọng là memory của JVM lại được quản trị bởi garbage collection ( bộ thu gom rác ), điều này khác hẳn với giải pháp được sử dụng với những ngôn từ trước đó .Garbage collection được diễn ra liên tục nhằm mục đích tìm memory dư thừa, không sử dụng để vô hiệu, tập trung chuyên sâu ở vùng nhớ heap. Quá trình này diễn ra tự động hóa bên trong JVM thay vì trong chương trình .

Java không phải là “ Close to the metal ”

Nếu các ngôn ngữ trước đây như C, C ++ và ngôn ngữ lập trình khác được xem là “close to the metal” (gần giống với kim loại) tức là chúng hoạt động nhanh, mạnh mẽ. Mặt khác các ngôn ngữ đó có thể trực tiếp quản lý bộ nhớ của chương trình, riêng với code Java lại không thể thực hiện việc đó.

Như vậy hoàn toàn có thể thấy khi Java sinh ra, nó ủy quyền quản trị bộ nhớ cho JVM nên hạn chế những thao tác của lập trình viên, cho nên vì thế Java chạy chậm hơn những ngôn từ khác. Rất nhiều người chỉ trích nó không phải là “ close to the metal ” ( ẩn ý cho năng lực quản trị bộ nhớ của lập trình viên ). Thế nhưng qua nhiều năm tăng trưởng, Java đã đạt được nhiều văn minh đáng kể trong việc cải tổ công cụ Garbage Collection .

Kiến trúc JVM

Tương tự như những ngôn từ lập trình khác, Java cũng được cấu trúc từ nhiều bộ phận khác nhau. Dưới đây là kiến trúc cơ bản tác động ảnh hưởng tới phương pháp mà Java hoạt động giải trí :

  • Classloader là một hệ thống phụ của JVM có chức năng tìm kiếm và tải các file class.
  • Method Area là nơi lưu trữ các cấu trúc lớp với các type khác nhau để chạy một chương trình Java.
  • Heap là bộ nhớ lưu trữ Object, các biến đối tượng liên quan và mảng (Array).
  • JVM language Stacks được tạo ra để lưu trữ các biến cục bộ và một phần kết quả từ nó. Mỗi luồng sẽ có JVM stacks riêng và chúng được tạo ra cùng thời điểm với luồng.
  • PC register chứa địa chỉ của các JVM đang thực thi lệnh. Với ngôn ngữ Java mỗi luồng sẽ có PC register của riêng nó.
  • Native Method Stack bằng cách sử dụng thư viện gốc nó đã lưu trữ các lệnh của code gốc được viết bằng những ngôn ngữ khác ngoài Java.
  • Execution Engine được xem là một loại phần mềm để kiểm tra phần cứng, phần mềm hoặc cả một hệ thống hoàn chỉnh. Execution Engine không giữ lại bất cứ thông tin nào về đối tượng được kiểm tra.
  • Native Method interface là một framework cho phép code Java chạy trong máy ảo Java (JVM).
  • Native Methods Libraries là một tập hợp các thư viện riêng như C, C ++ để phục vụ cho Execution Engine (công cụ thực thi).

Lỗi JVM

Loi JVM

Máy tính sẽ không thể đọc và hiểu code Java khi xuất hiện lỗi JVM. Một trong những lỗi thường gặp nhất là sự cố ở trình khởi chạy JVM do các thành phần bắt buộc không có sẵn. Ví dụ như khi bắt đầu khởi động có một lớp bắt buộc nào đó không xuất hiện thì JVM sẽ lập tức báo lỗi để cảnh báo tới người dùng. Hình ảnh dưới đây minh họa cho lỗi này.

Tổng kết về JVM

Trên đây là những thông tin cụ thể về Java Virtual Machine (JVM). Hy vọng với kiến thức tham khảo được bạn sẽ có cái nhìn toàn diện về chương trình này và ứng dụng nó hiệu quả trong lập trình.

Nếu bạn có vướng mắc về Java Virtual Machine ( JVM ) hay muốn tìm hiểu và khám phá thêm về những kỹ năng và kiến thức tương quan đến máy ảo, hãy để lại ở bên phản hồi bên dưới, BKHOST sẽ vấn đáp bạn trong thời hạn sớm nhất .P. / s : Bạn cũng hoàn toàn có thể truy vấn vào Blog của BKHOST để đọc thêm những bài viết san sẻ kiến thức và kỹ năng về lập trình, quản trị mạng, website, domain, hosting, vps, server, email, … Chúc bạn thành công xuất sắc .

  • java virtual machine
  • may ao java
  • jvm là gì
  • java vm