NAKAMURA Minoru $B$NF|5-(B (2005$BG/(B12$B7n(B)

$B@h7n$NF|5-(B(2005$BG/(B11$B7n(B) $B:#7n$NF|5-(B(2005$BG/(B12$B7n(B)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3 | 4
$B%[!<%`%Z!<%8(B | $B:G?7$N%3%a%s%H(B50
$B%$%s%G%C%/%9(B: $B?)$YJb$-(B | Java | $B%W%m%0%i%`(B | UNIX | $B2hA|(B
$B:G?7$NF|5-$X$N%j%s%/(B | $B$3$NF|5-%Z!<%8$r$O$F$J% $B$3$NF|5-%Z!<%8$r$O$F$J%V%C%/%^!<%/$KDI2C(B
$B$O$F$J(B $B%@%$%"%j!<(B $B%"%s%F%J(B $B%V%C%/%^!<%/(B $B%V%m%0(B
Twitter | mixi | Facebook | slideshare | github | Qiita



12/31 ($BEZ(B)

$BHJ>e;a$H:F2q$9(B

$BLH5v$rN}=,$9!#(B $B%Z!<%Q!$7$?$N$,(B5$BG/$0$i$$!#(B $B!V$3$N$^$^8xF;$K=P$?$iC/$+$,;`$L!W$H$$$&8=>u$,3NG'$G$-$k!#(B

$B$=$N8e!":rF|$NB@2Z;3$KB3$-!"BgJ?;3$KEPD:!#(B $BBgJ?;3$KEP$k$N$O:GDc$G$b(B15$BG/?6$j$G$"$m$&!#(B

$BBgJ?;3(B:$B;3D:CO?^(B
$B;3D:CO?^(B
$BBgJ?;3(B:$B;3D:Iw7J(B
$B;3D:Iw7J(B
$B@c$,>C$($J$$(B
$BBgJ?;3(B:$B%m!<%W%&%'%$(B
$B%m!<%W%&%'%$(B
$BKII\$N7J?'(B
$BKII\$N7J?'(B

12/30 ($B6b(B)

S$B;a$H:F2q(B

S$B;a$H:F2q!#(B $BNcG/$N$4$H$/;a$N2H$GG/2l>u$N0u:~$r$5$;$F$b$i$&!#(B

$B%i!<%a%sMhMhDb!wKII\;T(B

$B$^$:KII\;TLr=j6a$/$G$-$?$H$$$&MhMhDb$KHS$r?)$Y$K9T$/!#(B $BO"F|Bg:.;($7$F$$$k$=$&$@$,!"(B $BCkA0$K9T$C$?$N$G$9$s$J$jF~$l$?!#(B

$BMhMhDb(B:$BE9$NA0(B
$BE9$NA0(B
$BMhMhDb(B
$Bq-;R$H%_%K%i%$%9$,IU$/Dj?)$rMj$_$^$7$?(B
$BMhMhDb(B:$B>_L}%i!<%a%s(B
$B>_L}%i!<%a%s(B
$BMhMhDb(B:
$B>pG.$H???4$OH4$1$J$$$i$7$$(B

$BGnB?%i!<%a%s$N$h$&$J:YLM$N>_L}%i!<%a%s$OKII\;T$G$ODA$7$$!#(B $BGXL}$,$3$C$F$j$N$-$D$a$N>_L}%9!<%W$@$,!"7k9=$*$$$7$/$F!{!#(B

$B%^%j!<%6!w2<>>;T(B ($B8x<0(B)

$B8)2<$GM#0l(B $B%J%]%j%T%C%D%!$NG'Dj(B(2004/6/6$B$NF|5-(B)$B$r(B $B

$B%^%j!<%6(B:$BE9$NA0(B
$BE9$NA0(B
$B%^%j!<%6(B:$BE9$NA0(B
$B3x(B

$BFs?M$G%;%C%H%a%K%e!<(B(1,950$B1_(B)$B$rCmJ8!#(B $BA0:Z!"%9!<%W!"%Q%9%?(B or $B%T%C%D%!(B or $B%j%>%C%H!"%I%k%A%'!"0{$_J*$,$D$/!#(B $B%T%C%D%!$OJLESCmJ8$9$k$H$$$&$3$H$G!"(B $BJL!9$K%Q%9%?$r;XDj!#(B

$B%^%j!<%6(B:$BA0:Z(B
$BA0:Z(B
$B%^%j!<%6(B:$B%9!<%W(B
$B%_%M%9%H%m!<%M(B
$B%^%j!<%6(B:$B%Z%Z%m%s%A!<%N(B
$B%Z%Z%m%s%A!<%N(B
$B%^%j!<%6(B:$B%
$B%"%i%S%"!<%?(B
$B%^%j!<%6(B:$B%I%k%A%'(B $B%^%j!<%6(B:$B%I%k%A%'(B

$BJLES!"%T%C%D%!$rCmJ8!#(B $B%T%C%D%!$OH>3[$G%9%b!<%k%5%$%:$,MQ0U$5$l$F$$$k$N$,BgJQ$h$$!#(B $B%J%]%j%T%C%D%!$NDjHV%^%k%2%j!<%?$HK*L*$H%4%k%4%s%>!<%i$N%T%C%D%!$rCmJ8!#(B

$B%^%j!<%6(B:$B%^%k%2%j!<%?(B
$B%^%k%2%j!<%?(B
1,000$B1_(B
$B%^%j!<%6(B:$B$O$A$_$D$H%4%k%4%s%>!<%i(B
$BE7A3$O$A$_$D$H%4%k%4%s%>!<%i(B
7,00$B1_(B S$B%5%$%:(B
$BP<$+$J4E$_$,%&%^%!!A(B

$B3x$,$4<+K}$NE9$@$1$"$C$F%T%C%D%!$OBgJQH~L#$7$$!#(B $B$b$A$b$A46$H%Q%j%Q%j46$,@dL/$G$9!#(B

$B%Q%9%?$OIaDL$+$b!#(B

$BB@2Z;3(B

$B$*@57n$K$O=i7X5R$GFx$o$&$H$$$&B@2Z;3$KEP$k!#(B 9$B;~$r$^$o$m$&$H$$$&;~4V!"(B $B30Et$b$J$/??$C0E$JCf!"(B $B7HBSEEOC$N8w$rMj$j$K;3D:$^$GEP$k!#(B

$BB@2Z;3$N;3D:$+$iFA;3$ND.$NLk7J$r/$J$$$N$,%3%l!#(B $BLk7J$OFq$7$$!#(B

$B%3%a%s%H$r=q$-9~$`(B
[S$B;a(B] 2006-01-01 16:46:26
$BJQ99$"$j$,$H$&$4$6$$$^$9!#(B

12/29 ($BLZ(B)

$B3d0z%]%$%s%H(B

$B5W!9$KHt9T5!$K>h$C$F(B ANA $B$N%^%$%l!<%8$J$k$b$N$,N/$^$C$?$N$@$,!"(B $B;d$O$3$N%^%$%l!<%8%]%$%s%H$N4T85$re$N$?$a$kI,MW$,$"$k$i$7$$$,!"(B $B$=$3$^$GN/$^$C$?$3$H$,$J$$$N$@!#(B $B4|8B$,$"$j(B 2004 $BG/Kv$K(B 1,356 $B%^%$%k!"(B $B$b$&$9$0$d$C$F$/$k(B 2005 $BG/Kv$K$O(B 400 $B%^%$%k$,<:8z$9$k$3$H$K$J$k!#(B 1$B%^%$%k(B 1.5 $B1_49;;$J$N$G(B 2,600 $B1_6a$/B;$r$7$F$$$k$3$H$K$J$k!#(B

$B$3$l$K8B$i$:%]%$%s%H%+!<%I$NN`$rN/$^$C$?$^$^<:8z$5$;$F$7$^$&$3$H$,$h$/$"$k!#(B $B%h%I%P%7%+%a%i$N%]%$%s%H$N$h$&$K(B $B:G8e$KE9$GGc$$J*$r$7$F$+$i!{!{G/$H$$$&4|8B$J$i$^$@$$$$$,!"(B $B%]%$%s%H3MF@F|$+$i!{!{G/7P$D$HL58z$H$$$&$h$&$J4|8B$@$H(B $B7k6I;H$o$J$$$&$A$K<:8z$7$F$7$^$&!#(B $BB;$r$9$k$N$,7y$$$J@-J,$@$+$i!"(B $B$d$?$i$HJ"$,N)$C$F$7$g$&$,$J$$!#(B

$B$=$l$K%+!<%I$,$d$?$i$HN/$^$k$N$G$&$C$H@K$7$$!#(B $B%m!<%+%k$JE9J^$N%+!<%I$b4^$a$k$H!"$9$G$K(B3$B7e$K6a$$%+!<%I$r=j;}$7$F$$$k!#(B $B:bI[$G$O4IM}$7$-$l$J$$$N$G%+!<%I%U%)%k%@!<$KF~$l$F$$$k$N$@$,!"(B $B$&$C$+$j%+!<%I%U%)%k%@!<$rK:$l$F$*E9$KF~$k$H!"(B $BF1$8E9$N%]%$%s%H%+!<%I$,A}$($?$j$9$k!#(B $B%]%$%s%H6&DL(B IC $B%+!<%I$_$?$$$J$N$rF3F~$7$F!"(B 1$BKg$N%+!<%I$KJ#?t$NE9$N%]%$%s%H$r%"%0%j%2!<%H$9$k$3$H$O$G$-$J$$$N$+$7$i!)(B

$BBP93:v$H$7$F!"(B $B%]%$%s%H@)$r0z$$$F$$$kE9$H0z$$$F$$$J$$E9$,$"$k>l9g(B $B%]%$%s%H@)$N$J$$E9$NJ}$GGc$&$h$&$K5$$rG[$C$F$$$k$,!"(B $B:G6a$@$H%]%$%s%H$rIU$1$F$$$J$$E9$C$F(B $B$[$H$s$I$J$$$h$M!D(B

$BJdB-!'(B1/5

$B!V(B1$BKg$N%+!<%I$KJ#?t$NE9$N%]%$%s%H$r%"%0%j%2!<%H!W$H$$$&$N$O!"(B IC $B%+!<%ICf$K!V%h%I%P%7$N%]%$%s%H%7%9%F%`$N(B ID$B!W!"(B $B!V(BANA $B$N%^%$%l!<%8%7%9%F%`$N(BID$B!W!"!V!{!{$N(B ID$B!W$H$$$&$h$&$K5-O?$7$F$*$$$F!"(B $BJ#?t%A%'!<%sJ,$N%]%$%s%H%+!<%I$rB+$M$F$*$1$k6&DL%+!<%I$r:n$m$&$H$$$&%"%$%G%"$G$9!#(B $B%+!<%IB&$KD>$K%]%$%s%H>pJs$,F~$C$F$$$k%+!<%I$O(B $B%;%-%e%j%F%#E*$KE}9g$OL5M}$G$7$g$&$,!#(B


12/28 ($B?e(B)

$B;38}8)$K5">J(B

$BCk2a$.$K?&>l$rF(K4$7$F5^$.6u9A$K8~$+$$!"(B $B1)EDH/(B 14:05 $B$NHt9T5!$G;38}$K5">J!#(B

$B6u9A$O%F%mBP:v$N$?$a%2!<%H$G$N%A%'%C%/$,6/2=$5$lBg:.;(>uBV!#(B $B$J$s$+A02s$b$3$&$@$C$?5$$b$9$k!D(B

$BLnIp;N!w;38}(B ($B8x<0!)(B)

$B?F$N.$&$I$s!"CcOR>x$7$NDj?)$r?)$Y$^$9!#(B

$BLnIp;N(B:$BE9$NA0(B
$BE9$NA0(B
$BLnIp;N(B:$BLnIp;NDj?)(B
$BLnIp;NDj?)(B
$BLnIp;N(B:$B$H$jB-(B
$B$H$jB-(B

12/27 ($B2P(B)

$B$4MxMQ$O7W2hE*$K(B

$BG/2l>u:n@.$N$?$a$KI.2&(B2004$B$N%$%a!<%8(B DVD$B$rC5$7$F$$$?$i!"(B $BGc$C$?$1$IL$3+Iu2;3Z(BCD$B$,$o$s$5$HH/7!$5$l$k(B orz$B!#(B $BL$3+Iu(B DVD-Video $B$b7W2hE*$KCyB"$5$l$F$$$F!"(B $BCf$K$O=O@.$7$F(B$B%W%l%_%"(B$B$,$D$$$?$b$N$^$G$"$k$h!#(B $B0lEY$b8+$F$$$J$$$N$K!#(B

$BG/Kv!&G/;O$O@Q$_(B{CD,DVD}$B$N2r>C$r$,$s$P$m$&!#(B


12/26 ($B7n(B)

$B3P$(=q$-(B

  • $B2HDBJ'$C$?!#(B
  • $B%/%l%8%C%H%+!<%I$N0z$-Mn$H$78}:B$KMB6b0\F0!#(B

12/25 ($BF|(B)

[Linux] prctl $B%3%^%s%I(B

Linux $B$N(B 2.6 $B7O%+!<%M%k0J>e$G$O!"(B $B%W%m%0%i%`$,6-3&$K1h$o$J$$%"%/%;%9$r9T$&$H(B "unaligned access" $B$N%+!<%M%k%m%0$,=PNO$5$l$k(B (3/2 $B$NF|5-(B)$B!#(B $B$3$N%m%0$r;_$a$k$K$O(B prctl $B%3%^%s%I$r;H$&!#(B

# $B%+!<%M%k%m%0=PNO$r;_$a$k(B
> prctl --unaligned=silent 

# unaligned access $B$K$h$C$F(B SIGBUS $B%7%0%J%k$rH/@8$5$;$k$h$&$K$9$k(B
> prctl --unaligned=signal

$B$H$s$+$D$N4]8^!w=)MU86(B (Yahoo!$B%0%k%a(B$B!"(B$B?)$Y%m%0(B.com)

$B=)MU86$N$I??$sCf$K$"$k$H$s$+$D$NO7J^!V4]8^!W!#(B $B$*CMCJ$,9b$$$N$G7I1s$7$F$$$?$,!"(B12/30 $B$G0l

$B4]8^(B:$BE9$NA0(B
$BE9$NA0(B
$B4]8^(B:$B%m!<%9$+$DDj?)(B
$B%m!<%9$+$DDj?)(B

$BFy$,J,8|$/$F%8%e!<%7!<$J$N$,!{!#(B


12/24 ($BEZ(B)

$B:x;k%X%C%@!<%U%!%$%k(B

C $B8@8l$N%X%C%@!<%U%!%$%k$O@k8@$r=8$a$F$*$/$?$a$K;H$o$l$k$N$,IaDL$@!#(B $B%X%C%@!<$NFs=E$NFI$_9~$_$rHr$1$k$?$a$K%X%C%@!<%U%!%$%k$N@hF,$G0J2<$N$h$&$J:Y9)$r$9$k!#(B IDE $B$NCf$K$O$3$N$h$&$J%A%'%C%/$r<+F0E*$KA^F~$9$k$b$N$b$"$k!#(B

#ifndef GENERATETEMPLATE_ONCE
#define GENERATEETMPLATE_ONCE

($B

$B0lJ}$G%W%m%0%i%`$N@8@.E*$JDj5A$N$?$a$K%X%C%@!<%U%!%$%k$r;H$&$d$jJ}$b$"$k!#(B $B%X%C%@!<%U%!%$%k$K4X?tDj5A$N%F%s%W%l!<%H$,;E9~$s$G$"$j!"(B .c $B%U%!%$%k$NK\BN$G@_Dj$rJQ$($J$,$i(B include $B$GB?=E$KFI$_9~$s$G$d$k$d$jJ}$@!#(B

generateTemplate.h
int 
FUNCTIONNAME(int arg1, int arg2)
{
   /* ... */
   FUNC1(arg1, arg2);
   /* ... */
   FUNC2(arg1, arg2);
   /* ... */
}
#define FUNCTIONNAME  templateNormal
#define FUNC1         operation1
#define FUNC2         operation2
#include "generateTemplate.h"
#undef  FUNCTIONNAME
#undef  FUNC1
#undef  FUNC2


#define FUNCTIONNAME  templateIrregular
#define FUNC1         operationIrregular1
#define FUNC2         operationIrregular2
#include "generateTemplate.h"
#undef  FUNCTIONNAME
#undef  FUNC1
#undef  FUNC2

$B$b$7@8@.E*$J;H$o$lJ}$r$7$F$$$k(B generateTemplate.h $B$N@hF,$K(B GENERATETEMPLATE_ONCE $B$N$h$&$J%^%/%m$,;H$o$l$F$$$k$J$i(B $BE83+$O(B1$BEY$7$+5/$-$J$$!#(B $B$7$+$7:#F|$OL@$i$+$K@8@.E*$J;H$o$lJ}$r$7$F$$$k%X%C%@!<%U%!%$%k$K!"(B $BFs=EFI$_9~$_KI;_%A%'%C%/$,$D$$$F$$$k$b$N$r8+$D$1$k!#(B $BF0:nJ}K!$,J,$+$i$:$K$&$s$&$s$HG:$`$3$H$K$J$C$?$N$@$,!"(B $B$I$&$$$&(B hack $B$GLdBj$r2sHr$7$F$"$k$N$+$*J,$+$j$@$m$&$+!)(B

$BDI5-(B:12/29

$B0l1~!"2rEz$G$9!#(B

$B:G=i$NFs=EFI$_9~$_$N%A%'%C%/$N%^%/%m$rCm0U$7$F8+$l$PJ,$+$k$N$@$1$I!"(B GENERATEETMPLATE_ONCE $B$HJ8;z$,0z$C$/$jJV$C$F$$$F!"(B $B%A%'%C%/%3!<%I$NLr3d$r2L$?$7$F$$$J$$$N$G$9!#(B $B$@$+$iFs=E$K$h$_$3$s$G$bBg>fIW$J$N$G$9!"!"!"!"!"!"!"!"!"!"(B $B$C$F!"(B$B$U$6$1$s$J$h!*!*!*(B
$B%3%a%s%H$r=q$-9~$`(B
[$B$&$s$N(B] 2005-12-25 16:55:42
$B$O$8$a$^$7$F!"$3$s$K$A$o!#(B# real $B$G$O$*2q$$$7$?$3$H$"$k$+$b!#(B

($B%3%a%s%HMs$KC$7$^$7$?!#%?%$%H%k$,%R%s%H$G$9$M!)!K(B

$B$I$&$7$F$3$s$J$3$H$9$kI,MW$,$"$k$N$+$O!"$"$s$^$j$h$/$o$+$j$^$;$s$1$l$I!#(B
$B!J$@$l$+$,?F@Z$GIU$12C$($?$/$J$k!VM>7W$J$*@$OC!W$KBP$9$k(B
$B%;!<%U%,!<%I$+$J!)!K(B
[nminoru] 2005-12-26 05:06:21
$B$&$s$N$5$s!"$O$8$a$^$7$F(B(?)
$B?=$7$o$1$"$j$^$;$s$,!"$I$J$?$+$A$g$C$HJ,$+$j$^$;$s!#(BReal world $B$G$*2q$$$7$?$H$7$?$i!"$$$D:"$N$3$H$@$C$?$G$7$g$&!)(B

$B%3%a%s%H=q$-9~$_$NMzNr>pJs$O8+$l$J$$$N$G$9$,!"%R%s%H$K5$$E$+$l$F$$$i$C$7$c$k$N$G!"$*$=$i$/$&$s$N$5$s$N9M$($F$$$k%]%$%s%H$G@5$7$$$H;W$$$^$9!#(B

$B;d$O$3$N%P%0(B(?)$B$O!":G=i$O@k8@$r=8$aIaDL$N%X%C%@!<%U%!%$%k$@$C$?$N$@$,!"@8@.E*$J;H$$J}$K@Z$jBX$($?$?$a$K5/$-$?$N$@$HA[A|$7$F$$$^$9!#(BRead once $B$N%^%/%m$,
[$B$&$s$N(B] 2005-12-27 20:35:02
$B$9$$$^$;$s!"$:!<$C$H#R#O#M$C$F$$$?$N$G$9$,!"5^$K5$$,8~$$$F=q$-9~$s$G$7$^$$$^$7$?!#(B

> $B$$$D:"$N$3$H$@$C$?$G$7$g$&!)(B

$B$(!<$C$H!"?M0c$$$G$J$1$l$P!"#67n#2#8F|$"$?$j$K!&!&!&(B
$B$"$N!&!&!#9#F2q5D<<$G!#(B
[nminoru] 2005-12-28 09:30:12
> $B$&$s$N$5$s(B
$B$J$s$H$J$/J,$+$j$^$7$?!##Y@n$5$s$N=P8~@h$N$+$?$@$C$?$N$G$9$M!#(B
$BG/Kv!&G/;O$H%G%9%^!<%A$,7+$j9-$2$i$l$F$$$k$HJ9$$$F$*$j$^$9$,!"(B
$B$,$s$P$C$F$/$@$5$$(B m(_ _)m
[$B$&$s$N(B] 2005-12-28 14:26:37
$B$9$_$^$;$s!"$R$H$A$,$$$@$C$?$N$+$J$!!#(B
$B$J$K$7$m#Y@n$5$s$C$FC/$@$+$o$+$i$J$$$7!#(B

12/23 ($B6b(B)

$BG/2l>u$r9XF~(B

$B2?$H$7$F$bG/Fb$K$O=q$->e$2$k$Y$7!#(B

$B>pJs5;8&$NK:G/2q(B

($B8e$G=q$/$h(B)


12/22 ($BLZ(B)

[MyWeb] $B%H%i%C%/%P%C%/$r%Z!<%8Fb$KI=<((B

$B

$B@($$79$$$?(B AA

$B79$$$?$h$&$K8+$($k:x;k(B AA $B$O$$$m$$$m$"$k$,!"(B $B$3$l$O@($$!#N)$C$F$$$i$l$J$$!#(B

$B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%3%m%3%m!

12/20 ($B2P(B)

[Java] $B%i!<%8%Z!<%8$N8z2L(B

12/14$B$NF|5-(B $B$K=q$$$?%i!<%8%Z!<%8$N8z2L$rB,Dj$7$F$_$?!#(B $B7WB,%Y%s%A%^!<%/$O(B SPECjbb2005$B!#(B $B3F(B3$B2s7WB,$7$F$=$NJ?6Q!#(B $B$@$$$?$$(B 10% $BDxEY$NMxF@$r2T$$$G$$$k!#(B

$B:G=i$N(B 4-way Xeon MP $B4D6-$G$O!"$J$<$+(B Sun $B$H(B IBM $B$N(B VM $B$O%i!<%8%Z!<%85!G=$rM-8z$K$G$-$J$+$C$?!#(B $B%i!<%8%Z!<%85!G=$,M-8z$K$G$-$J$$>l9g(B Sun $B$N(B HotSpot VM $B$O7Y9p$@$1I=<($7$FDL>o$N%Z!<%8$+$i%a%b%j$r3NJ]$9$k$,!"(B IBM VM $B$O%(%i!<%a%C%;!<%8$rI=<($7$FDd;_$9$k!#(B

$BB,Dj%^%7%s(B$BB,Dj(BOSJava VM$B%*%W%7%g%s(B$B%3%s%5%P%F%#%V(B$B%i!<%8%Z!<%8(B$BB.EY8~>eN((B
4-way Xeon MP 2.0GHz(L1: 512KB, L2: 2MB) RHEL4 for x86 BEA JRockit 5.0 SP3 -Xmx1g -Xms1g 17,243 18,791 9.0%
2-way Xeon 3.4GHz (L2:1MB) RHEL3 for x86-64 Sun HotSpot Server VM 5.0_06 -Xmx1g -Xms1g 14,236 16,391 15.1%
-Xmx2g -Xms2g 14,368 16,424 14.3%
-Xmx4g -Xms4g 14,462 16,456 13.8%
IBM Java VM 5.0 GA -Xmx1g -Xms1g 14,436 15,936 10.4%
-Xmx2g -Xms2g 14,828 16,559 11.7%
-Xmx4g -Xms4g 15,049 16,558 10.0%

$B;HMQ%a%b%jNL$,B?$/$J$k$[$IMxF@$,Bg$-$/$J$k$H$$$&798~$,=P$k$+$H;W$C$?$,!"$=$&$G$b$h$&$@!#(B Sun HotSpot VM $B$G$O$`$7$m5U$N798~$,$G$F$$$k!#(B jbb2005 $B$,$"$^$jD9


12/19 ($B7n(B)

[Compiler] 64 $B%S%C%H;~Be$N%3%s%Q%$%i(B

$B@EE*%3%s%Q%$%i=hM}7O$N($B$"$kDxEY$NBg$-$5$NO"B3NN0h(B($B%j!<%8%g%s(B)$B$r3NJ]$7$F$*$$$F!"(B $B$=$NCf$+$i%*%V%8%'%/%H$r%"%m%1!<%7%g%s$7!"(B $B%a%b%j$r2rJ|$9$k$H$-$O%j!<%8%g%sKh$K9T$&$d$jJ}$M(B) $B$rMQ$$$F!"(B $B%3%s%Q%$%i%U%'!<%:$NJQ$o$jL\$KITMW$J%G!<%?9=B$$r0l3gGK4~$9$k$b$N$,B?$$!#(B $B$3$NJ}K!$@$H%a%b%j%j!<%/$O$J$$$N$@$,!"(B $B%U%'!<%:$NESCf$G;2>H$5$l$J$/$J$C$?%G!<%?$,%a%b%j$r05Gw$9$k$3$H$K$J$k!#(B $BFC$K:GE,2=$,=E$$>l9g!"$V$/$V$/$H;HMQ%a%b%j$,KD$i$s$G$$$/$3$H$K$J$k!#(B

64$B%S%C%H%3%s%Q%$%i$NNI$$$H$3$m$O!"(B 64$B%S%C%H%W%m%;%C%5MQ$N%P%$%J%j$r@8@.$9$k$@$1$G$J$/!"(B $B<+J,<+?H$b(B64$B%S%C%H(BOS$B4D6-$GF0$/$3$H$@(B ($BL5O@!"%/%m%93+H/4D6-$H$$$&$N$O$"$k$,!D(B)$B!#(B $B%3%s%Q%$%i$,(B 32$B%S%C%H4D6-$G$OL5M}$@$C$?(B 4GB $B%*!<%P!<$N%a%b%j$r<+M3$K;H$($k$h$&$K$J$k!#(B $B$9$k$H$I$&$J$k$+$H$$$&$H!"(B $B$3$N9-$$%a%b%j6u4V$r;H$C$F$_$?$/$J$k!#(B $B$7$+$7IT9,$JLdBj$,2#$?$o$C$F$$$F!"(B $B2>A[%a%b%j6u4V$,A}$($F$b(B $B

A.V. Aho $B@h@8$N=q$+$l$?%3%s%Q%$%i$N8EE5E*$J652J=q(B $B%I%i%4%s%V%C%/(B $B$K$O(B $B!V%3%s%Q%$%i$N$B$B$,

$BD9!9$H=q$$$?$,7k6I2?$,8@$$$?$$$+$H$$$&$H!"(B Intel C++ $B%3%s%Q%$%i(B for Itanium2 $B$O%a%b%j6t$$$9$.!#(B $B2>A[%a%b%j$r(B 14GB $B

$B%3%a%s%H$r=q$-9~$`(B
[$B$V$%(B] 2005-12-21 08:59:09
$BLLGr$$$G$9$M!#(B
$B$A$J$_$K$I$s$J%W%m%0%i%`$r$I$s$J%*%W%7%g%s$GK]Lu$7$?$s$G$7$g$&!)(B
$B$"$F$:$C$]$&$G$9$,!"(B-ipo $B$r;XDj$7$^$7$?!)(B
$B%"%l!"$a$A$c%a%b%j?)$$$^$9$h$M!#(B
[$B%]%;(B] 2005-12-21 14:42:00
$B@N$O!"(BCPU$B;q8;$,5.=E$@$C$?$?$a!"(B
$B%3%s%Q%$%i<+BN$N%3%s%Q%$%k;~B.EY$d!"%3%s%Q%$%k;~$K;HMQ$9$k(B
$B%a%b%jNL$X$N%7%S%"$JMW5a$b$"$C$?$?$a!"@)8B$,$"$j$^$7$?$,(B($B;~$K$O$"$kDxEY$N%a%b%j$r;H$C$?$i%a%C%;!<%8$r=P$7$F!"%3%s%Q%$%k$r$d$a$k$J$s$F$$$&%3%s%Q%$%i$b$"$j$^$7$?(B)$B!"(B
$B:G6a$N%3%s%Q%$%i$O!"%a%b%jNL$d%3%s%Q%$%kB.EY$C$F(B
$B$[$H$s$I5$$K$7$F$$$J$$$G$9$h$M!#(B
$B:#$N%$%s%F%k$N%3%s%Q%$%i$N:G?7$O!"(BO1$B%*%W%7%g%s$N;XDj;~$K(B
$B$*$$$F$b!"%$%s%i%$%sE83+$O$7$J$$$b$N$N!"%k!<%A%s4V2r@O$O(B
$B$7$F$$$k$h$&$G!"$^$9$^$9%a%b%j$r;H$&$h$&$K$J$C$F$$$^$9!#(B
[nminoru] 2005-12-22 05:01:42
> $B$V$%$5$s(B
$B$"$k8@8l=hM}7O$N%i%s%?%$%`$G$9!#(B40$BK|!A(B50$BK|%9%F%C%W$0$i$$$"$j$^$9!#(B
$BCHq$5$l$k$N$G$9(B (T_T)

>$B%]%;$5$s(B
C++ $B8@8l$N%k!<%A%s4V2r@O$K$O(B virutal $B4X?t8F$S=P$7$NJI$,$"$k$o$1$G$9$1$I!"$3$l$b(B profiled-guided optimization (PGO) $B$G>h$j1[$($k$N$,N.9T$N$h$&$G$9$M!#(BVC $B$d(B GCC $B$^$G(B PGO $B$rAuHw$G$9!#(B
virtual $B4X?t1[$7$N(B IPO $B$J$s$F$O$8$a$i$l$?$i!"%3%s%Q%$%i$O$^$9$^$9;q8;$rI,MW$K$J$k$P$+$j!D(B

12/18 ($BF|(B)

$B$3$NE_0lHV$NNd$(9~$_(B

$B@n:j$G$O@c$O$^$@9_$C$F$$$J$$$,!"F|K\3FCO$GBg@c$N$b$h$&!#(B $B9-Eg$G$O(B 15cm $B$0$i$$$N@c$,9_$C$?O"Mm$,F~$k!#(B $B5">J;~$K?744@~$,;_$^$i$J$1$l$P$$$$$N$@$,!#(B


12/17 ($BEZ(B)

[Movie] $B%-%s%0!&%3%s%0(B ($B8x<0(B)

$BK\F|$O2qe$,$C$FK\F|Iu@Z$N!V%-%s%0!&%3%s%0!W$r8+$K9T$/!#(B $B7`>l$O$$$D$b$N@n:j%A%M%A%C%?!#(B 18:40 $B$NIt!#(B $BM<9o$H$O$$$(!"K\F|Iu@Z$j$N1G2h$,B?$$Cf!"%A%M%A%C%?$O4W;6$H$7$F$$$?!#(B $B%3%s%0$r>e1G$7$?(B8$BHV%7%"%?!<$b(B4$B3d$0$i$$$7$+Kd$^$i$J$$$H$$$&4($$>u67!#(B $B$&$0$%!#(B

$B46A[$H$7$F$O8+$k?M$rA*$V?I$$1G2h$K$J$C$F$$$k!#(B
$B$H$K$+$/>e1G;~4V(B(3$B;~4V(B8$BJ,(B)$B$,D9$$!#(B $B3F%7!<%s$,D9$/$F!"%O%j%&%C%I1G2h$K$J$l$?;d$K$O$?$k$/46$8$k!#(B $B%3%s%0$,=P$F$/$k$N$bCfHW(B 1$B;~4VH>$0$i$$7P2a$7$?8e$@!#(B
$B$"$H3<9|Eg$KCe$$$?8e$K=P$F$/$kCn!"Cn!"Cn$,%@%a$J?M$,B?$$$+$b!#!#(B $B$3$3$O!VIw$NC+$N%J%&%7%+!W$+$7$i$H;W$&$h$&$J%b%s%9%?!<$,$$$C$Q$$=P$F$/$k!#(B $BFC$K6.C+$K=P$F$/$k%5%s%I%o%$%Q!<$N$h$&$J%b%s%9%?!<$,!"(B $B?M4V$NF,$r$A$e$k$A$e$k?)$Y$k%7!<%s$J$I$O$A$g$C$HL\$rGX$1$?$/$J$k!#(B

$B$=$l$G$b4FFD$N%T!<%?!pG.$OEA$o$C$F$/$k!#(B LotR $B$G>&6H1G2h$O!V6K$a$F!W$7$^$C$?$+$i!"(B $B%j%S%s%0!&%*%V!&%6!&%G%C%I$N$h$&$J<+J,K\Mh$N1G2h$K4T$C$F$-$?$s$@$m$&$J$!!#(B

P.S.

$B1G2h$r8+$J$,$i(B $B$J$/$H$J$/(B$B!V0&$OL8$N$+$J$?$K!W(B$B$r;W$$=P$7$F$$$?!#(B


12/16 ($B6b(B)

[Work] $B:#F|$b855$$@D+F|$,$^$V$7$$(B

$B5W$7$V$j$K2q $B$G$b$J$s$H$+ $B$^$@F0:n$r$A$c$s$H$O8!>Z$7$F$J$$$1$I!#(B


12/15 ($BLZ(B)

[Java] Java $B$N%i!<%8%Z!<%8BP1~$N$^$H$a(B

Windows $B$N>l9g(B

Windows $B$N>l9g$O!"(B $B:rF|$NF|5-(B $B$N$h$&$K(B Lock pages in memory $B$K%i!<%8%Z!<%8$H$7$F;HMQ$9$k%f!<%6!<$r;vA0$KEPO?$7$*$/I,MW$,$"$k!#(B Java $B$N%R!<%WItJ,$r%i!<%8%Z!<%8$H$7$F3d$jEv$F$k!#(B

  • Sun $B$N(B HotSpot VM $B$N>l9g!"(BJava SE 5.0 Update6 $B$+$i@5<0$KBP1~!#(B -XX:+UseLargePages$B%*%W%7%g%s$r$D$1$FIBM JDK/JRE $B$N>l9g!"(Bv5.0 GA $B$+$i@5<0$KBP1~!#(B -Xlp $B%*%W%7%g%s$r$D$1$FBEA JRockit $B$N>l9g!"(Bv5.0 SP1 $B$+$i@5<0$KBP1~!#(B -XXlargePages $B%*%W%7%g%s$r$D$1$F

    $B%7%9%F%`5/F08e$7$P$i$/7P$D$H!"(B $B6u$-%a%b%j$NAmNL$,==J,$K$"$C$F$b%i!<%8%Z!<%8$N3NJ]$K<:GT$9$k$3$H$,$"$k!#(B $B$3$l$O%i!<%8%Z!<%8%a%b%j$Oe$GO"B3$7$?NN0h$rMW5a$9$k$?$a!"(B $B2>A[5-21$K$h$k

    Linux $B$N>l9g(B

    Linux $B$N>l9g$O@_Dj$,$d$dJ#;($@!#(B Linux $B$N%i!<%8%Z!<%8%7%9%F%`$O!"(B $B%R%e!<%8%Z!<%8(B(huge page) $B$H8F$P$l$k(B (2005/4/21 $B$NF|5-(B)$B!#(B $B@5<0$K$O%+!<%M%k(B 2.6 $B$+$i!"0lIt$N%G%#%9%H%j$G$O%+!<%M%k(B 2.4 $B$+$i;HMQ$,2DG=$K$J$C$?!#(B

    $B%R%e!<%8%Z!<%8%a%b%j$,;H$($k%7%9%F%`$G$O!"(B /proc/meminfo $B$K(B HugePages_Total $B$J$I$N9`L\$,$"$k!#(B $BL$@_Dj>uBV$G$O(B HugePages_Total $B$O(B 0 $B$K$J$C$F$$$k$O$:$@!#(B

    # cat /proc/meminfo | grep Huge
    HugePages_Total: 0
    HugePages_Free:  0
    Hugepagesize:    zzz KB
    
    Sun HotSpot VM $B$H(B IBM JDK/JRE $B$N>l9g(B
    Sun HotSpot VM $B$N>l9g$O(B Java SE 5.0 Update6 $B$+$i!"(B IBM JDK/JRE $B$N>l9g$O(B v1.4.2 SR1a & v5.0 GA $B$+$i@5<0$KBP1~$7$?!#(B
    $B$3$N(B 2 $Bshmget(2) $B7PM3$G6&M-%a%b%j!&%;%0%a%s%H$H$7$F3NJ]$9$k!#(B
    1. $B$^$:<+J,$N(B JVM $B$,;H$&%R!<%W%a%b%j$NAmNL$r7W;;$9$k!#(B JVM $B$,J#?t$"$k>l9g$O$=$N9g7WCM$r5a$a$k!#(B
    2. $B%7%9%F%`$,;HMQ$9$k%R%e!<%8%Z!<%8%a%b%j$N%Z!<%8?t$r@_Dj$9$k!#(B $B<+J,$,;HMQ$7$?$$%a%b%j$NAmNL$r(B Hugepagesize $B$G3d$C$?CM$r0J2<$N$h$&$K@_Dj!#(B
      # echo n > /proc/sys/vm/nr_hugepages
      
      $B@_Dj8e$O(B /proc/meminfo $B$N(B HugePages_Total $B$r8+$F%R%e!<%8%Z!<%8$,3NJ]$5$l$F$$$k$3$H$r3NG'$9$k(B ($B5/F08e$7$P$i$/7P$D$H!"6u$-%a%b%j$N;DNL$,$"$C$F$b<:GT$9$k2DG=@-$,$"$k(B)$B!#(B

      $BCm0U(B
      RHEL3 $B$N>l9g!"(B /proc/sys/vm/nr_hugepages $B$NBX$o$j$K(B /proc/sys/vm/hugetlb_pool $B$r;HMQ$9$k!#(B
    3. $B # echo n > /proc/sys/kernel/shmmax $B;XDjCM$,J*M}%a%b%jNL$rD6$($J$$HO0O$G!"(B $B;W$$$C$-$jBg$-$JCM$r;XDj$7$?$[$&$,$h$$!#(B
    $B@_Dj$,=*$o$C$?8e$O!"(B Java VM $B5/F0;~$K(B Sun HotSpot VM $B$O(B -XX:+UseLargePages$B%*%W%7%g%s$r!"(B IBM JDK/JRE $B$O(B -Xlp $B%*%W%7%g%s$r$D$1$F5/F0$9$k!#(B
    BEA JRockit $B$N>l9g(B
    BEA JRockit $B$O(B 5.0 SP1 $B$+$i%R%e!<%8%Z!<%8$KBP1~$7$F$$$k$,!"(B Sun $B$d(B IBM $B$N(B VM $B$H$O@_DjJ}K!$,0[$J$k!#(B
    JRockit $B$O%R%e!<%8%Z!<%8$r;H$C$F(B hugetlbfs $B$H8F$P$l$k(B RAM $B%G%#%9%/$r:n$k!#(B JRockit VM $B$O(B RAM $B%G%#%9%/>e$K(B mmap(2) API $B$rMQ$$$F(B memory mapped file $B$r:n@.$9$k$3$H$G!"(B Java $B$N%R!<%W%a%b%j$r%i!<%8%Z!<%8BP1~$5$;$F$$$k!#(B
    JRockit $B$,;H$&(B memory mamped file $BL>$O7h$a$&$A(B /mnt/hugepages/jrockitcodelargepages $B$H$J$k!#(B

    $B$^$:A09`$N(B Sun/IBM $B$N@_DjJ}K!$N(B 2. $B$^$G$r # mkdir /mnt/hugepages # mount -t hugetlbfs nodev /mnt/hugepages/ -o uid=n,gid=m,mode=0777 # echo m > /proc/sys/vm/hugetlb_shm_group $B$?$@$7(B n $B$O(B JRockit VM $B$rF0$+$9%f!<%6!<(B ID $B$G(B m $B$O%0%k!<%W(B ID$B!#(B

    $B8e$O(B JRockit $B$r-XXlargePages $B%*%W%7%g%s$rDI2C$7$F

    Linux $B$N%+!<%M%k%Q%i%a!<%?$N;XDj$O!"(B OS $B5/F0$NEY$K;XDj$9$kI,MW$,$"$k!#(B $BE,@Z$J@_Dj%U%!%$%k$K@_Dj$7$F$*$/$HJXMx(B (rc.local $B$H$+(B sysctl.conf)$B!#(B

    Solaris $B$N>l9g(B

    Sun HotSpot VM $B$O!"(B Solaris 9 $B0J9_$KEk:\$5$l$?(B Multiple Page Size Support (MPSS) $B$r;HMQ$9$k$3$H$,$G$-$k!#(B Sun HotSpot VM 5.0 Update6 $B$O(B -XX:+UseLargePages$B%*%W%7%g%s$r(B $B$=$l0JA0$N%P!<%8%g%s$O(B -XX:+UseMPSS $B$r;XDj$9$k!#(B

    Solaris8 $B0JA0$G$O(B Intimate Shared Memory (ISM) $B$r;H$&$3$H$,2DG=$@!#(B ISM $B$O(B Oracle $B$J$I@-G=$r5a$a$k(B RDBM $B$N$?$a$KMQ0U$5$l$?%i!<%8%Z!<%8(B + $BJ*M}%a%b%j8GDj$,$G$-$k5!9=!#(B Sun HotSpot VM 1.4.1 $B0J9_$N(B Java VM $B$O!"(B ISM $B$r;H$&$K$O(B OS $BB&$K@_Dj$r9T$C$?8e(B (Big Heaps and Initimate Shared Memory (ISM) $B$r;29M(B)$B!"(B -XX:+UseISM $B$r;XDj$9$k$3$H$G(B ISM $B$r;HMQ$G$-$k!#(B

    $B;29MJ88%(B

    1. Sun Java HotSpot VM Options Java support for Large Memory Pages $B$N9`(B
    2. Sun Java Tuning White Paper 4.1.4 Other Tuning Parameters $B@a(B
    3. IBM Diagnostics Guide, 5.0 (PDF$B7A<0(B)
    4. BEA Reference Manual: A Guide to Command-Line Options in JRockit -XXlargePages $B$N9`(B
    5. 2005/4/21 $B$NF|5-(B
    6. 2005/5/31 $B$NF|5-(B

12/14 ($B?e(B)

$BD62;GH8!?G(B

12/9 $B$KB3$-J"It$ND62;GH8!?G$r1/27 $B0JMh(B 2$BEYL\!#(B

$B:G=i4G8nIX$5$s$HF1$83J9%$r$7$?5;;U(B($B$J$N$+!)(B)$B$,D62;GH8!?G8!?G$r$7$?8e!"(B $BA02s$HF1$8G/G[$N5;;U$N?M$K%P%H%s%?%C%A$7$F$b$&0lEYF1$88!?G$r7+$jJV$9!#(B $B$J$s$+LdBj$,$"$C$F8!::$rFs=E$K$7$F$$$k$N$+$HIT0B$K$J$k!#(B $B$=$l$H$bA0$N?M$O71N}Cf$+$J$s$@$m$&$+!)(B

$B$H$K$+$/D9;~4V(B $BD62;GH$K$"$F$i$l$F!"(B $B8!?G8e(B $B6/Nu$JJX0U$,!D(B

[Windows] Windows Server 2003 $B$N%i!<%8%Z!<%8BP1~(B

Windows Server 2003 for i386 $B$O2>A[5-21$N%Z!<%8%5%$%:$,I8=`$N(B 4KB/$B%Z!<%80J30$K(B 4MB/$B%Z!<%8%5%$%:$N%i!<%8%Z!<%8$,;HMQ2DG=$K$J$C$?$_$?$$(B (2004.9.2 $B$NF|5-(B)$B!#(B

$B%i!<%8%Z!<%8$r;H$&$K$O!"(BLock pages in memory $B$N8"8B$rEv$?$kI,MW$,$"$k!#(B $B%"%I%_%K%9%H%l!<%?8"8B$N$"$k%f!<%6!<$G!"(B $B%3%s%H%m!<%k%Q%M%k$+$i(B Administrative Tools $B"*(B Local Security Policy $B"*(B Local Policy $B"*(B User Rights Assigment $B$r;XDj$9$k!#(B Lock pages in memory $B$N%Q%M%k$r$R$i$$$F!"(B Local Security Policy Setting $B$K(B Select User or Group $B$H$7$F%i!<%8%Z!<%85!G=$r;H$$$?$$%f!<%6!<%"%+%&%s%H$rEPO?$9$k!#(B $B$=$N8e$G(B OS $B$r%j%V!<%H$9$k!#(B

$B%W%m%0%i%`Cf$+$i%i!<%8%Z!<%8$r;H$&J}K!$O;29MJ88%(B2$B$r;2>H$N$3$H!#(B

  1. AdjustTokenPrivileges API $B$r;H$C$F(B SE_LOCK_MEMORY_PRIVILEGE $B8"8B$rF@$k!#(B
  2. GetLargePageMinimum API $B$r;H$C$F!"%i!<%8%Z!<%8$N%Z!<%8%5%$%:$r3NG'$7$F$*$/!#(B
  3. VirtualAlloc API $B$K(B MEM_LARGE_PAGES $B%U%i%0$rMQ$$$F=hM}$r$9$k$3$H$G!"(B $B%i!<%8%Z!<%8$,3NJ]$G$-$k!#(B

$B$H$$$C$?N.$l$K$J$k$b$h$&!#(B $B

$B;29M(B

  1. (Microsoft TechNet) Lock pages in memory
  2. (MSDN Platform SDK) Memory Management - Large Page Support
  3. (MSDN Platform SDK) Memory Management - GetLargePageMinimum API

12/13 ($B2P(B)

[Java] BEA JRockit 5.0 SP3 $B$,8x3+(B (BEA)

BEA $B$+$i(B JRockit 5.0 SP3 (R26) $B$,%j%j!<%9$5$l$k!#(B SP3 $B$O(B Java2 SE 5.0_04 $B%Y!<%9!#(B $B%P%0%U%#%/%9$H@-G=%A%e!<%s$,$O$+$i$l$F$$$k!#(B

$B:G?7%j%j!<%9$G$O(B SPARC V9/Solaris $B$K$bBP1~$7$?$H$$$&>pJs$,N.$l$F$$$k(B ($BF|7P(BBP$B!"(B japan.internet.com$B!"(B BEA Forum)$B!#(B $B8=:_!"(BBEA $B$N%Z!<%8$O>pJs$,$J$$$,!"%@%&%s%m!<%I2DG=$J$i;n$7$F$_$?$$!#(B

$B$H$3$m$G(B R26 $B$+$i(B Deterministic Garbage Collector $B$H$$$&(B $B?7$7$$(B GC $B$,F3F~$5$l$?$H$"$k!#(B GC $BDd;_;~4V$r(B 30 $B%_%jIC0J2<$K2!$5$(9~$a$k$=$&$@!#(B BEA WebLogic Real Time $B$H0l=o$K;H$&;~$N$_M-8z$J$h$&$@!#(B $B>\:YITL@!#(B

BEA JRockit 5.0 R26 introduces the concept of the "deterministic garbage collector". This feature attempts to keep the garbage collection pauses below 30 milliseconds. It is launched by specifying -Xgcprio:deterministic at the command line. This feature is currently only available with BEA WebLogic Real Time (WLRT).

12/11 ($BF|(B)

[MyWeb] $B%H%i%C%/%P%C%/$r$O$8$a$^$7$?(B

$B%3%a%s%H$,$D$1$i$l$k0LCV$K$O%H%i%C%/%P%C%/$b$D$1$i$l$k$h$&$K$7$?!#(B $B%H%i%C%/%P%C%/MQ$N(B RDF embedded $B$,%Z!<%8Fb$KKd$a9~$^$l$F$$$^$;$s$,!"(B $B:#$NF|5-$N$h$&$K0lF|J,$r@Z$jJ,$1$F8+$l$J$$7A<0$G$O$A$g$C$HFq$7$$!D(B

$B$3$&$d$C$F$*


12/10 ($BEZ(B)

[Java] IA-64/Linux Java SE 6.0 (Mustang) $B$N%S%k%I$G$-$k$+!)(B

$B$A$g$m$C$H$d$C$F$_$?$1$I7k9=Fq57$J$j!#(B GCC $B$K%$%s%?!<%J%k%3%s%Q%$%i%(%i!<$,$G$^$/$j$s$0!#(B

UltraSPARC T1 (Niagara) $B$N@-G=(B

SPEC jbb2005 $B$N(B $B%9%3%"(B $B$,8x3+$5$l$?!#(B 1$B%A%C%W9=@.(B(4 SMT $B!_(B 8 Core) $B$GAm9g@-G=$,(B 63,378 bps $B$G$"$k!#(B SPECjbb2005 $B$+$i%^%k%A%$%s%9%?%s%9$H$$$C$F!"(B Java VM $B$rJ#?tN)$A>e$2$F

$B%7%s%0%k%9%l%C%I@-G=$r9M$($k$H!"(B W.H. 1$B!"$D$^$j(B 1 $B%9%l%C%I$G$N1,535 bps$B!#(B $B%T!<%/@-G=$r(B 32 $B$G3d$k$H(B 1,980 bps$B!#(B $B$3$N$"$?$j$,(B T1 $B$N%7%s%0%k%9%l%C%I@-G=$@$m$&!#(B AMD Opteron 280 (2400MHz) $B$N%7%s%0%k%9%l%C%I@-G=$r9M$($k$H!"(B$B$3$N%9%3%"(B $B$+$i(B 10,000 bps $BBf$@$H(B $B9M$($i$l$k!#(B $B:GB.$N(B CPU $B$HHf$Y$F$N%7%s%0%k%9%l%C%I@-G=$O(B 1/5 $BDxEY$G$"$m$&!#(B

$B%9%k!<%W%C%H@-G==E;k$GMh$?(B Niagara $B$@$+$i!"(B $B%7%s%0%k%9%l%C%I@-G=$,(B 1/5 $BDxEY$G<}$^$k$N$O$H$j$"$($:$h$7$H$7$?$$!#(B $B$?$@(B 8 $B%3%"$,(B 1 $B$D$NIbF0>.?tE@%f%K%C%H$r6&M-$7$F$$$k$?$a!"(B $BIbF0>.?tE@1i;;$,Mm$s$G$/$k$H$^$:$$$+$b!#(B

SPECjbb2005 $B$H(B jbb2000 $B$N0c$$$N0l$D$O!"(B jbb2000 $B$,6b3[%G!<%?$J$I$r(B double $B7?$G=hM}$7$F$$$?$N$KBP$7$F!"(B jbb2005 $B$,(B BigDecimal $B7?$G07$C$F$$$k$3$H!#(B jbb2005 $B$GIbF0>.?tE@1i;;$r8:$i$7$?$N$O!"(B Niagara $B$,G0F,$K$"$C$?$+$b!D(B

12/9 ($B6b(B)

$BDI2C$N8!::(B

10/17 $B$K(B $B

$B%0%C%P%$!"@$3&!#(B $B1'Ch$,G.E*$K;`$L=V4V$,8+$?$+$C$?!#(B


12/8 ($BLZ(B)

[Linux][Prog] Memory Overcommit $B$H(B Out of memory $B%(%i!<(B

1/14 $B$K=q$$$?@bL@$O13$+$b$7$l$J$$!#(B $B$3$NF|$NF|5-$K!V2>A[%a%b%j>e$KOH$@$13NJ]$7$F!"

Windows$B!"(BLinux$B!"(BSolaris $B$H$+8+$F%a%b%j%Z!<%8$NB0@-$K$D$$$F@0M}$7$F$_$k!#(B

1. $BM=Ls(B(reserve)
$B2>A[%a%b%j6u4V$KOH$@$1@_Dj$5$l$?>uBV!#(B
2. $B%3%_%C%H(B(commit)
$B2>A[%a%b%j6u4V$N%Z!<%8$H!"(B $BuBV$r;X$9(B ($B$i$7$$(B)$B!#(B
$BM=Ls$5$l$?%a%b%j$H$N:9$,L@$i$+$G$O$J$$$,!"(B $B>/$J$/$H$b(B Windows $B$G$ON>
3. $B%9%o%C%W6u4VM=Ls(B
$B%9%o%C%W6u4VCf$K%P%C%-%s%0%9%H%"NN0h$rM=Ls$7$?>uBV!#(B $B8=BeE*$J(B OS $B$G$O(B $B%9%o%C%W6u4V$H$O(B($B
  • $B%3%_%C%H:Q$_%a%b%j$NAmNL$,%9%o%C%WM=Ls:Q$_%a%b%j$NAmNL$r>e2s$k>uBV$,(B overcommit$B!#(B
  • mmap $B$K(B MAP_NORESERVE $B%U%i%0$r$D$1$F3NJ]$7$?%a%b%j$O(B $B%9%o%C%W6u4V$,M=Ls$5$l$J$$>uBV$H$J$k!#(B
  • OS $B$,(B overcommit $B$r6X;_$9$k>l9g!"(B $B%3%_%C%H:Q$_%a%b%j!a%9%o%C%W6u4VM=Ls%a%b%j$K$J$k!#(B MAP_NORESERVE $B$OL58z!#(B
  • 4. $B
    $BA[%a%b%j$KE=$jIU$1$i$l$?>uBV!#(B

    $B%Z!<%8$NB0@-L>$K$3$@$o$k$+$i:.Mp$9$k$N$+$b$7$l$J$$!#(B $B$O$C$-$j$7$F$$$k$3$H$O%9%o%C%W6u4V$NITB-$K$h$C$F(B Out Of Memory (OOM) $B%(%i!<$OH/@8$9$k$H$$$&$3$H!#(B Overcommit $B$r6X;_$9$k$H(B mmap $B$G6u4V$rM=Ls!a%3%_%C%H!a%9%o%C%WM=Ls$,9T$o$l(B OOM $B%(%i!<$,H/@8$9$k!#(B $B6X;_$7$J$$$H(B mmap $B$G6u4V$rM=Ls!a%3%_%C%H$7$?8e!"(B $B%a%b%j$,;H$o$l$F%9%o%C%WM=Ls$,I,MW$K$J$C$?;~E@$G(B OOM $B%(%i!<$rH/@8$5$;$k$3$H$K$J$k!#(B

    Linux $B$G$O(B

    kernel-doc-*/Documentation/vm/overcommit-accounting $B$K@bL@$,$"$k$,!"(B $B%3%_%C%H%a%b%j$K%P%C%-%s%0!&%9%H%"$rMQ0U$9$k$+$I$&$+$O(B $B%+!<%M%k$N%Q%i%a!<%?$K$h$C$FJQ99$G$-$k!#(B /proc/sys/vm/overcommit_memory $B$K(B 0 $B$+$i(B 2 $B$^$G$NCM$rBeF~$7!"(B 1 $B$O>o$K%*!<%P!<%3%_%C%H$7!"(B 2 $B$O>o$K%P%C%-%s%0!&%9%H%"$rMQ0U$9$k!#(B 0 $B$O%R%e!<%j%9%F%#%C%/$K$h$C$F(B 1 $B$H(B 2 $B$NCf4V$rA@$&!#(B


    12/7 ($B?e(B)

    $BE0LkL@$1$N=PD%(B

    $BL2$$%J%j!#(B

    Astec-X $B$N;H$$J}(B

    $B$3$l$^$G(B UNIX $B%^%7%s$X(B SSH Tera Term $B$G%m%0%$%s$7$F!"(B $B$=$3$+$i(B X $B%/%i%$%"%s%H%"%W%j%1!<%7%g%s$r(B Astec-X $B$XE>Aw$7$FI=<($7$F$$$?$N$@$,!"(B $B$=$l$h$j(B Astec-X $B$N(B SSH $B5!G=$r;H$C$FD>@\%m%0%$%s$7$?J}$,9bB.$KI=<($5$l$k$3$H$K5$$E$/!#(B $BFC$K(B sylpheed $B$N$h$&$J2hLL9=@.$,J#;($J(B X $B%"%W%j%1!<%7%g%s$@$HB.EY:9$,82Cx$@!#(B

    $B%2%C%W$,$H$^$i$J$$(B

    $B7nIj$8$c$J$/$F@8M}8=>]$N%2%C%W$,;_$^$i$J$$!#(B
    $B!V$7$c$C$/$j$,(B100$B2s$G$k$H;`$L!W$H$$$&$,!"(B $B%2%C%W$O2?2s$^$G%;!<%U$J$N$+$7$i!)(B


    12/6 ($B2P(B)

    $BEo>e$2$HL_$^$-(B

    $BBQ?L56Au%^%s%7%g%s$G;W$$=P$7$?$N$@$,!"(B $B<+J,$NEDe$,$k;~$KL_$^$-$r$9$k$H$$$&Iw=,$,;D$C$F$$$?!#(B $B>/$J$/$H$b;R6!$N:"$O$^$@L_$r$^$$$F$$$?!#(B

    $BET2q$K6a$/$G$O!"$9$G$KGQ$l$?$l$F5W$7$$$=$&$@!#(B $B%5%6%($5$s$NCf$K$bL_$^$-$H$$$&%$%Y%s%H$OH/@8$7$J$$$7!"%^%s%,$H$+$K$bEP>l$7$J$$!#(B $B$9$G$KL57AJ82=:b8uJd$+!)(B

    $B$=$l$O$=$l$H$7$F9bAX%S%k$NEo>e$2(B(?)$B$G!"(B $B:G>e3,$+$iL_$r$^$/$H$$$&L4$r8+$?!#(B $BB-2<$r8+$k$H0$I!6+4-$NCO9v3(?^!#(B

    JavaOne Tokyo $B$N;~$NNN<}=q$,$-$?$h(B

    11$B7n$KM-3ZD.$N9q:]%U%)!<%i%`$G3+$+$l$?(B JavaOne Tokyo (11/8$B!"(B 11/9$B!"(B 11/10) $B$N;22CHq$N(B3$BK|$O(B $BN)$FBX$(J'$$$K$J$C$F$$$?$N$@$,!"(B $B1?1DD$,;O$^$k!#(B

    $BDI5-(B

    $B%@%a$@$C$?!#7k6I<+J"$K!#(B

    $B;(;o$N869F$NBG$A9g$o$;(B

    3$B7n$G5Y4)$K$J$k(B JAVA PRESS $B$N:G=*9f$K5-;v$r=q$/$3$H$K$J$j$^$9$?!#(B $BIpB"Cf86$G$=$NBG$A9g$o$;!#(B

    [$B;~;v(B] $B%"%U%j%+ElIt$G(B M6.8 $B$NCO?LH/@8(B

    5$BF|8a8e(B2$B;~(B20$BJ,$4$m%"%U%j%+ElIt$r?L8;$H$7$F(B M 6.8 $B$NCO?LH/@8!#(B $B%3%s%4L1/$J$/$H$b(B2$B?M$,;`K4$7!"(B $B;R6!$i$,2

    $B%3%a%s%H$r=q$-9~$`(B
    [$B$V$%(B] 2005-12-09 12:37:05
    $B$$$o$f$k!V7zA0!W$C$F$d$D$G$9$M!#@N!V$3$A55!W$G8+$?$H$-$K!"$J$k$[$I!"$3$l$,!V7zA0!W$N8l8;$+$H46?4$7$?$3$H$r3P$($F$$$^$9!#(B
    $B8=:_=;$s$G$$$kEZCO$G$O!":#$G$b$d$C$F$$$^$9!#@8$G8+$k$N$O=i$a$F$G$7$?!#(B
    $B<+J,$N2H$r7z$F$?$H$-$O$7$^$;$s$G$7$?!#(B
    [nminoru] 2005-12-11 04:57:09
    $B;d$O$B99CO$GCODC:W$r$d$C$F$$$k$N$O7k9=$_$k$N$G$9$,!#(B

    12/5 ($B7n(B)

    [Java] IBM J2SE 5.0 for Linux $B$,(B GA-level $B$K(B (developerWorks $B$N%@%&%s%m!<%I%Z!<%8(B)

    10$B7n:"(B $B$K%Y!<%?HG$,8x3+$5$l$?(B IBM $B$N(B J2SE 5.0 $B$@$,(B Generally Available $B%l%Y%k$K$J$C$?!#(B Diagnosis document $B$N%Z!<%8$K$b(B 5.0 $BMQ$N%,%$%I$,DI2C$5$l$F$$$k!#(B

    -version $B$rI=<($5$;$k$H(B 1.4.2 $B$^$G$O(B Classic VM $B$HI=<($5$l$F$$$?$H$3$m$K(B IBM J9 VM $B$NJ8;z$,!#(B $B:#%P!<%8%g%s$+$i(B Java VM $B$N%3%"ItJ,$,(B J2ME $B$N(B J9 VM $B$H6&MQ$K$J$C$?$N$+!"(B $B$=$l$H$bL>A0$@$1(B J9 $B$J$N$+$OITL@!#(B

    > java -version
    java version "1.5.0"
    Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20051104)
    IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20051103 (JIT enabled)
    J9VM - 20051027_03723_lHdSMR
    JIT  - 20051027_1437_r8
    GC   - 20051020_AA)
    JCL  - 20051102
    

    $B$=$NB>!"0J2<$N$h$&$JFCD'$,$"$k!#(B

    • $B%9%l%C%I$OEvA3(B NPTL $BBP1~!#(B
    • libc.so $B$O(B GLIBC_2.3 $B$rMW5a$9$k!#8E$$(B Linux $B$G$OF0$+$J$$!#(B Sun $B$N(B HotSpot VM for Linux $B$O(B 5.0 $B$K$J$C$F$b(B GLIBC_2.0 $B$J$N$H$OBP>HE*$@!#(B (HotSpot VM $B$NI8=`%S%k%I4D6-$O(B RedHat Linux 6.x)
    • Java $B2>A[%^%7%s$NK\BN$G$"$k(B libjvm.so $B$O!"(B libpthread.so $B$K$OD>@\%j%s%/$,$J$$!#(B $BBe$o$j$K(B libj9thr23.so $B$H$$$&(B pthread $B$N%i%C%Q!<%9%l%C%I%i%$%V%i%j$rMW5a$7$F$$$k!#(B $B$d$O$j(B Pthread $B$,$J$$4D6-$bA[Dj$7$F$$$k(B J2ME $B$H$N%=!<%9$N6&DL2=$,9T$o$l$F$$$k$N$+!)(B $B$"$k$$$O%9%l%C%I<~$j$G:GE,2=$r$d$C$F$$$k$N$+!)(B

    $B$H$3$m$G(B Future development plans $B$N%Z!<%8(B $B$K$O(B $B@N(B $B!V(BIA-64/Linux $B$b$d$j$^$C$;!W$H=q$+$l$F$$$?$N$@$,!"(B $B:#F|8+$k$H(B IA-64 or Itanium $B$NJ8;z$,>C$($F$$$k!#(B Tested Linux platforms and distributions $B$N(B $B%Z!<%8$+$i$b(B IA-64 $B$N5-=R$,>C$($F$7$^$C$?!#(B $B$J$s$+7y$J$3$H$G$b!"$"$C$?$N$@$m$&$+!)(B


    12/4 ($BF|(B)

    UC $B%+!<%I$H%/%l%G%#%;%>%s$,;v6HE}9g(B (UC$B%+!<%I(B$B!"(BQ&A)

    $B;d$,;H$C$F$$$k(B UC $B%+!<%I$,%;%>%s%+!<%I$N%/%l%G%#%;%>%s$H;v6HE}9g$9$k$=$&$@!#(B $B%;%>%s$OG/2qHq$,L5NA$J$s$@$1$I!"(B $BJ6<:Ey$G%+!<%I$rL5$/$7$?!&0-MQ$5$l$?:]$NJ]>Z$,=B$$$HJ9$$$F$$$k!#(B $BEvLL!"(BUC$B%+!<%I$H%;%>%s%+!<%I$OJL!9$NNA6b!&%5!<%S%9FbMF$G$$$/$h$&$@$,!"(B UC$B%+!<%I$,%;%>%s%+!<%I$HF1MM$K$J$C$?$i9M$($b$N$@!#(B


    12/3 ($BEZ(B)

    $BD@;W;(9M(B

    $B$f$($"$C$F!V%a%b%j$rO2Hq$7$J$$(BJava$B%W%m%0%i%_%s%0!W

    • GC $B5sF0$NOC!#(BSystem.gc() $B$r%W%m%0%i%`$+$i8F$V$J$H$+!#(B
    • $B%W%m%0%i%`Fb$+$i(B $B$r(BJava $B2>A[%^%7%s$N%a%b%j>CHqF08~$NGD0.!#(B
    • OutOfMemoryError $B$N%O%s%I%j%s%0!#(B
    • $BH7O;2>H%*%V%8%'%/%H$NMxMQ!#(B
    • $B%3!<%INN0h!"(BC $B%R!<%W$NITB-BP:v!#(B
    • OS $BFb$KJ#?t$N(B JVM$B!"B>%W%m%;%9$,$$$k>l9g$N%9%i%C%7%s%0$NOC!#(B

    $B%a%b%j%j!<%/%G%F%/%7%g%s$N$h$&$J%D!<%k7O$NOC$O%J%7$J$N$G!"(B $B=q$1$=$&$J$3$H$O9J$i$l$k$+!D(B

    [MyWeb] XSLT $B$G(B Amazon ECS $B$N7k2L$r@07A$7$F9-9p2=(B

    $BF|5-$N>e$NJ}$K%"%l%2$J9-9p$r:\$;$F$_$k!#(B 11$B7n(B30$BF|(B $B0JMh$d$C$F$$$?(B XSLT $B$NJY6/@.2L(B(?) $B$@!#(B

    $B$^$:(B ECS $B$G>&IJ$r(B ItemLookup $B$9$k!#(B

    http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
      &AWSAccessKeyId=[susbscription_id]
      &AssociateTag=[associate_tag]
      &Operation=ItemLookup
      &ResponseGroup="Small,Images"
      &ItemId=[ASIN $BHV9f!#J#?t$"$k>l9g$O%+%s%^$G6h@Z$k(B]
    

    $B$B$3$&$$$&(B XSLT $B%U%!%$%k(B $B$G(B $B@07A$7$F$$$k!#(B XSLT $B%(%s%8%s$K$O(B Java2 SE 5.0 $B$N(B javax.xml.transform $B$r;H$C$F$$$k!#(B

    $B%W%m%0%i%`$J$7(B(?)$B$G$3$3$^$G=q$1$k$N$,LLGr$$!#(B ECS $B$,(B XSLT $B%(%s%8%s$b3+J|$7$F$$$k$N$G!"(B XSLT $B$NJQ49$r;XDj$9$k$H@07A:Q$_$N(B HTML $B$,D>@\$b$i$($k$N$@$,!"(B img $B%?%0$K(B src $B0J30$KJ#?t$NB0@-$rJB$Y$k$H(B $B$&$^$/$$$+$J$$LdBj$,$"$j2sHr$7$F$$$k!#(B

    $B

    $BDI5-!'(B12/4

    Apache $B$N%m%0$r8+$k$H(B $B$O$F$J%"%s%F%J(B $B$O(B iframe $B$NCf?H$,(B html $B%U%!%$%k$J$i!"(B $B%Z!<%8$N0lIt$H$7$F%U%'%C%A$7$F$7$^$&$h$&$@!#(B $B$=$l$@$H%"%/%;%9EY$KFbMF$,JQ$o$k$H$^$:$$$J$!!#(B

    $BDI5-!'(B12/5

    $B%"%$%F%`%j%9%H$r%"%/%;%9EY$KF0E*$K@8@.$9$k$h$&$K=$@5!#(B $B$O$F$J%"%s%F%J$N%U%'%C%ABP:v$G!"%"%$%F%`%j%9%H$N(B HTML $B$N%X%C%@!<$K(B robots $B5qH]$N%a%?B0@-$rDI2C!#(B


    12/2 ($B6b(B)

    [Java] JNLP $B$r%F%9%H(B

    Sun Microsystems $B$N(B Java2 SE/JRE $B$N(B1.3.1$B!"(B1.4.2$B!"(B1.5.0 $B7O$K!"(B Reflection API $B$N%P%0$,860x$G%"%/%;%98"8B$rIT@5$K>:3J$5$;$k$3$H$N$G$-$k%;%-%e%j%F%#%[!<%k$,8+$D$+$C$?!#(B (IT Pro)

    /.J $B$G$b(B $B5-;v(B($B!V(BSun$B$N(BJava$B)$B$K$J$C$F$$$k$,!"(B $B$=$NCf$G(B jbeef $B;a(B $B$,(B (I"(BJava Web Start $B$G(B JNLP $B%U%!%$%k$N(B j2se $B%?%0$r:Y$+$/;XDj$9$l$P!"@H$B%3%a%s%H(B $B$r4s$;$F$$$k!#(B $B$3$l$,$G$-$k$+$I$&$+5$$K$J$C$?$N$G3N$+$a$F$_$k!#(B

    <j2se version="1.4.2_08"> $B$H%P!<%8%g%s$r;XDj$9$k$@$1$@$H!"(B $B%G%U%)%k%H$N(B http://java.sun.com/products/autodl/j2se $B$K@\B3$K9T$C$F$7$^$&!#(B java.sun.com $B$N%5%$%H$O@H

    $BDI5-!'(B12/3
    $B$=$&$G$b$J$$$3$H$,H/3P!#(B
    Sun $B$N%5%$%H$G$O:#F|$N;~E@$G(B 1.4 $B7O$@$H(B 1.4.2_06 $B$^$G%@%&%s%m!<%I2DG=$@(B ($B:G?7$O(B 1.4.2_10)$B!#(B $BLdBj$K$J$C$F$$$k$N$O(B 1.4.2_08 $B0JA0$J$N$G!"@H
    java.sun.com $B$N%5%$%H$KFCDj%P!<%8%g%s$N(B JRE $B$rMW5a$7$F$_$h$&(B version-id:
    arch:
    os:
    locale:
    known-platforms:

    $B<+A0$G(B JRE $B$N%@%&%s%m!<%I%5%$%H$r:n$l$k$+!)(B

    $B56Au$r9T$&$?$a$K$O(B JRE $B$N%@%&%s%m!<%I%5%$%H$r:n$kI,MW$,$"$k$h$&$@!#(B $B$^$:%@%_!<$N%@%&%s%m!<%I2DG=$J(B Servlet $B$rMQ0U$9$k!#(B $B$3$l$O$B@V;z(B$B$NItJ,$r<+A0$N%5!<%P$K8~$1$F$d$k!#(B

    <?xml version="1.0" encoding="utf-8"?>
    <jnlp spec="1.5+" codebase="http://www.nminoru.jp/~nminoru/data" href="test.jnlp">
      <application-desc main-class="Test"/>
      <information>
        <title>Test Demo Application</title>
        <vendor>nminoru</vendor>
        <homepage href="http://www.nminoru.jp/~nminoru/"/>
        <description>Nminoru's Test Application</description>
        <description kind="short">Test of the JNLP security hole.</description>
        <icon href="images/swingset2.jpg"/>
        <icon kind="splash" href="images/splash.gif"/>
        <shortcut online="false">
          <desktop/>
          <menu submenu="My Corporation Apps"/>
        </shortcut>
      </information>
      <resources>
        <j2se version="1.5.0_07" href="http://www.nminoru.jp/products/autodl/j2se" />
        <jar href="lib/Test.jar"/>
      </resources>
    </jnlp>
    

    /products/autodl/j2se $B$O!"(B JRE $B%$%s%9%H!<%i!<$r$d$C$Q$j(B JNLP $B$GJV$7$F$/$k$N$G!"(B $B$3$l$HF1MM$N$b$N$rMQ0U!#(B MIME $B%?%$%W$O(B application/x-java-jnlp-file $B$K$J$k!#(B $B@D;z$NItJ,$N%U%!%$%k$OM=$a(B Sun $B$N%5%$%H$+$iK\J*$r%@%&%s%m!<%I$7$FCV$-!"(B $B<+%5%$%H$r;X$9$h$&$K=q$-49$($k!#(B

    <?xml version="1.0" encoding="utf-8"?>
    <jnlp codebase="http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se">
      <information>
        <title>J2RE 1.5.0 Installer</title>
        <vendor>Sun Microsystems, Inc.</vendor>
      </information>
      <security>
        <all-permissions/>
      </security>
      <resources>
        <j2se version="1.3+" href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="javaws-1_0_1-j2re-1_5_0-inst-windows-i586.jar" download="lazy" size="41032"/>
        <jar href="javaws-1_0_1-j2re-1_5_0-data-windows-i586.jar" download="lazy" size="14181223"/>
        <property name="javaVersion"       value="1.5.0"/>
        <property name="platformVersion"   value="1.5"/>
        <property name="installerLocation" value="javaws-1_0_1-j2re-1_5_0-data-windows-i586.jar"/>
        <property name="installerEntry"    value="jre.dat"/>
        <property name="licenseEntry"      value="LICENSE"/>
        <property name="lib"               value="j2re-installer"/>
        <property name="msvcrt.versionMS"  value="60000"/>
        <property name="msvcrt.versionLS"  value="20910000"/>
        <property name="execString"        value="{0} {1}"/>
        <property name="javaPath"          value="bin\javaw.exe"/>
        <property name="verbose"           value="true"/>
        <property name="hopper"            value="true"/>
        <property name="isWindowsInstall"  value="true"/>
        <nativelib href="javaws-1_0_1-j2re-1_5_0-native-windows-i586.jar" size="13620"/>
      </resources>
      <installer-desc main-class="com.sun.webstart.installers.Main"/>
    </jnlp>
    

    $B0J>e$N$h$&$J$3$H$r$d$C$F$_$k$,$&$^$/$$$+$:!#(B javaws-*.jar $B%U%!%$%k$rl=j$K$D$$$F%A%'%C%/$r3]$1$F$$$k$N$+$7$i!)(B

    [Prog][Linux] IA-64/Linux $B$G6&M-%i%$%V%i%j$r:n$k(B

    IA-64/Linux $B$G(B shared library $B$r:n$k>l9g!"(B $BB>$N%W%i%C%H%U%)!<%`$h$j%7%s%\%k$N%j%m%1!<%?%S%j%F%#(B(?) $B87$7$$!#(B $B>/$7Bg$-$J%*%V%8%'%/%H%3!<%I$r(B -fPIC $B$r;XDj$;$:$K6&M-%i%$%V%i%j2=$7$?>l9g!"(B $B0J2<$N%a%C%;!<%8$,=P$k!#(B

    @gprel relocation against dynamic symbol ($B%7%s%\%kL>(B)
    

    -fPIC $B$r;XDj$7$J$$J}$,0-$$$H8@$o$l$l$l$P$=$l$^$G$@$,!D(B

    [Work] $BFC5v650i(B$BD<8l(B

    $B$H$K$+$/H>G/$K0l7o$E$DFC5v=q$-$d$,$l!"(B $B$H$$$&$3$H$G$9$?!#(B


    12/1 ($BLZ(B)

    [Prog] $B$o!A$$%H%i%s%]%j%s$OL{2w$@$J(B

    $B%W%m%0%i%`$N$NAc7"(B IA-64/Linux$B!#(B

    binutils $B$N(B libopcodes $B$K4^$^$l$k(B print_insn_ia64 $B$r8F$S=P$9$3$H$G!"(B $B$*objdump -d a.out $B$N7k2L$H0c$&!#(B $B:G=i$N0lL?Na$O!"0J2<$N$h$&$J46$8!#(B

    40 24 00 00 00 00 : [MII] (p34) break.m 0x4
    00 40 78 25 00 00 :             zxt4 r0=r94
    00 00 00 60       :             data8 0xc000000000
    

    PLT $B$N%3!<%I$K;w$F$$$k$,!"%"%I%l%9E*$K$b(B PLT $B$N%;%/%7%g%s$G$O$J$$!#(B $B$@$$$?$$(B static $B4X?t$N4X?t%]%$%s%?$@!#(B $B$J$s$+%H%i%s%]%j%s$7$F$$$k$_$?$$$@!#(B

    $BB>$N%"!<%-%F%/%A%c$G$OIaDL(B $B4X?t%]%$%s%?!a4X?t$N

    $B%j%s%\!<(B (Limbo) $B$,L5$/$J$C$F$7$^$C$?$h(B

    $BK\F|IU$1$G%+%H%j%C%/$N655A$+$i!"(B $B%-%j%9%H65$NE79q$HCO9v$NCf4V$K$"$k$H$$$&JU9v(B $B%j%s%\!<(B(Limbo) $B$,30$5$l$F$7$^$C$?(B (theage.com.au$B!"(B DetNews$B!"(B thecouriermail.news.com.au$B!"(Bdummocrats.com)$B!#(B

    $B%j%s%\!<$O!"(B $B@vNi$re$N3,AX$K$"$?$j6lDK$,$J$$JQ$o$j$K4uK>$b$J$$$H$$$&@$3&$H$7$FIA$+$l$k!#(B $B%@%s%F$N7I0&$9$k%[%a%m%9!"%[%i%F%#%&%9!"%*%&%#%G%#%&%9!"%k%+!<%L%9!"%t%#%k%8%j%*$J$I$N;m@;$b$=$3$K$$$k!#(B $B!V?@6J!W$NCf$G;m@;$?$A$OCO9v$K$d$C$F$-$?%@%s%F$r7^$(!"(B6$BHVL\$N;m?M$H?t$($F$/$l$?!"(B $B$H%@%s%F<+?H$,=q$$$F$$$k!#$A$g$C$H$*4($$!#(B

    $B%j%s%\!<$r;_$a$k$N$O:#8e$NI[653hF0$N$?$a$H$$$&$N$,K\2;$N$h$&$@!#(B theage.com.au $B$K$O(B1$B%3%^%^%s%,$,:\$C$F$$$k!#(B

    ($B?@IcIw$NCK(B) We need a new term for the "Limbo" of unbaptised innocents...
    ($B%(%s%8%K%"$C$]$$CK(B) What about "God's cold-storage unit" ?
    Church ma axe limbo for souls

    $B%j%s%\!<$,$J$/$J$C$F$b!"IT?.

    P.S.

    $B%W%m%F%9%?%s%H$N=!GI$NCf$K$O$=$b$=$bCO9v$NB8:_$rH]Dj$9$k$N$b$d!"(B $B;`8e$K2~?4$G$-$k$H$$$&%;%+%s%I%A%c%s%9O@$r$H$k$b$N$b$"$k!#(B $B0lJ}$GM#0l?@Kt5H%$%(%9$O(B $B%-%j%9%H$r?.$8$J$$$b$N$OCO9v$N2P$NCf$KEj$29~$^$l$k$H$N$?$^$o$l$k$,!D(B

    $B2q

    $B2qHTTP_X_FORWARDED_FOR $B$N%Q%i%a!<%?$,>C$($F$$$k!#(B HTTP $B%W%m%-%7$,%2!<%H%&%'%$$NLr3d$r2L$?$9;~!"(B REMOTE_ADDR $B$r(B HTTP_X_FORWARDED_FOR $B$K0\$7BX$($F$$$?$N$@$,!"(B $B%;%-%e%j%F%#6/2=$N4QE@$+$i$+$3$l$r;_$a$F$7$^$C$?$h$&$@!#(B

    $B2q


    $B@h7n$NF|5-(B(2005$BG/(B11$B7n(B) $B:#7n$NF|5-(B(2005$BG/(B12$B7n(B)
    2002 | 10 | 11 | 12
    2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
    2024 | 1 | 2 | 3 | 4
    $B%[!<%`%Z!<%8(B | $B:G?7$N%3%a%s%H(B50
    $B%$%s%G%C%/%9(B: $B?)$YJb$-(B | Java | $B%W%m%0%i%`(B | UNIX | $B2hA|(B
    $B:G?7$NF|5-$X$N%j%s%/(B | $B$3$NF|5-%Z!<%8$r$O$F$J% $B$3$NF|5-%Z!<%8$r$O$F$J%V%C%/%^!<%/$KDI2C(B
    $B$O$F$J(B $B%@%$%"%j!<(B $B%"%s%F%J(B $B%V%C%/%^!<%/(B $B%V%m%0(B
    Twitter | mixi | Facebook | slideshare | github | Qiita


    Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp