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 $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
$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!"
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 $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!" $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}$r $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%$%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$K JVM 1.3 $B0J>e$G:NMQ$5$l$F$$$k@$BeJL(B GC $B$O!"%R!<%W$r!" $B $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$;$F 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$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%G%U%)%k%H$G$O!"(Byoung generation $B$N%5%$%:$O!"(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%@!< $B%*%V%8%'%/%H$O!";2>H$5$l$J$/$J$k$H(B GC $BBP>]$K$J$j$^$9!# J2SDK 1.2 $B0J>e(B (Java2 $B0J>e(B) $B$G$O!"(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 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 $B 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!"
$B%T%s%I%*%V%8%'%/%H$K$h$k%7%e%j%s%/$NIQHK$J $B=i4|%5%$%:(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!"(BGC $B$N%"!<%-%F%/%A%c(B
$B%$%s%/%j%a%s%?%k(B GC
$B%3%s%+%l%s%H(B GC
$B@$BeJL(B GC
GC $B$N%*%W%7%g%s(B
$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:NewRatio
young generation$BNN0h$H(Btenured generation $BNN0h$NHfN((B -XX:SurvivorRatio
eden$BNN0h$H(Bsurvivor$BNN0h$NHfN((B -XX:TargetSurvivorRatio
young generation $B$,(B full $B$K$J$k$^$G$K(B survivor space $B$GMxMQ2DG=$J%9%Z!<%9$NHfN((B -XX:MinHeapFreeRatio
GC $B8e$K3HD%$5$l$k$^$G$K>CHq$5$l$k%R!<%W$NHfN((B -XX:MaxHeapFreeRatio
GC $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!#(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!#(BNewSize
$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!#(BSurvivorRatio
$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!#(BTargetSurvivorRation
$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!#(BMinHeapFreeRatio
$B$H(B MaxHeapFreeRatio
JVM $B$,%R!<%W$r3HD%!?%7%e%j%s%/$9$k$H$-$K!"%-!<%W$9$k%U%j!-Xmx
$B$G;XDj$7$^$9!#(B
Pinned Object
$B;2>H(B
java.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
$B%T%s%I!&%*%V%8%'%/%H(B
$B?^!'(BPinned Object
-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-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] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送