Computer >> Máy Tính >  >> Lập trình >> Java

Khu vực ngăn xếp máy ảo Java (JVM)

Sau đây là một số điểm chính để thực hiện được Khu vực ngăn xếp JVM -

  • Trong quá trình tạo luồng, Máy ảo Java sẽ tạo một ngăn xếp riêng biệt.

  • JVM chỉ thực hiện hai hoạt động trên ngăn xếp này. Các hoạt động là đẩy (tức là chèn) và bật (tức là xóa).

  • Khi một luồng hiện đang được thực thi, ngăn xếp được liên kết với nó được gọi là ngăn xếp thời gian chạy.

  • Mọi lệnh gọi phương thức được thực hiện bởi luồng, tính toán trung gian, gán các biến cục bộ, gọi tham số, v.v., đều được lưu trữ dưới dạng một hoạt động trong ngăn xếp thời gian chạy.

  • Sau khi chuỗi dừng hoặc hoàn thành việc thực thi, phần tương ứng từ ngăn xếp sẽ bị xóa.

  • Khi tất cả các lệnh gọi của chuỗi hoàn tất, ngăn xếp trở nên trống và bị xóa.

  • Ngay trước khi kết thúc chuỗi, JVM sẽ hủy ngăn xếp được liên kết với chuỗi.

  • Ngăn xếp lưu trữ dữ liệu được liên kết với một chuỗi chỉ dành riêng cho chuỗi cụ thể đó và không thể truy cập được đối với các chuỗi khác.

  • Điều này chỉ ra rằng dữ liệu trong ngăn xếp là an toàn theo chuỗi.

  • Mọi dữ liệu trong ngăn xếp được liên kết với chuỗi được gọi là bản ghi kích hoạt hoặc khung ngăn xếp.

Lưu ý - Không bắt buộc ngăn xếp JVM phải có các vị trí bộ nhớ liền nhau.

Cấu trúc của bản ghi kích hoạt / khung ngăn xếp

Nó bao gồm ba thành phần -

  • Mảng biến cục bộ,

  • Toán hạng ngăn xếp và

  • Dữ liệu khung

  • JVM tạo một khung ngăn xếp có kích thước cần thiết bằng cách kiểm tra dữ liệu lớp.

  • Operand Stack hoạt động giống như một không gian làm việc đối với JVM- nó được sử dụng để lưu trữ các kết quả tính toán trung gian. Nó có cấu trúc giống như một mảng biến cục bộ, nhưng có thể được truy cập bằng cách thực hiện các thao tác đẩy và bật trên ngăn xếp.

  • Dữ liệu khung - Nó chứa các giá trị dữ liệu không đổi và dữ liệu trả về theo phương thức. Ngoài ra, nó còn chứa một tham chiếu đến bảng Exception có tất cả thông tin về khối bắt khi cần bắt các ngoại lệ và các thông báo liên quan cần được hiển thị trên bảng điều khiển.