Heap & Stack trong Java là gì?
Java là ngôn ngữ lập trình được sử dụng chủ yếu để cung cấp các chương trình nhỏ nhằm tăng cường khả năng của các trang Web và các trình duyệt hiển thị chúng. Cọc Heap và và Stack Stack là hai cách để tổ chức bộ nhớ trong máy tính và ngôn ngữ lập trình Java sử dụng cả hai.
Đống
Bộ nhớ được sắp xếp theo thứ tự mà nó được truy cập. Bộ nhớ heap không có thứ tự. Nó giống như một hàng lỗ chim bồ câu không có thứ tự sử dụng - một khe ở giữa có thể nhận được giá trị trước các khe đầu tiên hoặc cuối cùng. Khi dữ liệu được ghi và xóa từ các vị trí khác nhau, bộ nhớ bị chiếm dụng sẽ bị chia tách bởi các khoảng trống. Mỗi vị trí trong bộ nhớ heap có một địa chỉ và nó chỉ có thể được truy cập thông qua một số hình thức lập chỉ mục khác cho địa chỉ đó.
Cây rơm
Ngăn xếp và hàng đợi có một thứ tự chính xác. Trong một hàng đợi, phần dữ liệu đầu tiên được nhập là phần đầu tiên, giống như một hàng đợi ở quầy thanh toán siêu thị. Phương thức ngăn xếp sẽ được coi là cực kỳ không công bằng nếu nó được áp dụng cho những người đang chờ đợi một dịch vụ, bởi vì phương thức cuối cùng là đầu tiên. Ngăn xếp được biết đến bởi từ viết tắt LIFO, viết tắt của Last In, First Out. Hãy tưởng tượng một khay trong một văn phòng. Ai đó đặt một tệp lên trên cùng của tệp trong khay In và một nhân viên văn phòng sẽ lấy tệp đó từ đầu khay In và làm việc trên đó trước. Đó là tập tin cuối cùng được đặt vào khay. Đó là cách một ngăn xếp hoạt động.
Bộ nhớ máy tính
Bộ nhớ máy tính được sử dụng để chạy chương trình được gọi là Bộ nhớ truy cập ngẫu nhiên hoặc RAM. Đây là không gian suy nghĩ của máy tính và nó được chia thành ba phần. Không có phần hàng đợi xếp hàng của bộ nhớ, nhưng có một đoạn mã, nơi chương trình máy tính được lưu trữ. Máy tính hoạt động thông qua từng dòng chương trình, và do đó, nó hoạt động như một hàng đợi. Hai khu vực khác là stack và heap.
Biến
Giống như bất kỳ ngôn ngữ lập trình nào khác, Java cần giữ dữ liệu và thao tác nó theo một cách nào đó. Chiếc xe được sử dụng trong các chương trình để giữ dữ liệu được gọi là một biến. Một biến có tên và loại và sau đó nó nhận được một giá trị. Các chương trình Java đề cập đến tên của biến để truy cập dữ liệu chứa.
Mối quan hệ
Khi một lập trình viên khai báo một biến có kiểu dữ liệu, thông tin đó được lưu trữ trong phần ngăn xếp của bộ nhớ. Khi một giá trị được đặt vào biến đó, giá trị được lưu trữ trong bộ nhớ heap. Bộ nhớ ngăn xếp giữ địa chỉ cho phần bộ nhớ heap nơi giữ giá trị đó. Bộ nhớ ngăn xếp giữ lại giá trị của nó trong suốt thời gian chạy chương trình. Nó giữ tên và loại biến, cũng như một con trỏ đến vị trí heap. Giá trị trong bộ nhớ heap bị xóa và viết lại nhiều lần trong suốt quá trình của chương trình Java khi các toán tử chương trình thay đổi giá trị của biến.