Garbage Collection

Revised: 27th/May/2004; Since: Mar./3rd/2002

Java $B%W%i%C%H%U%)!<%`$G$O!"%*%V%8%'%/%H$O%a%b%jMFNL$N5v$98B$j4v$D$G$b:n@.$9$k$3$H$,2DG=$G$"$j!"L@<(E*$K%a%b%j>e$+$i:o=|$9$kI,MW$b$"$j$^$;$s!#(B Java $Be;H$o$J$$%*%V%8%'%/%H$rFCDj$7!":o=|$7$F$/$l$^$9!#$3$N%W%m%;%9$O(B Garbage Collection $B!J%4%_=8$a!K$H8F$P$l$F$$$^$9!#(B

$B%G!<%?!&%(%j%"4IM}(B

GC (Garbage Collector) $B$O!"%R!<%W$KBP$9$k<+F05-210h4IM}%7%9%F%`$G$9!#%a%b%j>e$N%R!<%WFb$GITMW$J$C$?NN0h(B (garbage) $B$r:FMxMQ2DG=$K$7(B (recycle) $B!"CGJR2=$7$?NN0h$r:FG[CV$9$k(B (defragmentation) $B!"%P%C%/!&%0%i%&%s%I$N%*!<%P!<%X%C%I!&%W%m%;%9$H$7$F5/F0$7$^$9!#(B

Java $B$K$O%]%$%s%?$,L5$/!"$=$N5"7k$H$7$F!"%G!<%?%(%j%"4IM}$H$$$&35G0$,$"$j$^$;$s!#(BJava $B$G$O!"%G!<%?%(%j%"$N4IM}$O(B GC $B$,<+F0E*$K9T$C$F$/$l$k$N$G!"%W%m%0%i%^$,0U<1$7$F4IM}$9$k$b$N$G$O$"$j$^$;$s!#%a%b%j!&%j!<%/$dNN0h0cH?$,H/@8$9$l$P(B GC $B$N%P%0$G$9!#%W%m%0%i%^$O!"%$%s%9%?%s%94IM}$H$7$F!"(BGC $B$NF0:n$rJd=u$9$k$3$H$K$J$j$^$9!#(B

$B%]%$%s%?$H%i%s%@%`!&%"%/%;%9(B

$B0lHL$K!"%a%b%j>e$N%"%I%l%9!?%*%U%;%C%HCM$rL@<(E*$K;XDj$9$k;EAH$_$r%]%$%s%?$H8F$S$^$9!#%]%$%s%?$r;}$D8@8l$N>l9g$O!"%a%b%j>e$NG$0U$N%j%=!<%9$K!"$$$D$G$b%i%s%@%`!&%"%/%;%92DG=$J$3$H$,FCD'$G$9!#%"%W%j%1!<%7%g%s!&%m%8%C%/$K0MB8$7$J$$$G!"%*!<%P!<%X%C%I=hM}$K$h$C$F%a%b%jNN0h$NMW!?ITMW$rH=CG$9$k$3$H$O$G$-$^$;$s!#$7$?$,$C$F!"<+J,$G3d$jEv$F$?NN0h$O!"<+J,$,@UG$$r;}$C$F2rJ|$7$F$d$kI,MW$,$"$j$^$9!#%a%b%j2rJ|$N0dO3!J2rJ|$7K:$l$k$3$H!K$r!"(B$B%a%b%j!&%j!<%/(B (memory leak) $B$H8F$S!"IT@5$J%]%$%s%?$K$h$C$F!"B>$NNN0h$N%G!<%?$r2u$7$F$7$^$&$3$H$r!"(B$B%9%H%l!<%8!&%*!<%P!<%l%$(B$B!J5-210hJ]8n0cH?!K$H8F$S$^$9!#(B

