Các biến được lưu trữ như thế nào?
Các biến được lưu trữ như thế nào?

Video: Các biến được lưu trữ như thế nào?

Video: Các biến được lưu trữ như thế nào?
Video: Bộ nhớ & lưu trữ - Khoa học máy tính tập 19 | Tri thức nhân loại 2024, Tháng mười một
Anonim

Biến thường là cất giữ trong RAM. chính nó thường tuân theo các quy tắc ở trên (một con trỏ được khai báo trong một hàm là cất giữ trên ngăn xếp), nhưng dữ liệu mà nó trỏ đến (chính khối bộ nhớ hoặc đối tượng bạn đã tạo mới) là cất giữ trên đống.

Tương tự, người ta có thể hỏi, các biến được lưu trữ ở đâu?

Tất cả các biến toàn cục và biến tĩnh được lưu trữ trong phân đoạn dữ liệu, trong khi các hằng số được lưu trữ trong phân đoạn mã. Các biến toàn cục có thể ở một vài nơi, tùy thuộc vào cách chúng được thiết lập - đối với thí dụ , const global có thể nằm trong phần chỉ đọc của tệp thực thi.

Tương tự như vậy, các biến được lưu trữ như thế nào trong Java? Tất cả các đối tượng trong Java là cất giữ trên đống. Các " biến "chứa các tham chiếu đến chúng có thể nằm trên ngăn xếp hoặc chúng có thể được chứa trong các đối tượng khác (khi đó chúng không thực sự biến , nhưng các trường), cũng đặt chúng trên heap. Phần Heap chứa các đối tượng (cũng có thể chứa tham chiếu biến ).

Một câu hỏi nữa là, các biến được lưu trữ trong bộ nhớ như thế nào?

Các kỉ niệm khe cho một biến được lưu trữ trên ngăn xếp hoặc đống. Nó phụ thuộc vào ngữ cảnh mà nó được khai báo: Biến đổi (tức là một được khai báo trong một phương thức) là cất giữ trên ngăn xếp. Mọi động tĩnh biến được lưu trữ trên heap, bất kể nó được khai báo trong kiểu tham chiếu hay kiểu giá trị.

Các biến cục bộ được lưu trữ trên ngăn xếp như thế nào?

Lưu trữ các biến cục bộ trên một cây rơm là một chi tiết triển khai - về cơ bản là một sự tối ưu hóa. Bạn có thể nghĩ về nó theo cách này. Khi nhập một hàm, khoảng trống cho tất cả biến cục bộ được phân bổ ở đâu đó. Điều này trái ngược với biến được phân bổ trên heap, có địa chỉ là chính họ cất giữ trong khác biến.

Đề xuất: