1
Chương
Chương 13
13
B
B
thu
thu gom
gom r
rá
ác
cv
và
à
x
x
t
tà
ài
inguyên
nguyên
Nguy
Nguy
n
nH
H
ng
ng Phương
Phương
Khoa
Khoa CNTT
CNTT,
, ĐHBKHN
ĐHBKHN
2
S
S
thu
thu gom
gom r
rá
ác
c
Garbage Collection
•NgônngC# phân bitgiátr đi
tưng.
•So sánhgiátr đitưng:
–Mtgiátr mtthhincakiugiá
tr, mtđitưng 1 thhincakiu
tham chiếu. Ví d:
int i = 42; // I là mtgiátr
TextBox box = neưTextBox();// box tham chiếuti1 đitưng
3
So sánh giá tr đitưng (tiếp)
•Vòngđica1 giátrbbucvào
phm vi mà khai báo, vòng đi
ca1 đitưng thì không.
{
int i = 42;
TextBox box = newTextBox();
} // i kết thúc vòng đitiđây nhưng box vntnti
•Giátrcó vòng đi đc trưng rt ngn
trong khi đi tưng có vòng đi đc
trưng rt dài.
4
Vòng đ
Vòng đ
i v
i và
àth
th
i gian c
i gian c
a m
a m
t đ
t đ
i tư
i tư
ng
ng
•Bn to 1 đi tưng như sau: new
TextBox();
•Vic to 1 đi tưng qua 2 giai đon:
–cp phát mt vùng nhthô tHeap
(thc hin điu này bng cách dùng t
khóa new).
chuyn đi vùng nhthô này thành 1
đi tưng-bn phi khi to đi tưng
(thc hin điu này bng cách dùng
phương thc khi to)
5
Vòng đ
Vòng đ
i v
i và
àth
th
i gian c
i gian c
a m
a m
t đ
t đ
i tư
i tư
ng
ng
Thông thưng khi to 1 đi tưng khi to
biến tham chiếu:
TextBox message = new TextBox();
•Tham chiếu đến các thuc tính ca đi tưng
này bng cách dùng toán tdu chm(.):
message.Text = “Bonjour Vietnam”;
•Skết thúc ca 1 đi tưng cũng là 1 quá
trình có 2 giai đon ngưc vi 2 giai đon to
đi tưng:
–chuyn đi tưng trli thành vùng nhthô (thc
hin điu này bng cách dùng phương thc hy)
vùng nh thô đó đưc chuyn cho vùng Heap
Quá trình trli bnhcho Heap-sthu gom
rác