Garbage Collection API

Revised: 4th/Dec./2003; Since: Mar./3rd/2002

The GC

$B%"%W%j%1!<%7%g%sB&$+$i$b!"(BGC$B$NF0:n$rB%$9$3$H$O$G$-$^$9!#C"$7!"L@<(E*$K;XDj$G$-$k$N$G$O$J$/!"$"$/$^$G$bB%$9$@$1$G$9!#(BGC$B$N5/F0$rB%$9(B java.lang.System.gc() $B$d!"(BGC$B$,2s<}A0$K8F$S=P$9(B System.finalize() $B$J$I$N%a%=%C%I$,MQ0U$5$l$F$$$^$9!#$7$+$7!"$3$l$i$N%a%=%C%I$G(BGC$B$N5/F0%?%$%_%s%0$r@)8f$G$-$k$o$1$G$O$J$$$N$G!"M=4|$;$LJ@32$r0z$-5/$3$92DG=@-$b$"$j$^$9!#%"%W%j%1!<%7%g%sB&$GL@<(E*$K8F$S=P$9$3$H$OHr$1$?$[$&$,8-L@$G$7$g$&!#(B

JVM $B$d(B GC $B$K4X$9$k>\:Y$O!"(BSun $B$N(B "HotSpot VM WhitePaper" $B$d(B "Tuning Garbage Collection" $B$J$I$N%I%-%e%a%s%H$r;2>H$7$F$/$@$5$$!#(B

Java $BSystem $B%/%i%9$N(B gc() $B%a%=%C%I$r8F$V$3$H$G!"L@<(E*$K%a%b%j$N2rJ|$rB%$9$3$H$b=PMh$^$9!#Nc$($P!"5pBg$J%4%_$r:n$C$F$7$^$C$?%3!<%IItJ,$N8e$d!"BgNL$N%a%b%j$r>CHq$9$k%3!<%IItJ,$NA0$K

$BC"$7!"(B gc() $B%a%=%C%I$OI,$:$7$b(B GC $B$r$C$F!"B>$N%W%m%;%9$K$h$C$F@)8f$,0.$i$l$F$$$k>l9g!"(B gc() $B$K$h$C$F$b(B garbege collector $B$N%W%m%;%9$O

Finalization

$B%*%V%8%'%/%H$,(B GC $B$NBP>]$K$J$kA0$K!"(B GC $B$O!"%*%V%8%'%/%H$N(B finalize() $B%a%=%C%I$N8F$S=P$7$K$h$j!"(B clean up $B$N5!2q$r%*%V%8%'%/%H$KM?$($^$9!#$3$N%W%m%;%9$O=*N;2=(B (finalization) $B$H8F$P$l$^$9!#(B

$BKX$I$N%W%m%0%i%^$O!"(B finalize() $B%a%=%C%I$rfinalize() $B%a%=%C%I$r

finalize() $B%a%=%C%I$O!"(B Object $B%/%i%9$N%a%s%P$G$9!#(B Object $B%/%i%9$O(B Java $B%W%i%C%H%U%)!<%`$N%/%i%93,AX$N%H%C%W$G$"$j!"A4$F$N%/%i%9$N%9!<%Q!<%/%i%9$G$9!#G$0U$N%/%i%9$G!"I,MW$J=*N;2=$N=hM}$N$?$a$K(B finalize() $B%a%=%C%I$r%*!<%P!<%i%$%I$9$k$3$H$,=PMh$^$9!#$3$N%a%=%C%I$r%*!<%P!<%i%$%I$9$k$H$-$O!"$=$N=hM}$N:G8e$K(B super.finalize() $B$r8F$V$Y$-$G$9!#(B

Summary of Creating and Using Objects

$B%*%V%8%'%/%H$O!"(B new $B1i;;;R$H%3%s%9%H%i%/%?$K$h$C$F%/%i%9$+$i:n@.$7$^$9!#(B new $B1i;;;R$O!":n@.$5$l$?%*%V%8%'%/%H$N;2>H$rJV$7$^$9!#$3$N;2>H$OJQ?t$KBeF~$7$F$*$-$^$9$,!"D>@\MxMQ$9$k$3$H$b=PMh$^$9!#(B

$B%/%i%9$O!"(B Java $B%W%i%C%H%U%)!<%`$N%"%/%;%9%a%+%K%:%`$K$h$C$F!"$=$N%$%s%9%?%s%9JQ?t$d%a%=%C%I$X$N%"%/%;%9$r@)8f$7$^$9!#Dj5A$5$l$?%/%i%9$N30B&$+$i%"%/%;%92DG=$J%$%s%9%?%s%9JQ?t$H%a%=%C%I$O!"8BDjL>(B (qualified name) $B$K$h$C$F;2>H$5$l$^$9!#%$%s%9%?%s%9JQ?t$N8BDjL>$O

	objectReference.variableName

$B%a%=%C%I$N8BDjL>$O

	objectReference.methodName(argumentList)

$B0?$$$O!"0z?t$,$J$$$3$H$b$"$k$G$7$g$&!'(B

	objectReference.methodName()

GC $B$O;H$o$l$J$/$J$C$?%*%V%8%'%/%H$r%a%b%j>e$+$i<+F0E*$K(B clean up $B$7$^$9!#%*%V%8%'%/%H$O!"%W%m%0%i%`$,$=$l0J>e$=$N%*%V%8%'%/%H$X$N;2>H$rJ];}$7$J$1$l$PMxMQ$5$l$J$$$H8@$&$3$H$K$J$j$^$9!#;2>H$rJ];}$7$F$$$kJQ?t$K(B null $BCM$rBeF~$9$k$3$H$G!"JQ?t$+$i;2>H$rL@<(E*$K%I%m%C%W$9$k$3$H$b=PMh$^$9!#(B

$B%W%m%0%i%`$G$O!"%*%V%8%'%/%H$N(B clean up $B$r$9$k$o$1$G$O$J$$$3$H$KCm0U$7$F$/$@$5$$!#%W%i%0%i%`$G$O!";2>H$r(B null $BCM$NBeF~$K$h$C$F%I%m%C%W$9$k$@$1$G$9!#$3$&$9$k$3$H$G!";2>H$5$l$J$/$J$C$?%*%V%8%'%/%H$O(B Garbage Collection $B$NBP>]$K$J$j$^$9!#

$B%5%s%W%k(B

$BPoint $B%/%i%97?%*%V%8%'%/%H$H(B Rectangle $B%/%i%97?%*%V%8%'%/%H$r:n$C$F$$$^$9!#$3$N%3!<%I$,H$,B8:_$9$k$G$7$g$&$+!)$3$l$i$N%*%V%8%'%/%H$O(B Garbage Collection $B$NBP>]$K$J$k$G$7$g$&$+!)(B

...
Point point = new Point(2,4);
Rectangle rectangle = new Rectangle(point, 20, 20);
point = null;
...

Point $B%/%i%97?%*%V%8%'%/%H$b(B Rectangle $B%/%i%97?%*%V%8%'%/%H$b!";2>H$O0l$D$:$D$G$9!#$I$A$i$N%*%V%8%'%/%H$b%,!<%Y%8!&%3%l%/%7%g%s$KM-;q3J$G$O$"$j$^$;$s!#(B Point $B%/%i%97?%*%V%8%'%/%H$N;2>H$O(B print $BJQ?t$KJ];}$5$l$F$*$j!"$3$l$O(B null $BCM$NBeF~$K$h$C$F!"L@<(E*$K%I%m%C%W$5$l$F$$$^$9!#$3$l$@$1$J$i$P(B Garbage Collection $B$KM-;q3J$J$N$G$9$,!";2>H$,%I%m%C%W$5$l$kA0$K!"(B Rectangle $B%/%i%9$N%3%s%9%H%i%/%?0z?t$K;H$o$l$F$$$^$9!#$3$3$G:n$i$l$?(B Point $B%/%i%97?%*%V%8%'%/%H$,%a%b%j>e$+$i(B clean up $B$5$l$F$7$^$&$H!"(B Rectangle $B%/%i%97?%*%V%8%'%/%H$,@5>o$KF0:n$7$J$/$J$k62$l$,$"$k$N$G!"(B GC $B$O(B Point $B%/%i%97?%*%V%8%'%/%H$r(B clean up $B$7$^$;$s!#(B



Copyright © 2001-2003 SUGAI, Manabu. All Rights Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送