Stack and Heap

Định nghĩa chút nhé:

Java khởi chạy thì sẽ dùng bộ nhớ ram để lưu chữ các hàm và bộ nhớ sẽ phân thành 2 phân vùng chính đó là stack và heap bộ nhớ stack có dung lượng nhỏ hơn thường dùng để lưu các biến cục bộ, biến tham chiếu và các lời gọi hàm bộ nhớ heap: chỉ lưu các đối tượng bất cứ khi nào chúng ta lưu 1 đối tượng mới dùng từ khóa new thì đối tượng mới này sẽ được lưu trong bộ nhớ HEAP, bộ nhớ HEAP sẽ tăng dần lên khi:

+ Chương trình lớn dần và nhiều đối tượng được khởi tạo Bất cứ khi nào đối tượng ko được dùng nữa thì trong java có công cụ gọi là trình dọn rác và nó sẽ dọn những đối tượng bộ nhớ trong heap này nghĩa là khi nào đối tượng chúng ta không dùng nữa thì chương trình dọn rác của java sẽ xóa đối tượng này trong bộ nhớ heap để giải phóng bộ nhớ

For example STACK AND HEAP

Explain:

Đầu tiên khi chương trình java chạy nó sẽ gọi hàm main ( được khởi tạo ở bộ nhớ stack) các bạn sẽ thấy biến x là biến local là biến khởi tạo và được gán trong bộ nhớ stack.

Tiếp theo, tôi đã tạo 1 biến đối tượng là hình chữ nhật ( từ khóa new ) khi này đối tượng HinhChuNhat sẽ được tạo trên bộ nhớ HEAP.

Và tiếp nữa, tôi dùng biến tham chiếu hinhChuNhat kiểu dữ liệu chính là class trỏ đến đối tượng và biến tham chiếu hinhChuNhat nằm trog bộ nhớ STACK và biến hinhChuNhat trỏ đến đối tượng HinhChuNhat

Nữa này, tôi khai báo 1 biến tham chiếu String tên là start và 1 đối tượng String được lưu trong bộ nhớ HEAP nghĩa là đối tượng String được khởi tạo giá trị của nó là HELLO được lưu trong bộ nhớ heap, biến start là biến tham chiếu kiểu dữ liệu là String được lưu trong bộ nhớ Stack

End game sẽ là hàm chuvi của đối tượng HinhChuNhat được réo tên và chuỗi được in ra nghĩa là hàm chuvi được gọi đc lưu trong bộ nhớ Stack

The picture shows the memory STACK AND HEAP IN THE ABOVE CODE SECTION

Again mình là Văn Hiếu đến từ lớp C0221I1 với sự dẫn dắt từ chị Kiều Anh Xinh!

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook