Java Virtual Machine (JVM) là gì?

Bất kỳ một ngôn ngữ lập trình cấp cao nào cũng đều phải có bộ phận chuyển hóa mã byte code sau khi biên dịch thành mã máy. Đối với ngôn ngữ Java nói riêng thì Java Virtual Machine sẽ chịu trách nhiệm cho việc này.

Khi bạn chạy một chương trình Java thì nó sẽ được chạy dưới dạng các luồng (hay còn gọi là thread) trong Java Virtual Machine theo các bước sau:

  • Tải mã nguồn (Load code)
  • Kiểm tra mã nguồn (Verify code)
  • Thực thi mã nguồn (Executes code)

Bạn có thể xem cách một chương trình Java được thực thi với hình bên dưới,

Cách hoạt động của Java Virtual Machine

Một điều nữa là mỗi hệ điều hành (Windows, Mac, Linux) sẽ cần một Java Virtual Machine riêng để hoạt động, sở dĩ nó được gọi là Virtual bởi vì nó cung cấp giao diện lập trình không phụ thuộc vào từng hệ điều hành.

Việc cấp phát bộ nhớ cho chương trình của bạn, quản lý các luồng thực thi của chương trình, dọn rác tự động, …v.v đều do Java Virtual Machine đảm nhận hết nên nó được gọi là “xương sống” trong ngôn ngữ lập trình Java.