$B%a%b%j!&%j!<%/$,H/@8$9$k$H!"C$9$k$3$H$O6K$a$F:$Fq$G$9!#$H$$$&$N$b!"%]%$%s%?$G%i%s%@%`!&%"%/%;%92DG=$J;EAH$_$N2<$G$O!"@jM-$5$l$F$$$k%a%b%jNN0h$,!"2rJ|$7K:$l$F$$$k$N$+!"@h!9MxMQ$9$k2DG=@-$,$"$k$N$G5o:B$C$F$$$k$N$+$rH=CG$9$k$3$H$,!"86M}>e$G$-$J$$$+$i$G$9!#FCDj$N=hM}$G!"%a%b%j$N;HMQN($,>e>:$9$k>l9g$K8B$j!"%a%b%j!&%j!<%/$N2DG=@-$,5?$o$l$k$3$H$K$J$j$^$9!#(B

$B;2>H$H%$%s%9%?%s%94IM}(B

Java $B$K$O!"%f!<%6$,MxMQ$9$k%]%$%s%?$N;EAH$_$,$"$j$^$;$s!#%]%$%s%?$NBe$o$j$K$J$k$N$O!"%*%V%8%'%/%H$KBP$9$k;2>H$G$9!#;2>H$O!"1i;;;R(B new $B$K$h$C$F(B JVM $B$+$iJV$5$l$k!"%F!<%V%k$G4IM}$5$l$?%7%s%\%j%C%/$J$b$N$G$9!#%G%P%$%9$NO@M}%"%I%l%9$K0MB8$;$:!"%3!<%I$,L@<(E*$K;XDj$G$-$k$b$N$G$O$"$j$^$;$s!#(B

new $B$GJV$5$l$k;2>H$OJQ?t$KBeF~$7$F=i$a$F%"%W%j%1!<%7%g%s$N=hM}BP>]$K$J$j$^$9!#(BJVM $B$+$i;2>H$,JV$5$l$k$N$O0lEY$-$j$J$N$G!"$"$k%*%V%8%'%/%H$N;2>H$N%3%T!<$rJ];}$9$kA4$F$NJQ?t$,%a%b%j>e$+$i%I%m%C%W$5$l$?$i!":F$SF1$8%$%s%9%?%s%9$r;2>H$9$k$3$H$OIT2DG=$G$9!#$D$^$j!"0l;~E@$G%3%s%T%e!<%?@)8f$,E~C#2DG=$J%3!<%I$NHO0OFb$K!"Ev3:%*%V%8%'%/%H$X$N;2>H$,L5$/$J$C$?$i!"Ev3:%*%V%8%'%/%H$N%$%s%9%?%s%9$,@jM-$7$F$$$k%a%b%jNN0h$K$O!"1J1s$K%3%s%T%e!<%?@)8f$,E~C#IT2DG=$G$"$k$HH=CG$G$-$k$o$1$G$9!#(B

$B%*%V%8%'%/%H$r;2>H$7$F$$$?JQ?t$,$=$N%9%3!<%W$+$i30$l$k$H!"DL>o$O$=$NJQ?t$N;2>H$O%I%m%C%W$5$l$^$9!#0?$$$O!"$=$NJQ?t$KFCJL$JCM$G$"$k(B null $BCM$rBeF~$9$k$3$H$G!"L@<(E*$K(B GC $B$N2s<}BP>]$K$9$k$3$H$b=PMh$^$9!#0lHL$K!"%W%m%0%i%`$O!"F1$8%*%V%8%'%/%H$KBP$7$FJ#?t$N;2>H$r;}$D$N$G!"A4$F$N;2>H$,%I%m%C%W$5$l$F$$$J$1$l$P!"(B GC $B$NBP>]$H$J$i$J$$$h$&$K$J$C$F$$$^$9!#(B

