Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter01: Prelude - Coggle Diagram
Chapter01: Prelude
Heap
-
Bộ nhớ Heap dùng để cấp phát bộ nhớ cho đối tượng, biến toàn cục.
Note: Nếu tự định nghĩa và sử dụng Heap riêng người dùng bắt buộc phải quản lý bộ nhớ của Heap 1 cách tốt nhất bằng cách kiểm soát các giá trị và hủy nó khi ko cần thiết.. tránh tình trang Heap OverFollow
Bất cứ khi nào khai báo đối tượng thì các giá trị của đối tượng sẽ được lưu trữ trong Heap (chú ý giá trị đối tượng chứ ko phải biến tham chiếu đối tượng) và có thể truy cập bất cứ khi nào trong chương trình.
Khi kết thúc 1 phương thức Heap, các biến tham chiếu đối tượng bị hủy trong stack và các tham chiếu tới các dữ liệu lưu trong Heap cũng bị hủy bỏ -> C# dùng bộ thu gom rác Gabage Collection để thực hiện kiểm tra các tham chiếu.. nếu ko còn tham chiếu nào tới biến lưu trữ trên vùng nhớ Heap sẽ được thu gom.
Summary
-
Lưu trữ đối tượng: Vùng nhớ có kiểu dữ liệu đối tượng khai báo ( trong vùng nhớ đó chứa thêm các thuộc tính giá trị là các biến được định nghĩa trong đối tượng)
-
-
Passing parameters(class, delegate, interface, string, or object)
Khi truyền một kiểu giá trị làm tham số, tất cả những gì thực sự chuyển cho phương thức gọi là bản sao của biến.
Ngoài ra, bằng cách thêm một lệnh ref vào cả phương thức và dòng gọi, các biến có thể được truyền bằng tham chiếu
Stack
-
-
Khi ứng dụng bắt đầu được thực thi các biến cục bộ, địa chỉ hàm , biến tham chiếu đối tượng được lưu trữ trong các khối Stack, tùy theo thứ tự gọi mà các thành phần đẩy vào stack được sắp xếp theo đúng thứ tự.
Khi 1 phương thức kết thúc cũng là lúc các giá trị biến và các tham chiếu đối tương được hủy bỏ — và địa chỉ hàm cũng được hủy bỏ ngay sau đó. Stack lưu trữ dung lượng thấp hơn rất nhiều so với heap
Summary
-
-
-
-
Bộ nhớ lưu trữ thấp hơn nhiều so với Heap, tồn tại trong thời gian ngắn
Garbage collection
Garbage collection(GC – Trình thu gom rác) của .NET quản lý việc cấp phát và giải phòng bộ nhớ cho ứng dụng
-
-
Static Objects
-
Trong C #, tĩnh thường được sử dụng để xác định các biến toàn cục
Overview
Khi một ứng dụng .NET chạy, bốn phần bộ nhớ (heap) được tạo để sử dụng để lưu trữ
-
-
-
-