$B$3$N$h$&$J!";`$s$@%*%V%8%'%/%H$N<1JL%m%8%C%/$r%^!<%-%s%0$H8F$S!"$=$N=hM}$N4V$O%"%W%j%1!<%7%g%s$,Dd;_$7$^$9!#;`$s$@%*%V%8%'%/%H$N%^!<%/(B (mark)$B!"2s<}(B (sweep)$B!"CGJR2=$N2r>C$H%R!<%W%5%$%:$N05=L(B (compact) $B$,(B GC $B$N

GC $B$N%"!<%-%F%/%A%c(B

$B8=BeE*$J(B GC $B$O!"C1=c$J(B mark-sweep-compact $B$N$_$G$O$J$/!"J#?t$N%"%k%4%j%:%`$rAH$_9g$o$;$F!"R2p$7$^$9!#(B

$B%$%s%/%j%a%s%?%k(B GC

$B$=$b$=$b!"(BGC $B%W%m%;%9$O!"%a%b%j!J%;%s%H%i%k!&%9%H%l!<%8!K>e$NJ*M}%"%I%l%9$K0MB8$9$k=hM}$rl9g$O!"%5!<%P%5%$%I$J$I$G!"%9%?%C%/3,AX$,?<$$>l9g$O!"ICC10L$G(B JVM $B>e$N6HL3%"%W%j%1!<%7%g%s$rDd;_$5$;$^$9!#(B

$B$3$l$r7y$C$F!"(BGC $B=hM}$rCfCG2DG=$K$7$F!"%?%$%`%9%i%$%9!J(BCPU $B;~J,3d!K$G%"%W%j%1!<%7%g%s$HJ?9T$7$F=hM}$G$-$k$h$&$K$7$?$N$,!"%$%s%/%j%a%s%?%k(B GC $B$G$9!#(B

$B%3%s%+%l%s%H(B GC

$B%$%s%/%j%a%s%?%k(B GC $B$O!"%?%$%`%9%i%$%9$K$h$C$F!"D94|4V$N%"%W%j%1!<%7%g%s$NDd;_$rHr$1$kJ}K!$G$9$,!"2?$l$K$;$h!"%"%W%j%1!<%7%g%s$,Dd;_$9$k$3$H$KJQ$o$j$O$"$j$^$;$s!#JB9T=hM}2DG=$JItJ,$rJ?9T$Kl9g!"%^!<%-%s%00J30$N;~4V$O%"%W%j%1!<%7%g%s$,Dd;_$7$^$;$s!#:G$bD9;~4V3]$+$k$N$,%3%s%Q%/%H$N4V$@$C$?$N$G!"%3%s%+%l%s%H$G$J$$(B GC $B$HHf$Y$k$H!"KX$IDd;_$7$J$$$H$$$($^$9!#(B

$B@$BeJL(B GC

JVM 1.3 $B0J>e$G:NMQ$5$l$F$$$k@$BeJL(B GC $B$O!"%R!<%W$r!"/$J$$%3%9%H$G9b$$8z2L$,5s$2$i$l$^$9!#(B

$Bu$N%G!<%?9=B$$G%*%V%8%'%/%H$r3d$jEv$F!"$3$l$,%*!<%P!<%U%m!<$9$k$H!"@8$-$F$$$k%*%V%8%'%/%H$@$1$,@8B8%9%Z!<%9$K%3%T!<$5$l!"%(%G%s%9!&%Z!<%9$O6u$N>uBV$KLa$j!":F$S%*%V%8%'%/%H$N3d$jEv$F$,2DG=$K$J$j$^$9!#

$B$3$l$i$NNN0h$N;HMQN($H(B CPU $B;HMQN($K1~$8$F!"@$Be4V%3%T!<$d(B mark-sweep-compact $B$J$I$N!"J#?t$N%"%k%4%j%:%`$N(B GC $B=hM}$rAH$_9g$o$;$FCHq$rM^$(!"%"%W%j%1!<%7%g%s$NDd;_;~4V$,C;$/$J$k$h$&$KD4@0$5$l$F$$$^$9!#(B

GC $B$N5sF0$O!"J#?t$N=hM}$rAH$_9g$o$;$F8zN($r>e$2$k$h$&$K@_7W$5$l$F$$$k$?$a!"L@<(E*$K5sF0$r;XDj$9$k$3$H$O$G$-$^$;$s!#(BJVM $B$N%Q%i%a%?$GM?$($?9=@.>pJs$K=>$C$F%P%C%/%0%i%&%s%I=hM}$H$7$FF0:n$7$^$9!#(B

GC $B$N%*%W%7%g%s(B

GC $B$K0MB8$9$k%*%W%7%g%s$K!"%R!<%W%5%$%:$r;XDj$9$k$b$N$,$"$j$^$9!#$3$3$G;XDj2DG=$J$b$N$O!"(BGarbage Collected Heap $B$H8F$P$l$kNN0h$N%5%$%:$G$9!#%R!<%W%5%$%:$,>.$5$$$H!"(BGC $B$,IQHK$KH/@8$9$k$?$a!"%5!<%P$N%9%k!<%W%C%H$,0-2=$7$^$9!#I,MW$J$@$1$NNN0h$,3NJ]$G$-$J$/$J$k$H!"(B OutOfMemoryError $B$,H/@8$7$F!"%"%W%j%1!<%7%g%s$,

$B%*%W%7%g%s(B$B;XDjCM(B
-Xms$B=i4|%R!<%W%5%$%:!JA4BN!K(B
-Xmx$B:GBg%R!<%W%5%$%:!JA4BN!K(B
-Xmn (-XX:NewSize)young generation$BNN0h%5%$%:(B
-XX:NewRatioyoung generation$BNN0h$H(Btenured generation $BNN0h$NHfN((B
-XX:SurvivorRatioeden$BNN0h$H(Bsurvivor$BNN0h$NHfN((B
-XX:TargetSurvivorRatioyoung generation $B$,(B full $B$K$J$k$^$G$K(B survivor space $B$GMxMQ2DG=$J%9%Z!<%9$NHfN((B
-XX:MinHeapFreeRatioGC $B8e$K3HD%$5$l$k$^$G$K>CHq$5$l$k%R!<%W$NHfN((B
-XX:MaxHeapFreeRatioGC $B8e$K%7%e%j%s%/$5$l$k$^$G$K>CHq$5$l$k%R!<%W$NHfN((B

-Xms $B$H(B -Xmx $B$NCM$rEy$7$/$H$k$H!"A4%R!<%W%5%$%:$,8GDj$5$l!"3HD%$b%7%e%j%s%/$b$7$J$/$J$j$^$9!#(B

$B%G%U%)%k%H$G$O!"(Byoung generation $B$N%5%$%:$O!"(BNewRatio $B$G@)8f$G$-$^$9!#Nc$($P!"(B-XX:NewRatio=3 $B$H$9$l$P!"(Byoung generation $BBP(B tenured generation $B$,(B 1:3 $B$K$J$j$^$9!#$D$^$j!"(B eden $B%9%Z!<%9$H(B survivor $B%9%Z!<%9$N9g7W%5%$%:$,!"A4%R!<%W%5%$%:$N(B 1/4 $B$K$J$j$^$9!#(B

NewSize $B$H(B MaxNewSize $B$O!"(B young generation $B%5%$%:$N:G>.CM$H:GBgCM$r;XDj$7$^$9!#$3$l$i$NCM$rEy$7$/;XDj$9$k$H!"A4%R!<%W$NCf$N!"(B young generation $BNN0h$N%5%$%:$,8GDj$5$l$^$9!#(BNewRatio $B$G(B young generation $B$N%R!<%W%5%$%:$rF0E*$K;XDj$9$k$h$j$b!"%Q%U%)!<%^%s%9$,$h$/$J$k2DG=@-$,$"$j$^$9!#(B

SurvivorRatio $B$K$h$C$F!"(Bsurvivor $B%9%Z!<%9$H(B eden $B%9%Z!<%9$NHfN($r;XDj$G$-$^$9!#Nc$($P!"(B-XX:SurvivorRatio=6 $B$H$9$l$P!"(Bsurvivor $BBP(B eden $B$,(B 1:6 $B$K$J$j$^$9!#$D$^$j!"Fs$D$N(B survivor $B%9%Z!<%9$N3F!9$N%5%$%:$O!"(Byoung generation $B$N%5%$%:$N(B 1/8 $B$K$J$j$^$9!#(B

TargetSurvivorRation $B$O!"(Byoung generation $B$,(B GC $B$5$l$F!"%*%V%8%'%/%H$,(B old generation $B$K0\F0$5$l$k$^$G$KMxMQ2DG=$J(B survivor $B%9%Z!<%9$NHfN($r;XDj$9$k$b$N$G$9!#Nc$($P!"(B-XX:TargetSurvivorRatio=90 $B$H$9$l$P!"(B survivor $B%9%Z!<%9$N(B 90% $B$,;H$o$l$k$^$G!"(Byoung generation $B$,(B full$B!!$@$H9M$($i$l$k$3$H$O$"$j$^$;$s!#$=$l$^$G!"%*%V%8%'%/%H$,(B old generation $B$K%W%m%b!<%H$5$l$J$$$H$$$&$3$H$r0UL#$7$^$9!#(B

MinHeapFreeRatio $B$H(B MaxHeapFreeRatio JVM $B$,%R!<%W$r3HD%!?%7%e%j%s%/$9$k$H$-$K!"%-!<%W$9$k%U%j!-Xms $B$H(B -Xmx $B$G;XDj$7$^$9!#(B

GC $B$N>\:Y$O!"(BSun $B$NJ8=q(B$B$r;2>H$/$@$5$$!#FC$K!"(BDiagnosing a Garbage Collection problem $B$K$O!"L\$rDL$7$F$*$/$HNI$$$G$7$g$&!#%5!<%I%Y%s%@!<l9g$O!"BP1~$9$kJ8=q$r;2>H$9$kI,MW$,$"$j$^$9!#Nc$($P!"(BIBM $B$N>l9g$O!"

Pinned Object

$B;2>H(B

$B%*%V%8%'%/%H$O!";2>H$5$l$J$/$J$k$H(B GC $BBP>]$K$J$j$^$9!#u67$K$h$j$^$9$,!"(B GC $B$,J*M}%"%I%l%9>e$+$i%$%s%9%?%s%9$r0\F0!"Kt$O:o=|$G$-$k$H$$$&$3$H$G$9!#5U$K!";2>H$,B8:_$9$k>l9g$O!"(B GC $B$,%$%s%9%?%s%9$r0\F0!?:o=|$G$-$^$;$s!#$3$l$r!"%T%s%I!&%*%V%8%'%/%H$H8F$S$^$9!#(B

J2SDK 1.2 $B0J>e(B (Java2 $B0J>e(B) $B$G$O!"(Bjava.lang.ref $B%Q%C%1!<%8$,F3F~$5$l$^$7$?!#$3$l$O!"DL>o$N;2>H$K2C$($F!";0$D$N;2>H7ABV$rF3F~$7$^$9!#(B

$B6/;2>H(B
$BDL>o$N;2>H!#%3%s%9%H%i%/%?$K$h$C$F@8@.$5$l$?%$%s%9%?%s%9$KBP$9$k;2>H$r(B new $B1i;;;R$GJV$7$?$b$N$rJQ?t$KJ];}$7$F$$$k>uBV!#Ev3:JQ?t$,%9%3!<%W$+$i30$l$k$^$G!"%a%b%j>e$+$i$N%I%m%C%WBP>]$K$J$i$J$$!#(B
$B%=%U%H;2>H(B
$B%a%b%j%;%s%7%F%#%V%-%c%C%7%e!#(B $B%=%U%H;2>H$5$l$F$$$k%*%V%8%'%/%H$O!"(BGC $B$N2s<}BP>]$G$"$k$HF1;~$K;2>H$G$-$k!#6/;2>H!J6/2DE~C#!K$N>l9g$O!"(B GC $B2s<}BP>]$K$J$k$H$$$&$3$H$O!";2>H$G$-$J$$$3$H$HF15A8l!#%=%U%H;2>H!J%=%U%H2DE~C#!K$N>l9g$O!"$D$$:#$7$,$?Kx;2>H2DG=$G$"$C$?%*%V%8%'%/%H$,!"%j%=!<%9$N>CHqN($d@8B8;~4V$K1~$8$F!"(BGC $B$K2s<}$5$l$F%a%b%j$+$i%I%m%C%W$5$l$k2DG=@-$r;}$D!#(Bnice to have $B$J%-%c%C%7%e$KE,$7$F$$$k!#(B
$BH(B
$B%+%N%K%+%i%$%:2=%^%C%W!#%=%U%H;2>H$h$j$bH!#%=%U%H;2>H$N>l9g$O!"(BGC $BCHqN($d@8B8;~4V$K1~$8$F!"2s<}$5$l$k>l9g$b$5$l$J$$>l9g$b$"$k$,!"H!Jl9g$O!"(BGC $B5/F0;~$KH/8+$5$l$F$$$l$PI,$:2s<}$5$l$k!#C"$7!"(BGC $B$,l9g$b$"$j!"$=$N>l9g$OEvA32s<}$5$l$:!"
$B%U%!%s%H%`;2>H(B
$B2s<}D>A0$K!"BP1~$9$k%-%e!<$K%(%s%-%e!<(B (Enter Queue) $B$5$l$k$N$G!"%-%e!<$r4F;k$7$F$$$l$P!"2s<}D>A0$N%*%V%8%'%/%H$N8e=hM}$,9T$($k!#2s<}BP>]$K$J$C$?$N$K@8B8$7$F$$$k%U%!%s%H%`$N$h$&$J%*%V%8%'%/%H$KBP$9$k;2>H!#B>$N;2>H$N>l9g$O!"%(%s%-%e!<$5$l$k$N$O2s<}8e$J$N$G!"2s<}A0$K;!CN$G$-$k$N$,FCD'!#(B

$B$3$l$i$N;2>H$N;H$$J}$O!"8eB3$N@a$K2s$7$^$9!#$3$3$G$O!"6/;2>H$NFqE@$r%/%m!<%:%"%C%W$9$k$b$N$H$7$F!"%T%s%I!&%*%V%8%'%/%H(B (Pinned Object) $B$K$D$$$F@bL@$7$^$9!#(B

$B%T%s%I!&%*%V%8%'%/%H(B

Pinned Object (Un-Movable Object) $B$O!"(BGC (Garbage Collector) $B$,J*M}E*$K%a%b%j>e$+$i0\F0$G$-$J$$%*%V%8%'%/%H$G$9!#%9%?%C%/>e$K;2>H$,$"$k%*%V%8%'%/%H$d!"%l%8%9%?$K$"$k%*%V%8%'%/%H$OA4$F0\F0$G$-$J$$%T%s%I!&%*%V%8%'%/%H$K$J$j$^$9$,!"D94|4V$K$o$?$C$F5o:B$k%T%s%I!&%*%V%8%'%/%H$O!"(BJNI (Java Native Interface) $B$G;2>H$7$F$$$k%*%V%8%'%/%H$J$I$K$=$N2DG=@-$,$"$j$^$9!#$3$N>l9g$O!"%3!<%G%#%s%0!&%_%9!?@_7W%_%9$G$"$k2DG=@-$b5?$o$l$^$9!#B?$/$N%W%m%U%!%$%i$O!"%T%s%I!&%*%V%8%'%/%H$r8!CN$7$FJs9p$7$^$9!#(B

$B0lHL$K!"(BJVM $B$N%a%b%jNN0h$O%Z!<%8%s%0IT2D$J$N$G!"MxMQ$9$k%*%V%8%'%/%H$O!"I,$:%$%s!&%a%b%j!e$KB8:_$9$k>uBV!K$G$"$k$3$H$,I,MW$G$9!#Ev3:(B JVM $B!J%"%W%j%1!<%7%g%s!&%5!<%P!K$NB8:_;~4V$KHf$Y$F!"Hf3SE*D94|4V$KEO$C$F@8B8$9$k%*%V%8%'%/%H$O!"(BGC $B$NF0:n$rAK32$9$k2DG=@-$,$"$j$^$9!#(B

$B%$%s%/%j%a%s%?%k$d%3%s%+%l%s%H$G$J$$(B GC $B$N>l9g!"(BGC $Bo$KD9$$;~4V$,3]$+$j$^$9!#%3%s%Q%/%H$H$O!"%a%b%j>e$N%G!<%?$r%j%*%k%0!J%G%U%i%0!K$7$F!"%R!<%W%5%$%:$r05=L!J%7%e%j%s%/!K$9$k$3$H$G$9!#0l2s$N(B GC $B5/F0$KBP$7$F!"%3%s%Q%/%H$O:GBg$G$b0l2s$7$+;n$_$i$l$^$l$^$;$s!#@5>o$K%7%e%j%s%/$G$-$l$P!"%R!<%W%5%$%:$O$+$J$j>.$5$/$J$k$N$G!"%3%s%Q%/%H$O5)$K$7$+

GC $B$K$h$C$F0\F0$G$-$J$$%T%s%I!&%*%V%8%'%/%H$,!"%R!<%W(B (Heap) $B$N%H%C%WIU6a$KB8:_$9$k$H!"0l2s$N(B GC $B$G$O%7%e%j%s%/(B (Shrink) $B$G$-$J$$$?$a$K!"

Pinned Object
$B?^!'(BPinned Object

$B%T%s%I%*%V%8%'%/%H$K$h$k%7%e%j%s%/$NIQHK$J

  1. JVM $B$N5/F0;~%Q%i%a%?$G!"%R!<%W$N=i4|%5%$%:$H:GBg%5%$%:$rEy$7$/;XDj$9$k!#(B
  2. $B5/F0;~%*%W%7%g%s$G!"O"B3D9$r;XDj$9$k!#(B

$B=i4|%5%$%:(B -xms[n] $B$H:GBg%5%$%:(B -xmx[n] $B$,F1$8$G$"$l$P!"$=$b$=3HD%$7$J$$$N$G!"%7%e%j%s%/$NI,MW$b$"$j$^$;$s!#$7$+$7!"=i4|%5%$%:$H:GBg%5%$%:$rEy$7$/$H$k$H!"%G%U%i%0%a%s%F!<%7%g%s!JCGJR2=!K$,H/@8$7$F!"=ENL5i$N%*%V%8%'%/%H$N@8@.$G!"(BOutOfMemoryError $B$,H/@8$9$k2DG=@-$,$"$j$^$9!#Hr$1$k$h$&$K6/$/?d>)$5$l$F$$$^$9!#(B

$B$3$l$r2sHr$9$k$?$a$K!"O"B3$7$F%"%m%1!<%7%g%s2DG=$J%a%b%j>e$N6u$-NN0h$N%5%$%:$r;XDj$9$k$3$H$G!"%7%e%j%s%/$N5/F0$r2sHr$9$k$3$H$,9M$($i$l$^$9!#(BSun $B$N(B JVM $B$N>l9g$O!"(B-XX:MaxHeapFreeRatio $B$G;XDj$G$-$^$9!#>\:Y$O!"(BJava HotSpot VM Options $B$d!"(BTuning Garbage Collection $B$J$I$N$[$+!"3:Ev%Y%s%@!<$N%I%-%e%a%s%H$r;2>H$/$@$5$$!#(B



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