š‚¨‘O‚çJava‚ÍJNI‚Å‘ ..
[2ch|¥Menu]
2:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 14:34
ƒ`ƒ“ƒJƒX‚ÌŽdØ‚éƒXƒŒ‚È‚ñ‚©ˆç‚Ä‚½‚­‚È‚¢B

3:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 14:39
ˆç‚ĂĂ­‚ê‚È‚­‚ÄŒ‹\‚æ


4:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 14:40

Java Native Interface ƒvƒƒOƒ‰ƒ~ƒ“ƒO
ƒsƒAƒ\ƒ“
‚¿‚å‚Á‚ÆŒëA‚ ‚邯‚Ç‚Ë
JNI‚ÌŽ‘—¿‚Á‚Ä‚ ‚Ü‚è‚È‚¢‚©‚çage



5:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 14:43
‚Ü‚ ƒ|ƒCƒ“ƒg‚ÍJava‘¤‚̃Nƒ‰ƒXƒƒ“ƒo‚Æ
C/C++ƒlƒCƒeƒBƒu‚ÅŽæ‚舵‚¤ˆø”‚Ƃ̂¹‚ß‚¬‚ ‚¢‚©‚È


6:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 18:21
SWT‚ðŽQl‚É‚·‚ׂµ

7:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 18:29
1‚É2‚¿‚á‚ñ‚̱̫‚ð–ق点‚邿‚¤‚È‘‚«ž‚Ý‚ðƒŠƒNƒGƒXƒg‚·‚é

8:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 18:32
C#•À‚ÉŠÈ’P‚É‘‚¯‚邿‚¤‚ɂȂè‚Ü‚¹‚ñ‚©H
‚Í‚Á‚«‚è‚¢‚Á‚ăEƒUƒC‚Å‚·

9:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/05 22:31
>>8
‚¨‘O‚Ý‚½‚¢‚È”\–³‚µ‚Ì‘‚«ž‚Ý‚ð‚Ü‚Á‚Ä‚½‚ñ‚¾‚æ
‚Ç‚ñ‚Ç‚ñ‘‚¢‚Ä‚­‚ê
‰´‚ͳާ¶‚¾‚©‚çC#‚µ‚©‚Å‚«‚Ë‚¥‚Á‚Ä‚È


10:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/06 09:40
C++‚©‚çJVMƒR[ƒ‹‚µ‚Ă܂·‚ª‚Ȃɂ©

11:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/06 09:49
>>1
‚¨‘O‚ª‚Ȃɂ©À‚Á‚Ă݂ë


12:1‚Å‚·‚ª
02/10/06 10:15
Java‚©‚çC/C++‚̃oƒCƒiƒŠ‚ðƒ[ƒh‚·‚é‚É‚ÍJNI‚ð’m‚ç‚È‚¢‚Ƃł«‚Ü‚¹‚ñ
C/C++‹ZpŽÒ‚ªJNI‚ð’m‚邯JVM‚Ì‹N“®‚©‚çŒÄ‚Ño‚µ‚܂Ŏ©—RŽ©Ý

2‚¿‚á‚ñ‚Ì•ûX‚ÍŒ¾Œê‚ð‚â‚Á‚Ä‚¢‚邾‚¯‚Åperl‚ª‚¤‚´‚¢‚¾‚̃AƒZƒ“ƒuƒ‰‚ª‚¦‚ç‚¢‚¾‚Ì
“ü‚èŒû‚Ì•”•ª‚ł̂ݗD—ò‚ð‹£‚Á‚Ä‚¢‚é’á”]ŒN‚ª‚Ù‚Æ‚ñ‚ǂł·
‘åØ‚È‚Ì‚ÍŒ¾Œê‚łȂɂª‚Ç‚±‚Ü‚Å[‚­ŽÀŒ»‚Å‚«‚é‚©‚ð’m‚邱‚Ƃł·

13:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/06 11:01
>>12
> ‘åØ‚È‚Ì‚ÍŒ¾Œê‚łȂɂª‚Ç‚±‚Ü‚Å[‚­ŽÀŒ»‚Å‚«‚é‚©‚ð’m‚邱‚Ƃł·

u‚¾‚Á‚½‚çAƒAƒZƒ“ƒuƒ‰‚ª‚¦‚ç‚¢‚æBv‚ÆŒ¾‚¤“Ëž‚Ý‚µ‚©‚±‚È‚¢‚¼B

‚¨‘O‚É‚ÍAŠÈ’P‚É‚©‚ˆÀ‘S‚ÉŽÀŒ»‚Å‚«‚é (=”[Šúv‘¬AŒƒˆÀ) ‚ÆŒ¾‚¤Ž‹“_‚͂Ȃ¢‚Ì‚© ?

14:1‚Å‚·‚ª
02/10/06 20:21
>>12
ƒAƒZƒ“ƒuƒ‰‚¶‚ᑬ‚­‚Ä‚àƒRƒXƒg‚ª‚ ‚í‚È‚¢‚º
‘¬‚³‚ƃƒ“ƒeƒiƒ“ƒX«‚̃oƒ‰ƒ“ƒX‚ðl‚¦‚½ã‚Å‚ÌJNI‚È‚ñ‚¾‚¯‚Ç‚È
ƒAƒZƒ“ƒuƒ‰ˆÌ‚¢‚æÌ‚ÌCMOS‚³‚ñ‚Ý‚½‚¢‚ÉVzƒGƒfƒBƒ^‚ð‘S•”ƒAƒZƒ“ƒuƒ‰‚Å
‚­‚Þ‚®‚ç‚¢‚È‚ç‚È
•\–ʂŃAƒZƒ“ƒuƒ‰‰]X”²‚©‚·‚È‚æ
‚¨‚Ü‚¦‚àCMOS‚³‚ñ‚®‚ç‚¢‚É‘g‚ß‚é‚̂Ȃ瑸Œh‚·‚邯‚Ç‚È


15:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/06 20:29
>>14
> ƒAƒZƒ“ƒuƒ‰‚¶‚ᑬ‚­‚Ä‚àƒRƒXƒg‚ª‚ ‚í‚È‚¢‚º
> ‘¬‚³‚ƃƒ“ƒeƒiƒ“ƒX«‚̃oƒ‰ƒ“ƒX‚ðl‚¦‚½ã‚Å‚ÌJNI‚È‚ñ‚¾‚¯‚Ç‚È

‚±‚¢‚‚Ȃñ‚©Š¨ˆá‚¢‚µ‚Ä‚Ë[‚© ?

16:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/06 21:48
15‚̂悤‚ÈŒ¾‚¤‚¾‚¯‚ŃAƒZƒ“ƒuƒ‰‚àC‚à‚Å‚«‚È‚¢~–[‚Í•ú’u‚Æ‚¢‚¤‚±‚Æ‚Å
‚»‚ë‚»‚ëJNI‚É‚¢‚±‚¤‚©

17:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/06 21:59
˜R‚ê‚ÍlongŒ^‚̃VƒOƒlƒ`ƒ…ƒA‚ªL‚ł͖³‚¢Žd—l‚É
Œ‹\‹Á‚¢‚Ä‚¢‚邯‚Ç‚Ë

18:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/06 23:43
>>17
L‚̓Nƒ‰ƒX‚ÌŠ®‘SCü‚Á‚ăAƒŒ‚©

19:15
02/10/07 22:27
>>16
> ‚»‚ë‚»‚ëJNI‚É‚¢‚±‚¤‚©

ƒvƒvƒbA‚Ý‚ñ‚Ȃ‚¢‚Ä‚±‚È‚­‚Á‚Ď₵‚¢‚Ë‚¥B
‚Ü‚ AƒAƒZƒ“ƒuƒ‰‚Æ JNI ‚ð”äŠr‚µ‚Ä‚®‚¾‚®‚½Œ¾‚Á‚Ä‚é~–[‚Ì‘ŠŽè‚Í‚µ‚Ä‚ç‚ê‚Ë[‚æ‚ÈB

20:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/07 23:02
Windows + Java ‚ŃNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­‚µ‚Ă邯‚ÇA
JNIŒo—R‚ÅWin32API‚ð“K“–‚É—˜—p‚·‚邯•Ö—˜‚¾‚ËB
java‚ł̓XƒNƒŠ[ƒ“ƒTƒCƒY‚µ‚©Žæ“¾‚Å‚«‚È‚¢‚¯‚ÇA
JNIŽg‚¦‚΃^ƒXƒNƒo[‚𜂢‚½ƒXƒNƒŠ[ƒ“‚̃TƒCƒY‚ðŽæ“¾‚Å‚«‚邯‚©B
ƒtƒ@ƒCƒ‹ƒ`ƒ…[ƒU[‚È‚ñ‚¼‚àWindows‚̌ĂÑo‚·•û‚ªŠy‚¾‚µB

‚Ý‚ñ‚È‚ÍAJNI‚łǂñ‚È‚±‚Æ‚µ‚Ä‚éH

21:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/08 08:15
>>20
Java‚Ímain‚¾‚¯‚ÅAŽc‚è‘S•”native‚É‚â‚点‚Ä‚éB
Java‚Ì‚·‚²‚³‚ðØ–¾‚·‚é‚̂ɕ֗˜i‚—

22:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/08 12:33
>>20
SystemParametersInfo‚Ì‚±‚ÆH
‚¨‚¢‚ç‚ÍSWT‚Ì
OS#SystemParametersInfo(int uiAction, int uiParam, RECT pvParam, int fWinIni)
‚Ŏ擾‚·‚邯‚Ç‚ËB

23:chinkasu
02/10/08 22:06
‚¨‚¨I
‚¿‚å‚¢‚Æ‚±‚È‚¢Œ„‚É
>>19`22
‚悤‚±‚»I
‚¨‚¢‚ç‚àC/C++‚Åì‚Á‚½‰ß‹Ž‚ÌŽ‘ŽY‚ð
JNI‚Å‚ª‚ñ‚ª‚ñŽg‚Á‚Ă邿
‚È‚ñ‚½‚Á‚Ä
Write ... ‚È‚ñ‚½‚ç‚Í•³‚­‚炦
‘¬‚­‚ÄÄ—˜—p‰Â”\‚ÈJNIÅ‚‚¾‚º‚¡


24:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/08 22:39
JNI‚Á‚Ä–{“–‚É‚ ‚é‚̂łµ‚傤‚©H
’T‚µ‚Ä‚¢‚é‚̂ł·‚ªŒ©‚‚©‚è‚Ü‚¹‚ñB
‚à‚µ‚©‚µ‚Ä‚±‚ê‚̓lƒ^ƒXƒŒ‚Å‚µ‚傤‚©H

25:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/08 23:19
javac -h ‚ÅJNI—p‚̃wƒbƒ_‚ª¶¬‚³‚ê‚éYO!

26:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/08 23:20
>Windows + Java ‚ŃNƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­‚µ‚Ă邯‚ÇA
>JNIŒo—R‚ÅWin32API‚ð“K“–‚É—˜—p‚·‚邯•Ö—˜‚¾‚ËB
‚¤‚¿‚̉ïŽÐ‚Å‚Íwindowsã‚̃Nƒ‰ƒCƒAƒ“ƒgƒAƒvƒŠ‚ðì‚邽‚ß‚ÉA
GUI‚Æ‚©API‚ðJNI‚щƒbƒv‚µ‚Ä‚é‚â‚”ƒ‚Á‚½‚æB
•Ö—˜‚¾‚ËB
C#‚̃‰ƒCƒuƒ‰ƒŠ[‚͂Ȃñ‚Å‚ ‚ñ‚Ȃɕ³‚È‚ÌH

27:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/08 23:25
>>26
> GUI‚Æ‚©API‚ðJNI‚щƒbƒv‚µ‚Ä‚é‚â‚”ƒ‚Á‚½‚æB

Java‚Á‚Ä write once run anywhere ‚ªƒEƒŠ‚Ȃ̂ɂ»‚ñ‚È‚±‚Æ‚µ‚½‚ç
ˆÓ–¡ƒl[‚¶‚á‚ñB”nŽ­H

28:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/08 23:58
>>26
‚Ö‚¥`B‰½‚Ä‚¢‚¤‚â‚ÂŽg‚Á‚Ä‚é‚ÌH

29:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 00:03
„Java‚Á‚Ä write once run anywhere ‚ªƒEƒŠ‚Ȃ̂É

‚¨‚¢‚¨‚¢cB
‚¢‚Ü‚â“Á’è‚n‚r‚Ì‚`‚o‚h‚É‚àŽg‚í‚ê‚Ä‚é‚Ì‚ÉcB

30:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 00:27
>>24
JNIÅ‚‚æ
27‚Ý‚½‚¢‚ȃvƒƒOƒ‰ƒ€‚ɃpƒtƒH[ƒ}ƒ“ƒX‚ð‹‚߂Ȃ¢l‚͉‚͂Ȃ¢‚¯‚Ç‚Ë
‚Ōڋq‚Éu‚¨‚½‚­‚Ìì‚Á‚½‚Ì’x‚¢‚©‚çì‚è’¼‚¹v‚Æ‚©Œ¾‚í‚ê‚Ä‚à
uJava‚Å‘g‚ÞŽd—l§ŒÀ‚Å‚·v‚Æ“¦‚°‚é‚킯‚Ë
¡ŽžOracle‚Å‚³‚¦‚àƒlƒCƒeƒBƒu‚É—Ž‚Æ‚µ‚Ä‚¢‚錻ŽÀ‚ð’m‚ç‚È‚¢‚Ì‚Ë
‚Ȃɂæ‚è‚ࡂ܂łÌC/C++Ž‘ŽY‚ð‚·‚×‚ÄŽg‚¦‚邱‚ê–{“–
‚¨‚¢‚¨‚¢˜b‚µ‚Ä‚¢‚«‚Ü‚µ‚å


31:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 00:34
„¡ŽžOracle‚Å‚³‚¦‚àƒlƒCƒeƒBƒu‚É—Ž‚Æ‚µ‚Ä‚¢‚錻ŽÀ
Šù‘¶•”‚ðJAVAŒü‚¯‚Ƀ‰ƒbƒv‚µ‚Ä‚é‚ñ‚¶‚á‚È‚­‚ÄA
JAVAŽÀ‘••”‚ðƒlƒCƒeƒBƒu‚Å‘‚«‚È‚¨‚µ‚Ä‚é‚ÌHi~‚ŃXƒ}ƒ“

32:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 00:42
˜R‚ê‚̓fƒvƒƒC‚ª‚ß‚ñ‚Ç‚¢EJB‚Ì‘ã‚í‚è‚É
JNIŒo—R‚ÅCOM+‚ðŽg‚¤‚Ì‚ª—˜Œû‚¾‚ÆŽv‚¤‚ª”@‰½‚©H

33:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 00:44
>>32
COM+‚Á‚ĉ½‚ª‚Å‚«‚é‚Ì‚©‚¢‚Ü‚¢‚¿‚í‚©‚Á‚ĂȂ¢ƒ‚ƒŒ‚É‹³‚¦‚ăNƒŒ

34:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 00:55
>>33
COM‚̓Rƒ“ƒ|[ƒlƒ“ƒg‹Zp‚Ì‘Ì
MS‚ÌŽd—lô’è•i–Ú
‚悤‚Í•”•i‚¾AVB—p‚ÌGUI•”•i‚©‚çƒXƒ^[ƒg‚µ‚Ä‚¢‚邪
•ªŽUCOM‚Æ‚µ‚ÄWeb‚̃oƒbƒNƒOƒ‰ƒ“ƒhƒT[ƒrƒX‚â
SQL DB‘€ì—p‚Ì javaBean‚Ý‚½‚¢‚È—˜—p‚à‚Å‚«‚é
EJB‚ÍOO‚¾ˆÌ‚¢‚¾‚낤‚ÆŒ¾‚¤ƒ„ƒV‚ª‚¢‚é‚©‚à‚µ‚ê‚ñ‚ª
ƒpƒtƒH[ƒ}ƒ“ƒX‚ÍEJB‚Ì“G‚¶‚á‚È‚¢‚µ STL‚Å‘g‚ß‚ÎCOM‚Ì“à•”‚ÍOO‚ÅŽÀ‘•‰Â”\
ƒfƒvƒƒC‚ÍŠÈ’P‚ÅGUID‚ÆŒ¾‚¤ˆêˆÓ‚̃Nƒ‰ƒXID‚ðƒŒƒWƒXƒgƒŠ‚É“o˜^‚·‚é
COM‚ÍŽd—l‚Å‚ ‚èA”Ä—p‹@AUNIX‚Å‚à“®ì‚·‚é
‚Ü‚½AŠJ”­‚·‚錾Œê‚͂Ȃñ‚Å‚à‚æ‚¢
OLE, ActiveX, COM, COM+, DCOM‚È‚ÇMS‚ªß‘€‚Ì–³‚¢–¼Ì‚ð•t‚¯‚½‚½‚ß
Šî–{Žd—l‚Ì‘f°‚炵‚³‚ðƒXƒ|ƒCƒ‹‚µ‚Ä‚¢‚錙‚¢‚ª‚ ‚é


35:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:00
„ COM‚ÍŽd—l‚Å‚ ‚èA”Ä—p‹@AUNIX‚Å‚à“®ì‚·‚é
‚l‚r‚ªŽd—l‚ðŒöŠJ‚µ‚È‚¢‚©‚çA
‚d‚i‚a‚â‚b‚n‚q‚a‚`‚©‚çÚ‘±‚Å‚«‚È‚¢‚Á‚Ęb‚ð•·‚¢‚½‚ªH

„Šî–{Žd—l‚Ì‘f°‚炵‚³
‚b‚n‚q‚a‚`‚æ‚èA‚ǂ̕ӂª‚·‚΂炵‚¢‚ÌH
ø‚è‚¶‚á‚È‚­‚ÄA•’ʂɒm‚ç‚ñ‚̂ł·D

36:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:01
>>34
•ªŽUƒIƒuƒWƒFƒNƒgƒT[ƒrƒX‚Ý‚½‚¢‚È‚ñ‚à‚ñ‚Å‚µ‚å[‚©B
‚ ‚êH‚»‚¤‚·‚邯DCOM‚Ƃ̈Ⴂ‚ª•ª‚©‚ç‚ñ...

37:20
02/10/09 01:02
>>26
‚Ö[A”„‚蕨‚Å‚»‚ñ‚ȃ‰ƒbƒp[‚ª‚ ‚é‚Å‚·‚©H
—Ç‚©‚Á‚½‚绕i–¼‚Æ‚©‹³‚¦‚Ä‚à‚炦‚Ü‚¹‚ñ‚©H

>>27
write once run anywhere ‚È‚ñ‚ÄŒ¾‚Á‚Ä‚él‚ª‚Ü‚¾‚¢‚½‚ñ‚¾c
¡Ajava‚É–£—Í‚ðŠ´‚¶‚Ä‚éŠJ”­ŽÒ‚Á‚Äu‚Ç‚±‚Å‚à“®‚­v‚Æ‚¢‚¤‚±‚Æ‚æ‚è
Œ¾ŒêŽd—lA[ŽÀ‚µ‚Ä‚«‚½ƒNƒ‰ƒXƒ‰ƒCƒuƒ‰ƒŠ‚ÉŽä‚©‚ê‚Ä‚é‚̂ł͂Ȃ¢‚©‚ÆB

38:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:03
>>37
‚ ‚ HJava~¢ŠÒ‚·‚邼ƒRƒ‰ƒ@

39:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:08
—ǃXƒŒage

>>27
‚r‚v‚s‚¶‚á‚È‚­‚ÄH

40:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:09
‚Á‚ÄAage‚Ä‚Ë[‚æA‰´iŸT

41:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:11
JNIŽg‚¤‚Æ’x‚­‚È‚é‚ñ‚¾‚æ
’m‚ç‚È‚¢‚ÌH

42:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:19
‚i‚m‚h’Ê‚·‚Æ‚±‚뎩‘̂͂ËB


43:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:23
>>41
Ú׃Lƒ{ƒ“ƒk

44:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 01:30
>>43

‚±‚ê‚ÉÚ‚Á‚Ä‚½‚æB
URLØÝ¸(www.amazon.co.jp)


45:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 08:35
>>41
Šm‚©‚É‚Ë
C‚̃R[ƒh‚ðƒ‰ƒbƒv‚µ‚Ä—˜—p‚·‚é‚킯‚¾‚©‚ç“–‘R‚¾‚æ‚Ë
ŒÄ‚Ño‚µ‚½‚ ‚Ƃ̃rƒWƒlƒXƒƒWƒbƒN‚ȂǂªJVM‚Ì“®ì‚æ‚è
ƒg[ƒ^ƒ‹‚Å‘¬‚¯‚ê‚΂¢‚¢‚킯‚Å‚·‚æ‚Ë
‚ ‚ÆAA/D•ÏŠ·‚̃\ƒtƒgƒEƒFƒA‚È‚ñ‚ÄJava‚©‚çƒR[ƒ‹‚µ‚Ä쬂ł«‚邵
ƒAƒCƒfƒAŽŸ‘æ‚ÅJava‚Ì¢ŠE‚àL‚ª‚é‚킯‚Å‚·‚æ‚Ë


46:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 08:48
>>37
>>Œ¾ŒêŽd—lA[ŽÀ‚µ‚Ä‚«‚½ƒNƒ‰ƒXƒ‰ƒCƒuƒ‰ƒŠ‚ÉŽä‚©‚ê‚Ä‚é‚̂ł͂Ȃ¢‚©‚ÆB
‚»‚̂Ƃ¨‚肾‚æ‚Ë
Œ¾ŒêŽd—l‚Í—Ç‚¢I
‚µ‚©‚µA‚©‚ä‚¢‚Æ‚±‚ë‚܂ł͎肪“Í‚©‚È‚¢
‚¾‚©‚çJNI‚È‚ñ‚¾‚æ‚Ë

>>38
‚±‚±‚ÍJNI‚ð‰ž—p‚µ‚Ä•L‚¢‰ž—p‹Zp‚ðŠÜ‚ß‚½î•ñŒðŠ·‚ð‚·‚éꊂł·
JavaƒIƒ“ƒŠ[‚Ì‹·‚¢—¹Œ©‚Ìl‚͘A‚ê‚Ä‚«‚Ä‚à•‚‚¢‚Ä‚µ‚Ü‚¤‚æ
‚Ç‚¤‚¹ŽÀ‘•‚ª”ü‚µ‚¢‚Æ‚©A‘¼‚ÌŒ¾Œê‚Í•³‚¾‚®‚ç‚¢‚µ‚©Œ¾‚¦‚È‚¢‚ñ‚Å‚µ‚傤‚©‚ç
‚Ç‚¤‚¹‚‚ê‚Ä‚­‚é‚̂ȂçC/C++‚ÅCORBA‚·‚él‚Æ‚©
EJB‚̃vƒ‚ð˜A‚ê‚Ä‚«‚Ä‚Ë
‚ ‚Á‚«‚݂Ɏ¿–₾‚¯‚Ç
JVM‚̃[ƒJƒ‹ƒXƒ^ƒbƒN‚̃fƒtƒHƒ‹ƒgƒTƒCƒY‚Á‚Ä’m‚Á‚Ä‚éH







47:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 09:09
>>35
MS‚ÍCOMŽd—l‚ÍŠ®‘SŒöŠJ‚µ‚Ä‚¢‚邿
COM‚Í“Æè•¨‚ł͂Ȃ¢‚æ

CORBA‚Ƃ̔äŠr‚͈ꌾ‚ł͌ê‚ès‚­‚¹‚È‚¢‚Ì‚¾‚¯‚Ç
ÌCORBA‚Ì—§‚¿ã‚°Žž‚É‚ÍAPIƒŒƒxƒ‹‚ł̎d—l‚Ì“‡‚ªs‚í‚ê‚Ä‚¢‚È‚¢‚½‚ß‚É
ŽÀ‘•”ï—p‚ª‚©‚©‚è‚·‚¬‚½‚Ƃ̘b‚ª‚ ‚è‚Ü‚·
COMŽd—l‚Í‚»‚̕ӌ͂ê‚Ä‚¢‚é
ƒXƒŒˆá‚¢‚©‚à‚µ‚ê‚ñ‚ªJNI‚©‚ç—˜—p‚·‚é‰Â”\«‚ª‚‚¢‹Zp‚Æ‚¢‚¤‚±‚Æ‚Å

-----------------------------------------------------------------------------------
ƒT[ƒrƒX COM CORBA
-----------------------------------------------------------------------------------
ƒ‰ƒCƒtƒTƒCƒNƒ‹ IUnknown IF ƒ‰ƒCƒtƒTƒCƒNƒ‹ƒT[ƒrƒX
Pí‹L‰¯ˆæŠÇ— ƒp[ƒVƒXƒeƒ“ƒgƒXƒgƒŒ[ƒW ƒp[ƒVƒXƒeƒ“ƒgƒT[ƒrƒX
ƒ}[ƒVƒƒƒŠƒ“ƒO§Œä IMarshal IF ‚È‚µ
ƒAƒEƒgƒoƒEƒ“ƒh§Œä IConnectionPoint IF ‚È‚µ
ƒZƒLƒ…ƒŠƒeƒB Identification Identification
Authentication Authentication
Integrity Integrity
Confidentiality Confidentiality
ServerActivation
AccessControl AccessControl
Delegation Delegation
Nonrepudiation
ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÇ— MS-TransactionServer ObjectTransactionServices
(Viper)
ƒvƒƒpƒeƒBŠÇ— MS-ActiveDirectory PropertyServices


48:38
02/10/09 09:10
> JVM‚̃[ƒJƒ‹ƒXƒ^ƒbƒN‚̃fƒtƒHƒ‹ƒgƒTƒCƒY

‚ÍA8M‚Å‚µ‚傤‚©EEE

49:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 09:10
ƒXƒ}ƒ“‚¸‚ê‚Ä‚µ‚Ü‚½
‚Ȃɂª‚È‚ñ‚¾‚©‚í‚©‚ç‚ñ•³‚©‚¢‚Ä‚à‚¤‚½

50:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 11:10
>>31
‹TƒŒƒX‚¾‚ª
PL/SQL‚Æ“¯—l‚È‹@ŠBŒêƒRƒ“ƒpƒCƒ‹Ï‚݃R[ƒh‚ðƒT[ƒo‚ÉŽ‚Á‚Ä‚¢‚邵
ƒIƒ‰ƒNƒ‹“ÆŽ©ŽÀ‘•‚̃lƒCƒeƒBƒuƒRƒ“ƒpƒCƒ‹‚ð“‹Ú‚µ‚Ä‚¢‚é
‚±‚ÌŽ–ŽÀ‚ÍAƒIƒ‰ƒNƒ‹‚àJVM(Š‘FƒCƒ“ƒ^ƒvƒŠƒ^)‚̃pƒtƒH[ƒ}ƒ“ƒX‚ð–â‘莋‚µ‚Ä‚¢‚邯‚¢‚¤Ž–
‚Ì•\‚ê‚ÆŽv‚í‚ê‚é

ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ƒc[ƒ‹–¼‚Í@ncomp



51:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/09 12:37
‚Å‚àACOM‚ð‚»‚¤‚¢‚¤Žg‚¢•û‚·‚é‚Ì‚ÍI‚í‚肾‚Á‚Ä‚ËB
.net‚Æ‚©soap‚¾‚Á‚ÄA‚±‚ê‚©‚ç‚ÍB
OS‚Ì’†‚ł܂¾Žg‚í‚ê‚é‚©‚à‚µ‚ê‚È‚¢‚ÆB

JNI‚È‚ñ‚Ä“Á’è‚ÌAPI‚ªŒÄ‚Ño‚µ‚½‚¢Žž‚­‚ç‚¢‚µ‚©Žg‚í‚È‚¢‚È‚ŸB
‚»‚ñ‚ÈŽ–‚à‚ß‚Á‚½‚ɂȂ¢‚ñ‚¾‚ªB
l¶‚Ɉê“x‚ ‚é‚©‚È‚¢‚©EEE

52:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/10 00:34
>>51
—V‚Ñ‚ÅSOAPToolkit‚¢‚¶‚Á‚½‚çA
(SOAP‚Ì)ƒAƒvƒŠ‚ð‚b‚n‚l‚É‚µ‚ë‚Æ‚©Œ¾‚í‚ꂽ‚x‚nI

‚Ü‚ ASOAPToolkitŽ©‘Ì‚ªRemoting‚Æ‚©‚Ö‚Ì
‚‚Ȃ¬‚ɉ߂¬‚È‚©‚Á‚½‚Ì‚©‚à‚µ‚ñ‚È‚¢‚¯‚ÇD

53:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/10 08:37
>>51
‚±‚̃XƒŒ‚ÍŽg‚¤•K—v‚ª‚È‚­‚Ä‚à–³—‚µ‚ÄŽg‚¢‚½‚¢l‚ªW‚¤ƒXƒŒ‚É‚µ‚½‚©‚Á‚½‚̂ł·
51‚àƒXƒLƒ‹‚ª‚ ‚é‚Ì‚¾‚©‚ç–³—‚µ‚ÄŽg‚Á‚Ä‚­‚ê‚鎖‚ð·ÎÞ°Ý



54:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/11 01:51
>53
³’¼JNI‚Á‚Ä‚ ‚ñ‚܂肢‚¢ˆóÛ–³‚¢‚Ì‚¾‚¯‚ÇB
ˆÈ‘OCOM‚ÅŠJ”­‚µ‚½ƒAƒvƒŠ‚ðJava‚©‚çŽg‚¢‚½‚¢‚Á‚ÄŒ¾‚í‚ê‚ÄJNI‚𒲂ׂă‰ƒbƒv‚µ‚Ă݂悤‚Æ
‚µ‚½‚Ì‚¾‚¯‚ÇAŒ‹‹ÇCOM‚̃IƒuƒWƒFƒNƒg‚ðJNI‚̃R[ƒh‚Ŷ‘¶ŠÇ—‚µ‚È‚«‚á‚È‚ç‚ñ‚©‚Á‚½‚悤‚È
‹C‚ª‚µ‚ăxƒ‰ƒ{[‚É–Ê“|‚­‚³‚­‚È‚Á‚Ä‚â‚ß‚³‚¹‚½B
‚Ђå‚Á‚Æ‚µ‚Ä‚»‚ê‚͉´‚ª~‚¾‚©‚ç‚©HiÎ

‚Æ‚±‚ë‚Årun anywhere‚Á‚Ä‚à‚¤‰»Î‚È‚ÌH
ƒ|[ƒ^ƒrƒŠƒeƒB‚ƃpƒtƒH[ƒ}ƒ“ƒX‚̓gƒŒ[ƒhƒIƒt‚Ål‚¦‚é‚Ì‚ª•’ʂȋC‚ª‚·‚éB
¢‚Ì’†‚»‚ñ‚ȂɃNƒŠƒeƒBƒJƒ‹‚ȈČ‚΂Á‚©‚è‚È‚ÌH


55:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/11 18:20
>>54
Ì‚©‚çƒ}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚ðæ‚¤ƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚âƒc[ƒ‹‚Í
•K‚¸ƒpƒtƒH[ƒ}ƒ“ƒX‚ªˆ«‚©‚Á‚½Ž–‚ð‘ÌŒ±“I‚É’m‚Á‚Ä‚¢‚鉴‚Írun anywhere‚Å”„‚èo‚µ‚½Žž‚©‚ç
Java‚ÌŽ–M‚¶‚ĂȂ©‚Á‚½‚킯‚¾‚·
‚³‚ç‚Éservletêt–¾Šú‚ÉJDBC‚ð—˜—p‚µ‚ÄŠJ”­‚µ‚½‚Æ‚«‚ÉŒ´ˆö•s–¾‚̃gƒ‰ƒuƒ‹‚Æ‚©‘½”­‚µ‚Ä
‚Ü‚½Œ™‚¢‚ɂȂÁ‚½‚킯‚¾‚·(ŋ߂͂¸‚¢‚Ô‚ñ—Ç‚­‚È‚è‚Ü‚µ‚½‚¯‚Ç)
‚»‚µ‚Čڋq‚Ì—v‹‚̓VƒrƒA‚Ńvƒ‰ƒbƒgƒtƒH[ƒ€ˆË‘¶‚ÈŽ–‚ðƒNƒŠƒA‚µ‚È‚¢‚Æ
—v‹‚ª–ž‚½‚¹‚È‚¢‚±‚Æ‚ª‚ ‚Á‚ÄJNI‚¾‚Á‚½‚킯‚Å‚·

COM‚ɂ‚¢‚Ä‚Í
COM‚ÅŽÀ‘•‚µ‚Ä‚¢‚éƒR[ƒh‚ðDLLƒo[ƒWƒ‡ƒ“‚É—Ž‚Æ‚µž‚ñ‚Å(’P‚ɃRƒsƒy)
—˜—p‚·‚邯‚¢‚¤‚¢‚³‚³‚©ƒ_ƒT‚¢•û–@‚à‚ ‚è‚Ü‚·‚æ‚Ë
@‚ `‚µ‚©‚µ‚±‚ꂾ‚ÆH”팸‚ɂ͂Ȃç‚ñ‚©A‚Ü‚½ƒeƒXƒg‚µ‚È‚«‚á‚È‚ç‚È‚¢‚à‚ñ‚È‚Ÿ
JNI‚ÆC++‚ÌŠÖŒW‚ÍŠm‚©‚É”÷–­‚ÈŽd—l§ŒÀ‚ª‚ ‚邿‚¤‚Å
’Ç‚Á‚Ä’ÇÕ‚µ‚Ä‚¢‚«‚Ü‚µ‚傤

JNI‚̃|[ƒ^ƒrƒŠƒeƒB‚Á‚Ä‚»‚ñ‚ȂɈ«‚­‚È‚¢‚ÆŽv‚¤‚¯‚Ç‚Ë
‚悤‚̓vƒ‰ƒbƒgƒtƒH[ƒ€ˆË‘¶‚̂Ƃ±‚ë‚ð‚¤‚Ü‚­#ifdef‚µ‚Ä‚¢‚¯‚΂悢‚µ
ƒR[ƒ‹‚·‚éFunction/Method‚ðØ‚è‘Ö‚¦‚ç‚ê‚邿‚¤ì¬‚·‚ê‚Ηǂ¢‚Ì‚¾‚µ
‚Ü‚ ‚±‚ê‚ç‚ðŽÀŒ»‚·‚é‚É‚Í
‘½”ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚ŃRƒ“ƒpƒCƒ‹ƒrƒ‹ƒh‚Å‚«‚ăvƒ‰ƒbƒgƒtƒH[ƒ€‚ɂ‚¢‚Ä
[‚­’m‚Á‚Ä‚¢‚é•K—v‚ª‚ ‚é‚Ì‚¾‚¯‚ê‚Ç‚à




56:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/11 18:50

‚Ƃ肠‚¦‚¸JNI‚ð‚·‚ç‚·‚ç‚ÆÀ‚­‚̂ɕK—v‚È
UNICODE->SJIS•ÏŠ·ƒTƒ“ƒvƒ‹(Win32)
ìŽÒ‚ÉŠ´ŽÓ
URLØÝ¸(www.ki.rim.or.jp)


57:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/10/31 01:55
age

58:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/05 16:46
ˆêŒûƒ|ƒCƒ“ƒg

ƒT[ƒuƒŒƒbƒg

ƒRƒ“ƒpƒCƒ‹‚µ‚Ä”z’u‚µ‚½JNI—˜—p‚̃T[ƒuƒŒƒbƒg‚Ìê‡

—á:Apache+tomcat‚Ìê‡
ServletƒRƒ“ƒeƒiƒT[ƒrƒX‚ðƒŠƒ[ƒh‚·‚é•K—v‚ª‚ ‚é
tom‚Ìê‡shutdown -> startup

JVM‚ªstaticƒ[ƒh‚µ‚Ä‚¢‚é‚©‚ç‚©


59:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/05 22:16
ˆêŒû‚¿‚ñ‚Û‚¢‚ñ‚Æ

CŠÖ”“à‚Å‚ÌJNIˆø”‚Ì—˜—p•û–@
”’lŒ^‚ÍC‚ÌŠY“–Œ^‚É‚»‚̂܂ܑã“ü‰Â”\
StringŒ^‚¾‚¯‚â‚⑀삷‚é•K—v‚ ‚è






60:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/05 22:29
ŠJ”­ŠÂ‹«ì¬—á
JDK1.3‚ÆVC++6.0‚Ì—á
ƒtƒHƒ‹ƒ_‚ð쬂·‚é
jnihogeroot--------------------vcppprj---------relese
@@@@@@@@@@@@@@@@@@@@@+
@@@@@@@@@@@@@@@@@@@@@+----debug
VC++‚̃vƒƒWƒFƒNƒg‚Í vcppprj‚É쬂·‚é
@@relese, debug‚ÍVC++‚ªŸŽè‚É쬂·‚éƒtƒHƒ‹ƒ_

jnihogeroot‚É’u‚­ƒtƒ@ƒCƒ‹
jnihoge.java ..... JNIŒ´Žnƒ\[ƒX.java
c.bat@@@@...... ƒRƒ“ƒpƒCƒ‹‚µ‚½Œã‚ÅVCƒvƒƒWƒFƒNƒg‚ɃRƒs[‚·‚éƒoƒbƒ`

“à—e
javac %1.java
javah -jni %1
copy %1.h vcppprj

Žg‚¢•û
C:\vcpprj>c@jnihoge@[Enter]

‚±‚ê‚Åjavah‚Å쬂³‚ꂽ.h‚ðVC++ƒvƒƒWƒFƒNƒg‚ɃRƒs[‚µ‚Ä‚­‚ê‚é

VC++‚ÌIDE‚ɃtƒH[ƒJƒX‚ð“–‚Ä‚é‚Æ
uŠO•”‚̃GƒfƒBƒ^‚ÅXV‚³‚ê‚Ü‚µ‚½EE‚¤‚ñ‚Ê‚ñv‚Ì•\ަ‚ª‚Å‚é‚Ì‚Å
OK‚ð‰Ÿ‚µ‚ÄA.h‚Ì’è‹`‚ð.cpp‚Ì“K“–‚ȂƂ±‚ë‚Écopy
‰¼ˆø”‚ð‚Ä‚«‚Æ‚¤‚ɃZƒbƒg‚µ‚ÄŠÖ”‚Ì’†g‚ð‘‚­
VC++‚ðƒrƒ‹ƒh‚µ‚Ä‚¢‚Á‚¿‚傤‚ ‚ª‚è

ŠÈ’PŠy‚µ‚¢JNI


61:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/05 22:31
ƒXƒ}ƒ“‚Ü‚¿‚ª‚¦
C:\vcpprj>c jnihoge [Enter]
@@’ù³«
C:\jnihogeroot>c jnihoge [Enter]



62:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/12 19:04
•ÛŽç

63:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/15 00:44
ƒ`ƒ“ƒJƒX‚ÌŽdØ‚éƒXƒŒ‚È‚ñ‚©ˆç‚Ä‚½‚­‚È‚¢B

64:C++Žg‚¢
02/11/15 11:57
Java Native Interface?

65:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/22 23:22
JNIŒÄ‚Ño‚µ‚ª‚ ‚邯HotSpotÅ“K‰»“™‚ª‘jŠQ‚³‚ê‚é‚Ì‚©‚È‚ H

66:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/24 11:46
>>65
‚à‚·‚±‚µÚ‚µ‚­‚¨Šè‚¢


67:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/24 12:38
>>66
‚²‚ß‚ñBŒ¾—tŠÔˆá‚¦‚Ä‚½Ajit‰»‚¾B‚µ‚Ì‚¤B

68:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/11/24 21:41
>>67
JIT‚Ë@IBMŽÐ‚̃eƒNƒmƒƒW‚Á‚·‚Ë
JIT‚ŃlƒCƒeƒBƒu‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Á‚Ä
‚ ‚È‚½‚̊‹«‚ł͂ǂ±‚É’u‚©‚ê‚é‚Ì?


69:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/08 02:36


70:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/08 02:36


71:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/08 02:36


72:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/11 23:56
hoshu

73:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/12 02:42
JINI‚̃XƒŒ‚Í‚±‚±‚Å‚·‚©H

74:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/12 05:16
>>68
JIT ‚Á‚ÄŒ¾‚¦‚ÎŽñ“¡Ž‚Ì shujit ‚Å‚ÍH

75:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/26 22:22
jfieldID fid = env->GetFieldID(cls, fname, "I");
‚ÅINTŒ^‚̂ȂçƒtƒB[ƒ‹ƒhID‚ð‚Æ‚ê‚é‚ñ‚Å‚·‚ª
jfieldID fid = env->GetFieldID(cls, fname, "L");
ƒIƒuƒWƒFƒNƒgŒ^‚Ì‚ª‚Æ‚ê‚Ü‚¹‚ñB
‚Ç‚¤‚·‚ê‚΂æ‚낵‚¢‚©H



76:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/26 22:32
JNDI‚Á‚Ä’m‚Á‚Ä‚éH

77:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/26 22:35
>>76
URLØÝ¸(java.sun.com)
ƒRƒŒ‚Á‚·‚©H ‚Å‚àƒRƒŒ JNI ‚ÆŠÖŒW‚È‚¢‚æ‚ËB

78:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/26 22:45
>>75
ƒhƒLƒ…ƒƒ“ƒg‚É‚æ‚邯

>L fully-qualified-class ; Š®‘SŽw’è‚̃Nƒ‰ƒX

‚¾‚»‚¤‚¾B

79:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/26 23:01
—Ⴆ‚Î "Ljava/lang/String;" ‚Æ‚©‚â‚é‚Ý‚½‚¢A‚½‚Ô‚ñB

80:JavaŒR‘‚
02/12/27 04:18
‚Ü‚¸•’ʂɈê–{JavaƒAƒvƒŠ‚±‚µ‚炦‚ÄA‚»‚ê‚ð‚»‚ÌŒãAƒKƒbƒcƒ“ƒKƒbƒcƒ“‚̃LƒbƒŠƒLƒŠ‚É
JNI‚É’u‚«Š·‚¦‚Ä...‚Æ‚¢‚¤‚©‘S‚Ä’†gDLL‚É‘}‚°‘Ö‚¦‚ÄAÅI“I‚É static void main‚ÆA
‚»‚±‚©‚ç˜A‚È‚éˆê˜A‚̃ƒ\ƒbƒh‚̃Cƒ“ƒ^ƒtƒF[ƒX‚¾‚¯‚ðJava‚Æ‚µ‚ÄŽc‚·B
‚Â[‚©AƒGƒ“ƒgƒŠˆÈŠO‚Ù‚Ú‘S‚Änative錾B
....‚Á‚Ä‚¢‚¤‹­Š­‚Ü‚ª‚¢‚̃R[ƒh‚ª‘‚«‚½‚¢B‚¢‚âA‚Þ‚µ‚ëˆê“x‘‚¢‚Ă݂½‚¢B

write once , run here only.

81:JavaŒR‘‚
02/12/27 04:23
‚¿‚Ȃ݂ÉA“–‘RDLL“à‚ł̓o[ƒWƒ‡ƒ“‚ÌŒÀ’肳‚ꂽMFCƒ‰ƒ“ƒ^ƒCƒ€‚âA
‰½‚©‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚È‚¢‚Æâ‘΂ɃCƒ“ƒXƒg[ƒ‹‚³‚ê‚È‚¢COM‚ð
ƒMƒ…ƒDƒIƒ“ƒMƒ…ƒDƒIƒ“‚ÉŽg—pB

write once , run now.

82:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/27 04:25
write once, debug anywhere

83:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/27 04:54
>>80
>ÅI“I‚É static void main‚Æ
cB
‚â‚肽‚«‚á‚â‚ê‚ÎH
GC ‚Æ‚©–¼‘O‚É‚æ‚é“®“IƒoƒCƒ“ƒfƒBƒ“ƒO‚Æ‚©‚̉¶Œb‚ð
‘S•” omit ‚·‚é‚È‚ç Java ‚Å‚â‚é•K—v‚È‚¢‚µB

84:JavaŒR‘‚
02/12/27 05:12
>>83
ŒäˆÓII@‚Ü‚³‚É‚¨‚Á‚µ‚á‚é’Ê‚èƒBƒbII
‚Æ‚¢‚¤‚æ‚èA‚·‚Å‚ÉJava‚Å–³‚µƒbƒbƒbII

85:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/27 05:17
>>80
‚»‚ꂾ‚Á‚½‚ç CŒ¾Œê ‚̃\[ƒX‚ðJava‚̃oƒCƒgƒR[ƒh‚É—Ž‚Æ‚¹‚éƒRƒ“ƒpƒCƒ‰‚Æ‚©‘‚¢‚½•û‚ª–Ê”’‚»‚¤B

86:JavaŒR‘‚
02/12/27 05:23
>>85
‘f°‚炵‚¢ƒBƒBƒbII@‘à’·ƒbII
‘Sƒb‘RˆÓ–¡‚Ì–³‚¢ƒVƒƒ‚ƒm‚¾‚ªAƒCƒCƒbI

Ž©•ªA‘‚¢‚Ă݂½‚¢‚Å‚ ‚è‚Ü‚·ƒbI@‚Å‚àŽdŽ–—Ê‚ªƒ}ƒW”¼’[–³ƒF¨‚¢‚É
‚Ȃ肻‚¤‚ÅAQ¬•Ö‚µ‚»‚¤‚Å‚ ‚è‚Ü‚·ƒbI

87:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/27 06:59
‚ӂ‚¤‚ÉC‚â‚çC++‚Å‘‚¢‚ÄA‚»‚ê‚ðAmain()‚¾‚¯‚ðƒGƒNƒXƒ|[ƒg‚·‚édll‚É‚µ‚ÄA
java‚Ìmain‚©‚çƒLƒbƒN‚·‚ê‚΂¦‚¦‚â‚ñB

88:JavaŒR‘‚
02/12/27 08:20
>>87
i߇™ß jÂÏÝÈ

89:JavaŒR‘‚
02/12/28 01:07
>>88 © ”Þ‚ÍŽ©•ª‚ł͖³‚¢‚Å‚ ‚è‚Ü‚·ƒbƒbII
‚Å‚àA‚»‚ê‚ł͂‚܂ñ‚È‚¢‚Æ‚¢‚¤Ž–‚ɂ͓°‚Ä“¯ˆÓ‚Å‚ ‚è‚Ü‚·ƒbƒbII


90:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:08
>>87
‚Á‚Â[‚© Runtime.exec() ‚Å(ˆÈ‰º—ª)
‘f’¼‚ɃlƒCƒeƒBƒuƒAƒvƒŠ‚É(ˆÈ‰º—ª)

91:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:13
>>90
Runtime.exec()‚ɂ͓·ˆß‚Å‚·‚ªA
JavaƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃vƒ‰ƒOƒCƒ“‚Æ‚µ‚ălƒCƒeƒBƒuƒAƒvƒŠ
ƒP[ƒVƒ‡ƒ“‚ðƒR[ƒ‹‚·‚é‚Á‚Ä‚¢‚¤‚Ì‚ÍA‚ ‚é‚Ì‚©‚à‚ËB

92:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:15
anywhere‚Årun‚µ‚È‚¢‚¯‚Ç‚ËB

93:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:16
‚»‚ñ‚È‚ÉA‚܂Ƃà‚ȃ\ƒtƒg‚‚­‚肽‚¢‚ñ‚Ȃ炳A‚«‚Á‚Ï‚èJavaŽÌ‚Ä‚½‚çH

94:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:17
>>93
JavaŽÌ‚Ä‚Ä ‰½Žg‚Á‚½‚ç—Ç‚¢‚Å‚µ‚傤‚©H

95:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:20
>>92
JNI‚ðŽg‚¤‚Æ‚¢‚¤‘O’ñ‚ł̘b‚É‚»‚¤‚¢‚¤“Ë‚Áž‚Ý‚µ‚Ü‚·‚©c

96:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:27
>>95
JNIŽg‚¤ != run anywhere ‚¶‚á‚È‚¢‚悤‚ÈB
Java ‚Ì•W€ƒ‰ƒCƒuƒ‰ƒŠ‚¾‚Á‚Ä JNI Žg‚Á‚Ä‚ñ‚¾‚µB

97:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:28
>>93
ƒ`ƒƒƒ“ƒ|ƒ“‚µ‚ëB
‚È‚ñ‚Å‚à‚‚©‚¦B
‚¢‚¢‚Æ‚±‚Ç‚èB


98:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:28
>>94
C#Žg‚Á‚½‚ç‚Ç‚¤‚¾H
‚»‚ê‚Å‚à‚µJava‚Æ“¯‚¶‚悤‚É•³‚¾‚Ƃ킩‚Á‚½‚çA
‚»‚Ì ‚ɂ͎Ÿ‚ÌŒ¾Œê‚ªo‚Ă邩‚çAVŒ¾Œê‚Éæ‚芷‚¦‚ëB

99:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:29
>>98
‚»‚ê‚Á‚ĉ„X‚Æ•³Œ¾ŒêŽg‚¢‘±‚¯‚é‚Á‚Ä‘I‘ðŽˆ‚Å‚·‚©H

100:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:31
>>96
‚Ç‚ñ‚ȃ{ƒP‚Å‚·‚©H
ƒ†[ƒU‚ªŸŽè‚Éì‚éJNI!=Run Anywhere‚Íí‚ɬ—§ƒfƒXƒˆB

101:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:31
>>85
C‚ðJava‚ɕϊ·‚·‚é‚È‚ñ‚ĂƂĂà—eˆÕ‚ɂł«‚邱‚Æ‚¾‚Ƃ͎v‚¦‚È‚¢‚¼B
ƒ|ƒCƒ“ƒ^AƒAƒhƒŒƒX‘€ì‚à‘å•Ï‚¾‚µA
ƒƒ‚ƒŠƒŠ[ƒNA”z—ñ‚̃oƒbƒtƒ@[ƒI[ƒo[ƒtƒ[‹N‚±‚·‚±‚Æ‚ª‚Å‚«‚éCƒ\[ƒX‚ð‚»‚Ì‚Ü‚Ü
Java‚ɕϊ·‚µ‚Ä‚à“®‚©‚È‚¢‚µB

C‚Ì\‘¢‘Ì‚ðJava‚ɕϊ·‚·‚邯ƒtƒB[ƒ‹ƒh‚ª‚·‚ׂÄpublicA‚¾‚ª’lŒ^B
\‘¢‘̂ւÌ\‘¢‘Ì‚à’lŒ^‚Å‚ ‚é‚©‚çA
‚»‚ê‚ðƒNƒ‰ƒX‚Ì’†‚É‚ ‚éƒNƒ‰ƒX(ƒNƒ‰ƒX‚ÌW–ñ)‚Æ‚µ‚ĕϊ·‚µ‚Ä‚à
‚Ç‚¤l‚¦‚½‚Á‚Ä‚»‚̂܂ñ‚܂ł̓Gƒ‰[B
Java‚ł̓Nƒ‰ƒX(ƒIƒuƒWƒFƒNƒg)‚Í‚·‚ׂĎQÆŒ^‚ÆŒˆ‚Ü‚Á‚Ä‚¢‚é‚©‚ç‚ËB
•ÏŠ·‚µ‚½‚¢Cƒ\[ƒX‚ÉC++ƒR[ƒh‚¢‚ꂽ‚ç‚Æ‚ñ‚Å‚à‚È‚¢‚±‚ƂɂȂ肻‚¤‚¾‚ËB

‚Ù‚©‚É‚à—eˆÕ‚łȂ¢——R‚͂܂¾‚Ü‚¾‚ ‚é‚ñ‚¾‚¯‚ÇA‚«‚肪‚È‚¢‚©‚炱‚ê‚­‚ç‚¢‚É‚µ‚Ä‚¨‚±‚¤B

C‚ðJava‚ÉŽ©“®•ÏŠ·‚·‚é‚È‚ñ‚ÄŒ»ó‚ł͂܂¾Œ»ŽÀ“I‚Ƃ͎v‚¦‚È‚¢‚ÈB
Java‚ðC‚ɕϊ·‚·‚é‚̂͊ȒP‚¾‚¯‚Ç‚»‚Ì‹t‚Í—eˆÕ‚łȂ¢A‚Æ‚¢‚¤‚©A
•s‰Â‹t”½‰ž‚Å‚·B‚»‚ꂾ‚¯Java‚ª®‘R‚Æ‚µ‚½‚·‚Á‚«‚è‚Æ‚µ‚½Œ¾Œê‚Á‚Ä‚±‚Æ‚¾‚ËB

Java‚ðC#‚ɕϊ·‚·‚éJUMP to .NET ‚Å‚·‚ç•ÏŠ·‚ª‚¤‚Ü‚­‚¢‚©‚È‚¢‚±‚Æ‚ª‚ ‚èA
RMIŽg‚Á‚Ä‚¢‚éJavaƒ\[ƒX‚âˆê•”‚ÌJava“ÆŽ©‚̃‰ƒCƒuƒ‰ƒŠ‚ðC#‚ɕϊ·‚Å‚«‚È‚¢‚Æ‚¢‚¤‚µB

‚ ‚é’ö“x‚ÍŽ©•ª‚Å‘‚«’¼‚µ‚½•û‚ª‘‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈB

102:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:33
>>101
‹t‚Íì‚Á‚Ä‚éƒqƒg‚½‚܂ɂ¢‚é‚ËB

103:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:34
>>101
‘O‹´˜aÆ‚³‚ñ‚ª‚»‚¤‚¢‚¤ƒRƒ“ƒpƒCƒ‰ì‚é˜b‘è‚ðWeb‚É‘‚¢‚ĂȂ©‚Á‚½‚¯H

104:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:39
>>101
CŒ¾Œêƒ\[ƒX -> Javaƒ\[ƒX ‚¶‚á‚È‚­‚Ä
CŒ¾Œêƒ\[ƒX -> JavaƒoƒCƒgƒR[ƒh ‚¾‚Á‚½‚ço—ˆ‚é‚ñ‚¶‚á‚È‚¢H

‚»‚ê‚É CŒ¾Œêƒ\[ƒX -> Javaƒ\[ƒX ‚¾‚Á‚½‚ç
‰Â•Ï’·ˆø”‚̈—‚Æ‚©‚à–³—‚Á‚Û‚¢‚µB

105:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:50
C‚ðƒAƒZƒ“ƒuƒŠ‚âƒ}ƒVƒ“Œê‚É‚Ío—ˆ‚Ä‚à
ƒAƒZƒ“ƒuƒŠ‚âƒ}ƒVƒ“Œê‚ðC‚É‚Ío—ˆ‚ñ‚Å‚µ‚åB
Java~‚ɂ͂»‚ñ‚È‚±‚Æ‚à‚í‚©‚ç‚ñ‚ÌH

106:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 01:53
>>105
‚‚܂èAŒN‚ɂ͗‰ð‚Å‚«‚È‚©‚Á‚½‚ÆB

107:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 02:11
>>106 ‚킯‚í‚©‚ç‚ñ

108:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 02:22
>>105
C‚ðJava‚É‚·‚éƒRƒ“ƒo[ƒ^‚ðì‚é‚͖̂³—‚¾‚¯‚Ç
Java‚ÅC‚ðƒGƒ~ƒ…ƒŒ[ƒg‚·‚é‚͖̂³—‚¶‚á‚È‚¢‚Á‚ÄŽ–‚Å‚ÍH

109:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 04:48
Windows‚ŃŒƒWƒXƒgƒŠ‚ɃAƒNƒZƒX‚µ‚½‚¢‚Æ‚«‚ÉŽg‚Á‚Ä‚½B
‚Ü‚ A‚¹‚¢‚º‚¢ƒCƒ“ƒXƒg[ƒ‹ƒpƒX‚ðŒ©‚é‚®‚ç‚¢‚¾‚¯‚ÇB
ŒãAƒCƒxƒ“ƒgƒƒO‚Ìo—Í‚É log4j ‚ðŽg‚Á‚½‚ñ‚¾‚ªA“à•”
‚Å‚ÍJNIŒo—R‚ÅDLLŒÄ‚Ño‚µ‚µ‚Ä‚½‚ÈB¬‹Z“I‚ÉŽg‚¤‚Ì‚ª
‚¢‚¢Š´‚¶B


110:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 05:16
>>104
‰Â•Ï’·ˆø”‚È‚çA
‰Â•Ï’·ˆø”‚ð‚ ‚ç‚í‚·‚±‚ñ‚ȃNƒ‰ƒX‚ð‚‚­‚ê‚΂¢‚¢‚ñ‚¶‚á‚È‚¢‚©?
import java.util.Vector;

public class VariableLengthArgument {
private int number;
private Vector vector;
public VariableLengthArgument(){
number = 0;;
}

public void add(Object obj){
vector.add(obj);
number++;
}

public Object get(int index){
return vector.elementAt(index);
}

public int getNumber(){
return number;
}
}

111:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 05:42
>>110
‚»‚ꂾ‚Á‚½‚ç‘f’¼‚É Vector Žg‚Á‚½•û‚ª‘‚¢B

112:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 06:03
>>110
Vector#add(Object) Žg‚Á‚Ă邩‚ÆŽv‚¦‚ÎA
Vector#elementAt(int) Žg‚Á‚Ä‚éB“ˆê«–³‚¢‚æB

JDK1.1 ‚Ƃ̌݊·«‹C‚É‚·‚é‚È‚ç
Vector#addElement(Object)
Vector#elementAt(int)

JDK1.1 ˆÈ‘O‚¨’f‚è‚È‚ç
Vector#add(Object)
Vector#get(int)

‚ ‚ÆAnumber ˆÓ–¡‚È‚µ‚¶‚á‚È‚¢H
vector.size() Žg‚¦‚΂悳‚°‚¾‚µB
‚Â[‚©A >>111 ‚ÌŒ¾‚¤‚Æ‚¨‚è ƒNƒ‰ƒXì‚邾‚¯–³‘Ê‚Á‚Û‚¢B

113:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 06:28
>>110
‚¨‚Ü‚¯‚É vector ‚ª null ‚̂܂ñ‚Ü‚¾‚©‚ç
add ‚© get ‚Å NullPointerException H‚炤‚µB

114:JavaŒR‘‚
02/12/28 11:30
>>110
„‰Â•Ï’·ˆø”‚ð‚ ‚ç‚í‚·‚±‚ñ‚ȃNƒ‰ƒX‚ð‚‚­‚ê‚΂¢‚¢‚ñ‚¶‚á‚È‚¢‚©?

‚»‚̃Nƒ‰ƒX‚ð‚»‚Ì—l‚ɂǂ¤‚µ‚Ä‚àì‚肽‚¢‚È‚çA‚Þ‚µ‚ë extends Vector !!
‚Ä‚¢‚¤‚©Aimplements Collection ‚µ‚½•Ê‚à‚Ì‚ð—pˆÓII
‚½‚¾‚µ‚»‚Ìê‡A“à•”ŽÀ‘•‚Í >>111Ž‚ÌŒ¾‚¤‚悤‚É Vector‚Ƃ܂Á‚½‚­“¯‚¶ƒbƒbII

‚Æ‚¢‚¤‚©Ž©•ª‚È‚ç‚Þ‚µ‚ëAprivateƒƒ“ƒo‚Æ‚µ‚ÄVector‚ðŽ‚½‚¸A•’ʂ̔z—ñ‚ð
Ž‚Â‚Å‚ ‚è‚Ü‚·I‚»‚µ‚ÄAjava.lang.reflect.Array ‚Å newInstance‚µ‚Ä
‚Ü‚é‚Åconcat‚·‚邿‚¤‚Ȉ—‚ðƒƒUƒƒUŽÀ‘•‚·‚é‚Å‚ ‚è‚Ü‚·II

‚³‚ç‚É‚±‚Ìê‡A“à•”“I‚ɂ͂½‚¾‚Ì”z—ñ‚Ȃ̂ÅA
‚‚¢‚Å‚ÉA java.util.Comparator ‚ð@implements‚µ‚½•ʃNƒ‰ƒX‚ð—pˆÓ‚µA
‰½‚©—p‚ª‚ ‚éê‡A
java.util.Arrays.binarySearch(..)(ƒXƒ^ƒƒ\)‚̈ø”‚Æ‚µ‚ÄŽg‚¢A
‚»‚ÌComparator ‚ðŒp‚¢‚¾ƒNƒ‰ƒX‚Ì’†‚ÅA“n‚³‚ꂽu”z—ñ‚Ì—v‘fv‚ðƒOƒŠƒ“ƒOƒŠƒ“‚É
‚¢‚¶‚è‚܂킷ˆ—‚ð‘‚«‚½‚¢‚ÆŽv‚¢‚Ü‚·ƒbƒbIII
i—v‚·‚é‚ÉComparator‚Å‚ ‚Á‚ÄAComparator‚Å–³‚µIIŽÀ‘•‚Ìã‚°‘«Žæ‚èIj

—v‚·‚é‚ÉhbinarySearchh‚Æ‚¢‚¤‹¿‚«‚Ƀ]ƒbƒRƒ“™‚k‚n‚u‚d‚Å‚ ‚è‚Ü‚·II


115:JavaŒR‘‚
02/12/28 11:42
>>114 ‚É’Ç‹L‚Å‚ ‚è‚Ü‚·II
‚¿‚Ȃ݂ɂ±‚ÌŽÀ‘•‚ÍAu‚±‚¤‚µ‚½‚ç‚¿‚å‚Á‚Ƃ͑‚­‚Ȃ邩‚àv‚Æ‚¢‚¤
Ž©•ª‚Ì–Ï‘z‚ÌŽY•¨‚Å‚ ‚è‚Ü‚·II

Vector‚ÉŠi”[‚³‚ꂽ‰½‚ç‚©‚̃IƒuƒWƒFƒNƒgAi“Á‚É VOID* ‚̂‚à‚è‚̈ø”j
‚ɑΈ‚·‚鎞‚âAunion ‚È struct‚̃ƒ“ƒo‚ɑΈ‚·‚鎞‚ÉA‚¢‚¿‚¢‚¿ Vector‚©‚çget‚µ‚Ä
getClass() ‚µ‚Ä”»’è‚·‚é‚Ì‚ª‚È‚ñ‚ƂȂ­’x‚»‚¤‚¾‚ÆŽv‚Á‚½‚̂ł ‚è‚Ü‚·II

ŒÌ‚ɃbƒbIII “Ë‚Áž‚ÝŠ–žÚ‚©‚à‚µ‚ê‚È‚¢‚Å‚ ‚è‚Ü‚·ƒbƒbIIII

116:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 17:30
>>111-113
ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Å new Vector‚µ‚Ä‚¢‚È‚©‚Á‚½B
Šm‚©‚Énumber‚¢‚ç‚È‚¢‚©B

Vector‚»‚̂܂܎g‚Á‚Ä‚à‚¢‚¢‚¯‚ÇA
‚»‚±‚É“ü‚é‚͉̂•ϒ·ˆø”‚݂̂ł ‚邱‚Æ‚ðˆÓޝ‚·‚邽‚ß‚É
•ʂɃNƒ‰ƒX—pˆÓ‚µ‚½•û‚ª‚¢‚¢‚©‚ȂƎv‚Á‚½B

‚ ‚ÆA >>114-115@‚ÌŒ¾‚¤‚Æ‚¨‚èAˆø”–³‚µvoid‚É‚à‘Ήž‚³‚¹‚邽‚߂̎è’i‚à
•K—v‚©‚È‚ÆB
@add()ƒƒ\ƒbƒh‚ª“®‚­‚Ü‚Åget()‚·‚邯ƒfƒtƒHƒ‹ƒg‚Åvoidó‘Ô
@remove()ƒƒ\ƒbƒh‚Å‘S•”Á‚µ‚Äget()‚·‚邯voidó‘Ô‚ð•Ô‚·
‚ÈŠ´‚¶‚ÉB

URLØÝ¸(www.gimlay.org)
‚ðŒ©‚é‚Æ‚â‚Á‚Ï‚èƒNƒ‰ƒXì‚Á‚½•û‚ª‚¢‚¢‚©‚È‚ÆB
ˆø”‚̃TƒCƒY‚ÌãŒÀ‚Í255, long, double‚ª“ü‚Á‚½ê‡‚Í2ŒÂ•ª‚Æ‚µ‚ÄŒvŽZB
‚±‚ê‚ç‚ÌU‚蕪‚¯ˆ—‚ðaddƒƒ\ƒbƒh‚ɒljÁ‚µ‚½•û‚ª‚¢‚¢‚©‚ÈB

JDK1.1ˆÈ‘O‚¨’f‚è‚Åadd,getŒÀ’è‚É‚µ‚Ü‚·‚©B
(.Net~‚âJ++/J#~‚©‚ç‚·‚邯‚¨’f‚è‚É‚·‚é‚Ȃƌ¾‚¢‚»‚¤)


117:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 17:37
public class Point3d {
@@@@public double x;
@@@@public double y;
@@@@public double z;

@@@@...

@@@@public void add(Point3d p) {
@@@@@@@@this.x += p.x;
@@@@@@@@this.y += p.y;
@@@@@@@@this.z += p.z;
@@@@}

@@@@...
}

‚±‚Ìaddƒƒ\ƒbƒh’ö“x‚Ì‚à‚Ì‚ðnative‚Å‘‚¢‚½ê‡‚Ƃǂ¿‚炪‘¬‚¢‚ñ‚Å‚·‚©‚ËH
‚»‚¤‚¢‚Á‚½‚±‚Æ‚ðŽŽ‚µ‚½ƒTƒCƒg‚ ‚è‚Ü‚¹‚ñ‚©H

118:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/28 18:17
Ì‚ÌJavaƒRƒ“ƒpƒCƒ‰‚ÍC‚ւ̃Rƒ“ƒo[ƒ^‚¾‚Á‚½‚ñ‚¾‚æ‚Ë

119:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/29 12:50
>>117 ‚»‚±‚܂ŃR[ƒfƒBƒ“ƒO‚µ‚½‚Ȃ玩•ª‚ÅŽŽ‚¹‚΂¢‚¢‚¾‚ë

120:JavaŒR‘‚
02/12/29 19:25
>>117
„‚±‚Ìaddƒƒ\ƒbƒh’ö“x‚Ì‚à‚Ì‚ðnative‚Å‘‚¢‚½ê‡‚Ƃǂ¿‚炪‘¬‚¢‚ñ‚Å‚·‚©‚ËH

‚±‚Ìunative‚Å‘‚¢‚½ê‡v‚Æ‚ÍA‚±‚̃XƒŒ‚ÌŽåŽ|‚©‚çl‚¦‚é‚ÉA“–‘R
u‚±‚̃ƒ\ƒbƒh‚ɂ‚¢‚ÄvAuJNI‚ðŽg—p‚·‚évŽ–‚ð‘z‘œ‚µ‚Ä‚¢‚é‚à‚̂Ǝv‚í‚ê‚邪A
‚»‚Ìê‡Aˆ—‘¬“x‚Ì‘‚¢’x‚¢‚ðŒˆ‚ß‚éƒ|ƒCƒ“ƒg‚ÍAŽå‚Ɉȉº‚Ì‚Q“_‚É‚È‚é‚ÆŽv‚í‚ê‚Ü‚·ƒbƒbII

‚Pj‚ǂꂾ‚¯‚±‚̃ƒ\ƒbƒh‚Ì’†‚ÅŠ®Œ‹‚µ‚Ä‚¢‚鈗‚Ì—Ê‚ª‚ ‚éi‘½‚¢j‚©
‚Qj‚±‚Ìnative錾‚³‚ꂽƒƒ\ƒbƒh‚ÌŽÀ‘ÌiDLLj‚ªA‚ǂꂾ‚¯Java‚̃IƒuƒWƒFƒNƒg‚ð—˜—p‚·‚é‚©

‚P‚ɂ‚¢‚ÄA‚»‚ꂪu‚¢‚â[‚±‚ꂪ‚à‚¤–{“–‚Ƀ‹[ƒv•”•ª‚Æ‚©‘sâ‚ȃlƒXƒg‚Å‚®[‚é‚®‚é‚È‚ñ‚Å‚·‚æv
‚¾‚Á‚½ê‡A‘‚­‚Ȃ邩‚à‚µ‚ê‚È‚¢‚ÆŽv‚í‚ê‚Ü‚·I‚»‚µ‚ÄA‚±‚±‚Æ‚àŠÖ‚í‚é˜b‚Å‚ ‚è‚Ü‚·‚ªA
‚Q‚ɂ‚¢‚ÄAu‚¢‚â[’†‚̈—‚Í–w‚Ǖʂ̃IƒuƒWƒFƒNƒg(Java‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX)‚̃ƒ\ƒbƒhŒÄ‚т܂­‚è‚È‚ñ‚Å‚·‚æv
‚¾‚ÆA‚©‚¦‚Á‚Ä’x‚­‚Ȃ邩A‚ ‚é‚¢‚Í‚ ‚ñ‚Ü‚è•Ï‚í‚ç‚È‚¢‰Â”\«‚ª‚‚¢‚ÆŽv‚í‚ê‚Ü‚·II

‚È‚º‚È‚çIDLL‘¤‚Ŏ󂯎æ‚éJava‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍAƒvƒŠƒ~ƒeƒBƒuŒ^(‚±‚Ìꇂ̓‰ƒbƒp[)‚àŠÜ‚ß‚ÄA
‘S‚Ä‚¢‚¿‚¢‚¿FindClass‚µ‚Ä’T‚µo‚³‚È‚¯‚ê‚΂Ȃç‚È‚¢‚©‚ç‚Å‚ ‚è‚Ü‚·I

ŽQl«
URLØÝ¸(java.sun.com)

121:JavaŒR‘‚
02/12/29 19:26
ŠÈ’P‚ÉŒ¾‚Á‚Ä‚µ‚Ü‚¦‚ÎAuCOM‚ðŽg‚¤‚Á‚Û‚¢Š´‚¶v‚Å‚ ‚è‚Ü‚·ƒbƒbII

122:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/30 03:34
>>120
‚»‚ꂾ‚Æ¡‰ñ‚Ì add ‚ð JNI ‰»‚µ‚Ä‚à’x‚­‚È‚é‰Â”\«‚Ì‚ª‚‚»‚¤‚¾‚ËB

123:JavaŒR‘‚
02/12/30 17:41
>>122
ŒäˆÓƒbI

124:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/31 16:47
>>122
‚Þ‚µ‚ë‚Ù‚ÚŠmŽÀB
ŋ߂ÍAƒoƒCƒgƒR[ƒhŽÀs‘¬“x‚Ì㸂ª‚ß‚´‚Ü‚µ‚¢‚½‚ß
JNIŒÄ‚Ño‚µ‚É‚©‚©‚éƒI[ƒoƒwƒbƒh‚Ì•û‚ª‘å‚«‚­‚Ȃ邱‚Æ‚ª‘½‚¢
‚æ‚قǑ傫‚ȃ^ƒXƒN‚łȂ¢ŒÀ‚èJava‚ÅŠ®Œ‹‚µ‚½‚Ù‚¤‚ª‘¬‚¢‚ÆŽv‚í‚ê‚éB
‚±‚̃XƒŒ‚ÌŽïŽ|‚Æ^‚ÁŒü‚©‚ç‘Η§‚·‚é˜b‚¾‚¯‚Ç‚ÈB

125:JavaŒR‘‚
02/12/31 17:25
>>124Ž
³‚ɃbƒbII

JNI‚ðu‘¬“x‚ð‹‚ß‚Äv‚ ‚é‚¢‚ÍuJava‚Å—˜—p‚Å‚«‚È‚¢‹@”\v‚ðŽÀŒ»‚·‚éŽè’i‚Æ‚µ‚ij‚µ‚­ŽÀ‘•‚µ‚½‚¢‚ÆŽv‚¤‚È‚çA
•ςȌ¾‚¢•û‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªAŽ©•ª‚ªŽv‚¤‚ÉA
u‚»‚ÌJavaƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃AƒhƒCƒ““I‚È—§ê‚Æ‚µ‚ÄvŽÀ‘•‚·‚é‚Ì‚ª‹g‚ł͂Ȃ¢‚©‚ÆŽv‚í‚ê‚Ü‚·ƒbƒbII

‚‚܂èAu‚±‚Ìnative‚ȃ„ƒc‚ÍAʼn‚̈ø”Žó‚¯Žæ‚èˆÈ~A‚ ‚é‚¢‚ÍÅŒã‚Ì–ß‚è’lˆÈ‘O‚Ì•”•ª‚ªAŒ‹\d‚¢
i‚ ‚é‚¢‚̓vƒ‰ƒbƒgƒtƒH[ƒ€ŒÅ—L‚̈—‚΂Á‚©‚Èj‚ñƒX‚æBv‚ÅA‚©‚Â
u‚¢‚âA‚±‚ê‚Í‚±‚±‚ÅŠ®Œ‹‚µ‚Ä‚é‚ñ‚ÅAJVM‚É–À˜f‚©‚¯‚È‚¢ƒX‚æv‚Å‚ ‚éꇂÉA
‰‚߂Ă»‚ÌŒø”\‚ª“¾‚ç‚ê‚é‚̂ł͂Ȃ¢‚©A‚ÆB

‚»‚¤‚Å–³‚¢ê‡A124Ž‚ÌŒ¾‚í‚ê‚邿‚¤‚ÉAJava‚ÅŠ®Œ‹‚·‚é‚Ì‚ªA–{—ˆ‚Í‹g‚Å‚ ‚邯
Žv‚í‚ê‚Ü‚·ƒbƒbII

126:C++~
02/12/31 19:26
nativeƒCƒ“ƒ^[ƒtƒFƒX‚Í‘¬‚¢‚Ì`H(LÍM)

127:117
02/12/31 20:03
public void add(Point3d p)Cpublic native void add(Point3d p)
‚Ì2‚‚ŎÀÛ‚É‚â‚Á‚Ă݂½‚æD
•û–@‚Í‚±‚Ìaddƒƒ\ƒbƒh‚ð100M‰ñŒÄ‚ÑC‚»‚ÌŽžŠÔ‚ðŒv‘ª‚·‚邯‚¢‚¤‚à‚ÌD
‚»‚ÌŒ‹‰ÊC‘OŽÒ‚ª40msec, native‚Ì•û‚ª‘å‘Ì4000msecD
—\‘z’Ê‚èŒÄ‚Ño‚µ‚È‚ñ‚©‚̃I[ƒo[ƒwƒbƒh‚ª‘å‚«‚©‚Á‚½‚Æ‚¢‚¤‚±‚Ƃłµ‚傤‚©D
‚Æ‚¢‚¤‚±‚Æ‚Å‚à‚¤ˆê‚ÂD¡“x‚Í«‚̂悤‚È‚à‚ÌD
public void exe() {
@@@@double x = this.x;
@@@@double y = this.y;
@@@@double z = this.z;
@@@@for (int i = 0; i < 0xfffffff; i++) {
@@@@@@@@x += 1.0;
@@@@@@@@y += 1.0;
@@@@@@@@z += 1.0;
@@@@}
@@@@this.x = x;
@@@@this.y = y;
@@@@this.z = z;
}
’Pƒ‚É0xfffffff‰ñC+1.0‚·‚邾‚¯‚Ì‚à‚Ì‚¾‚¯‚ÇC
‚±‚ê‚à‚Ü‚½native‚Æ2‚Â쬂µ‚ÄC¡“x‚͈ê‰ñ‚¾‚¯ŒÄ‚ñ‚ÅŽžŠÔ‚ðŒv‘ª‚µ‚½‚à‚ÌD
‚»‚ÌŒ‹‰ÊC•’Ê‚Ìꇂª‚¨‚æ‚»5000msecCnative‚Í4000msec
‚ ‚ñ‚Ü‚è•Ï‚í‚ç‚È‚©‚Á‚½‚Å‚·‚ËD

JDK1.4/WinXP/1GHz/C++ƒRƒ“ƒpƒCƒ‰‚Í.NET‚Ì‚à‚Ìi‚æ‚­•ª‚©‚ç‚È‚¢j

JNI‚ň—‚Ì‘¬‚³‚ð‹‚ß‚é‚̂͊ԈႢ‚©‚à‚µ‚ê‚Ü‚¹‚ñD
‚æ‚Ù‚Ç•‰‰×‚Ì‚©‚©‚鈗‚Å‚à‚È‚¢ŒÀ‚èCJNI‚ÍŽg‚¤‚ׂ«‚ł͂Ȃ¢‚ÆŽv‚¢‚Ü‚µ‚½D
Java‚ł͎ÀŒ»o—ˆ‚È‚¢‚Æ‚±‚ë‚ðC‚È‚è‚ÅŽÀ‘•‚·‚邽‚߂ɂ ‚é‚Ì‚©‚à’m‚ê‚Ü‚¹‚ñD

‚¿‚Ȃ݂Ɏg—p‚µ‚½nativeƒR[ƒh‚ÍŽŸ‚Ì‘‚«ž‚ÝD

128:117
02/12/31 20:10
JNIEXPORT void JNICALL Java_Point3d_add(JNIEnv* env, jobject me, jobject p){
jclass cls = env->GetObjectClass(me);
jfieldID fid_x = env->GetFieldID(cls, "x", "D");
jfieldID fid_y = env->GetFieldID(cls, "y", "D");
jfieldID fid_z = env->GetFieldID(cls, "z", "D");
jdouble this_x = env->GetDoubleField(me, fid_x);
jdouble this_y = env->GetDoubleField(me, fid_y);
jdouble this_z = env->GetDoubleField(me, fid_z);
jdouble p_x = env->GetDoubleField(p, fid_x);
jdouble p_y = env->GetDoubleField(p, fid_y);
jdouble p_z = env->GetDoubleField(p, fid_z);
env->SetDoubleField(me, fid_x, this_x+p_x);
env->SetDoubleField(me, fid_y, this_y+p_y);
env->SetDoubleField(me, fid_z, this_z+p_z);
}

JNIEXPORT void JNICALL Java_Point3d_exe(JNIEnv* env, jobject me){
jclass cls = env->GetObjectClass(me);
jfieldID fid_x = env->GetFieldID(cls, "x", "D");jfieldID fid_y = env->GetFieldID(cls, "y", "D");jfieldID fid_z = env->GetFieldID(cls, "z", "D");
jdouble x = env->GetDoubleField(me, fid_x);jdouble y = env->GetDoubleField(me, fid_y);jdouble z = env->GetDoubleField(me, fid_z);
for (int i = 0; i < 0xfffffff; i++) {
@@@@x += 1.0;
@@@@y += 1.0;
@@@@z += 1.0;
}
env->SetDoubleField(me, fid_x, (jdouble) x);
env->SetDoubleField(me, fid_y, (jdouble) y);
env->SetDoubleField(me, fid_z, (jdouble) z);
}

this.x += p.x;‚ðŽÀ‘•‚·‚邽‚¯‚łં̂悤‚ȃR[ƒh‚ª•K—v‚Á‚Û‚¢D
‚È‚ñ‚©‘¼‚É‚¢‚¢•û–@‚È‚¢‚Å‚·‚©‚ËH

129:117
02/12/31 20:12
>>127‚Ì‘‚«ž‚Ý’ù³
~ 100M‰ñ
› 1M‰ñ

130:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
02/12/31 20:20
>>127-129
ƒŒƒ|[ƒg‚²‹ê˜J—l‚Á‚·B

131:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/02 14:46
>>128
GetObjectClass‚ÆGetMethodID‚͈ê‰ñ‚Å‚¢‚¢‚Í‚¸
‚È‚ñ‚Ç‚à‚â‚é‚͖̂³‘Ê

132:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 10:28
GetFieldID ‚ð init ‚É’Ç‚¢o‚µ‚ă`ƒFƒbƒN‚µ‚Ă݂½‚ç
100M‰ñ‚Ì”äŠr‚Å
Point3D.add::4536ms
Point3D.addNative::128084ms
Point3D.addNativeWithGetFieldID::459834ms

‚¿‚È‚Ý‚É C++ ‚Å Point3D ‚ðì‚Á‚Ä‚â‚Á‚Ă݂½‚ç
Point3D->add::2684ms

‚¨‚Ü‚¯‚É Point2D ‚àì‚Á‚Ă݂½‚¯‚Ç
Point2D.add::2814ms
Point2D.addNative::86375ms
Point2D.addNativeWithGetFieldID::415858ms
Point2D->add::2614ms

133:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 11:00
GetObjectClass/GetFieldID‚͈Ă̒èd‚¢‚Ë
‚Ç‚¿‚炪d‚©‚Á‚½‚©•ª‚©‚éH

134:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 11:03
‚â‚Á‚ĂċC‚¢‚½‚ñ‚¾‚¯‚Ç jdk1.4‚Á‚Ä•‚“®¬”“_‰‰ŽZ‚ÌÅ“K‰»‚ªŠÃ‚­‚È‚Á‚Ă邩‚àH
>>132 ‚Í jdk1.4.1

jdk1.3.1
Point2D.add::3205ms
Point2D.addNative::87405ms
Point3D.add::3545ms
Point3D.addNative::125200ms

jdk1.2.2
Point2D.add::2964ms
Point2D.addNative::52155ms
Point3D.add::2714ms
Point3D.addNative::73957ms

135:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 11:23
>>133
‚Ù‚¢B‰ñ”‚Íæ‚̂Ɠ¯‚¶‚­100M‰ñB

invokeJNIMethod::4096ms
getObjectClass::12328ms
getFieldID::74877ms

136:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 11:28
>>135
ƒOƒbƒWƒ‡ƒuI
100M‰ñ‚Á‚ÄA100 * 1000 * 1000 ‰ñ‚Å‚ ‚Á‚Ă邿‚ËH

137:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 11:35
>>136
>100M‰ñ‚Á‚ÄA100 * 1000 * 1000 ‰ñ‚Å‚ ‚Á‚Ă邿‚ËH
‚»‚Ì‚Æ[‚è‚Å‚·B

138:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 15:11
>>134
•‚“®¬”“_‰‰ŽZ‚¶‚á‚È‚­‚Ä inline “WŠJ‚ÌŽd•û‚ªˆ«‚¢(?)‚Ì‚©‚à
p1.add(p2);
p2.add(p1);
‚Æ
p1.x += p2.x; p1.y += p2.y; p1.z += p2.z;
p2.x += p1.x; p2.y += p1.y; p2.z += p1.z;
‚Å‘ª’肵‚½‚ç
Point3D.add::4557ms
Ž©—ÍŒvŽZ::2694ms
‚Ý‚½‚¢‚É·‚ªo‚Ü‚µ‚½B(jdk1.4.1‚Ìê‡)
jdk‚̃o[ƒWƒ‡ƒ“‚É‚æ‚Á‚Ä‚Í ‚ ‚ñ‚Ü‚µ·‚ª–³‚©‚Á‚½‚è‚·‚é
(jdk1.2.2‚¾‚Æ‘ª’èŒë·’ö“x‚¾‚¯‚ÇŽ©—ÍŒvŽZ‚Ì‚ª’x‚©‚Á‚½‚è‚·‚é)
‚̂Ŗʔ’‚¢‚È‚ŸA‚ÆŽv‚Á‚Ă݂½‚èB

“Á‚Ƀwƒ“‚Ȃ̂ª IBM ‚Ìjdk1.3.0‚Å
class Point3D extends Point2D ‚É‚µ‚Ä
public void add( Point3D p ){
@super.add(p);
@this.z += p.z;
}
‚Æ‚©‚ä[‚Ó[‚É‚µ‚½ê‡‚ªˆê”Ô‘¬‚©‚Á‚½‚èB

‚±‚êˆÈã‚ÍHotSpot‚â‚çJIT‚â‚ç‚Ì’mޝ‚ª–³‚¢‚Æ‘ª’肵‚Ä‚àˆÓ–¡–³‚¢‚©‚àc

139:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/04 15:21
‚¤‚¤‚ÞAJIT—l‚ªƒKƒŠƒKƒŠÅ“K‰»‚µ‚½‚çA
‚Ç‚¤‘‚¢‚Ä‚à“¯‚¶‚ɂȂ肻‚¤‚È‹C‚ª‚·‚é‚ñ‚¾‚ª
‚»‚¤‚Å‚à‚È‚¢‚Ì‚©B

140:IP‹L˜^ŽÀŒ±
03/01/08 22:23
IP‹L˜^ŽÀŒ±
½ÚØÝ¸(accuse”Â)

1 –¼‘OF‚Ђë‚ä‚« Ÿ3SHRUNYAXA —‚Ç‚¤‚â‚çŠÇ—l š “Še“úF03/01/08 17:13 ID:???
‚»‚ñ‚Ȃ킯‚ÅAqbƒT[ƒo‚ÅIP‚Ì‹L˜^ŽÀŒ±‚ð‚Í‚¶‚߂܂µ‚½[B

27 –¼‘OFS“¾‚ð‚æ‚­“ǂ݂܂µ‚傤 “Še“úF03/01/08 17:20 ID:yL/kYdMc
SETTING.TXTŠÇŠ‚Å‚È‚¢‚Æ‚¢‚¤‚±‚Ƃ͑SŽI“±“ü‚ðŽ‹–ì‚ÉA‚©H

38 –¼‘OF‚Ђë‚ä‚« Ÿ3SHRUNYAXA “Še“úF03/01/08 17:22 ID:rLfxQ17l
>>27
‰s‚¢‚Å‚·B

73 –¼‘OF‚Ђë‚ä‚« Ÿ3SHRUNYAXA “Še“úF03/01/08 17:27 ID:rLfxQ17l
„‚Æ‚±‚ë‚ÅAIP‚ª”²‚©‚ê‚ĉ½‚©¡‚܂łƕςí‚邱‚Æ‚Á‚Ä‚ ‚é‚̂łµ‚傤‚©H
E¡‚܂łæ‚èAƒT[ƒo‚ªd‚­‚È‚éB
EÙ”»Š‚âŒxŽ@‚©‚ç‚ÌÆ‰ï‚ª‚ ‚Á‚½ê‡‚É‚ÍIP‚ð’ño‚·‚邱‚Æ‚ª‚ ‚éB

141:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 00:42
>>69
ƒAƒNƒZƒXƒƒO‚¶‚á‚È‚­‚Á‚Ä‘‚«ž‚Ý’PˆÊ‚Å‹L˜^‚µ‚Ä‚¢‚邾‚¯‚¾‚ë
‚»‚ñ‚Ȉê‹C‚ɂ͂ӂ¦‚Ë[‚¾‚ë

142:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 01:02
‚Ђë‚ä‚«‚̔߂µ‚¢‚Æ‚«‚ð‹³‚¦‚êB

143:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 01:21
>>422
•ʂɋC‚ɂ͂Ȃç‚È‚¢‚Å‚·‚ËB


144:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 01:33
‚Ç‚¤‚Å‚·‚©Bi L„D¼

145:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 02:09
u2ch‚ł͗ ‚ÅIP‹L˜^‚³‚ê‚Ä‚¢‚Ü‚·BIP‚𔲂©‚ꂽ‚­‚È‚¯‚ê‚Î
ƒZƒLƒ…ƒŠƒeƒBƒK[ƒh‚Écv

‚Æ‚¢‚¤ƒRƒsƒy‚ð—¬s‚点‚é‰ï@‰ï’·«

146:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 03:00
‚³‚ÄB‚Q‚¿‚á‚ñ‚Ì—¬˜Q‚Ì–¯‚ð‹zŽû‚Å‚«‚éŒfަ”ƒVƒXƒeƒ€‚ðì‚邱‚Æ‚ªo—ˆ“¾‚é‚È‚ç
‚±‚ê‚Í”ñí‚ɑ傫‚ȃrƒWƒlƒXƒ`ƒƒƒ“ƒX‚¾‚ÆŽv‚¤‚Ì‚¾‚ªB
’N‚©‚â‚êI

147:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 03:47
>>197

@‚¢‚âA‚ÜA³˜_‚ł͂ ‚é‚Ì‚¾‚¯‚Ç‚ÈBB



148:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/09 18:35
======2==C==H======================================================

@@@@@@@@@‚Q‚¿‚á‚ñ‚Ë‚é‚Ì‚¨Š©‚߂Șb‘è‚Æ
@@@@@ƒlƒbƒg‚ł̖ʔ’‚¢o—ˆŽ–‚ð”z‘—‚µ‚½‚¢‚ÆŽv‚Á‚Ă܂·BBB

===============================“ÇŽÒ”F 138720l@”­s“úF2003/1/9

”N––”NŽnƒ{ƒP‚ª‚»‚ë‚»‚ëŽû‚Ü‚èŽn‚ß‚½¡“ú‚±‚Ì‚²‚ë‚̂Ђë‚ä‚«‚Å‚·B

‚»‚ñ‚Ȃ킯‚ÅA”N––‚É—\‚µ‚½IP‹L˜^‚Å‚·‚ªŽÀŒ±‚ðŠJŽn‚µ‚Ä‚¢‚Ü‚·B

u‚Q‚¿‚á‚ñ‚Ë‚é20030107v
‚±‚ñ‚ÈŠ´‚¶‚ÅŠeŒfަ”‚Ìʼnº•”‚É“ú•t‚ª“ü‚Á‚Ä‚é‚ñ‚Å‚·‚ªA
20030107ˆÈ~‚ɂȂÁ‚Ă邯‚±‚ë‚̓ƒO‹L˜^ŽÀŒ±’†‚Å‚·[B

‚ñ‚¶‚áI

„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„ŸAge2ch„Ÿ
¡‚±‚Ì‘‚«ž‚Ý‚ÍAAge2ch‚ðŽg‚Á‚Ä”zM‚³‚ê‚Ä‚¢‚Ü‚·B
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ
Keep your thread alive !
½ÚØÝ¸(software”Â)l50
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ

149:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 00:20
>>493
‚¢‚­‚ç‚È‚ñ‚Å‚àA–³·•Ê‚ÉIPŒöŠJ‚Í‚µ‚È‚¢‚ÆŽv‚¤‚ªB

150:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 09:08
>>573
¢‚Ì’†ƒTƒˆ‚ƃlƒbƒg‚ƈ³—Í‚Åo—ˆ‚Ă邯Žv‚Á‚Ä‚¢‚邨‘O‚̂悤‚È“z‚̂ق¤‚ª
¢‚Ì’†‚ɂƂÁ‚Ă͖ð‚É—§‚½‚È‚¢

151:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 10:28
>>196
‚¢‚âA‚»‚ñ‚È‚±‚Ƃ͂Ȃ¢‚Å‚·‚æB

152:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 11:05
¼‘ºŽ‚Í
”pl‚Åá‚É“ü‚Á‚Ä“€‚Á‚Ä‚¢‚é‚©‚ÆŽv‚Á‚½‚ç‚Ü‚¾¶‚«‚Ä‚¢‚½‚ñ‚Å‚·‚ËB

153:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 11:36
‚¿‚Ȃ݂ÉAu‘–¯ƒNƒCƒYv“à‚ł͓ú–{‘Œ›–@‚ª‰ü³‚³‚êA‚±‚ñ‚Èð•¶‚ª’ljÁ‚³‚ê‚Ä‚éB
“ú–{‘Œ›–@‘æ‚P‚QÍ‚P‚O‚Sðu‘–¯ƒNƒCƒY‚Í‘Œ ‚ÌÅ‚‹@ŠÖ‚Å‚ ‚èA‚»‚ÌŒˆ’è‚Í
‘Œ ‚ÌÅ‚ˆÓŽvÅ‚–@‹K‚Æ‚µ‚ÄAs­A—§–@AŽi–@A‚»‚Ì‘¼‚ ‚ç‚ä‚é‚à‚Ì‚Éâ‘ÎA
–³§ŒÀ‚É—Dæ‚·‚év

΂¦‚邯‚±‚ë‚Ȃ̂©‚í‚©‚ç‚ñ‚ª‚R‚S˜b‚ɂ̓€ƒlƒI‚½‚ñ‚©H‚ÆŽv‚í‚ê‚é•û‚àƒJƒƒI‚µ‚Ä‚éB

154:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 11:57
Java Native Interface?

155:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 12:24
>>481
–¼—_šÊ‘¹‚őߕ߂©‚æI

‚Å‚àŠÇ—lA΂¦‚È‚¢‚ñ‚¶‚á‚È‚¢HƒRƒŒB


156:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 12:41
>>434
Œ»ŽÀ‚Ì‚à‚̂ƂȂè‚Ü‚µ‚½B

157:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 12:51
>>942
ˆê‰ž‚ ‚肪‚ÆB‚»‚ÌƒŠƒ“ƒNæ‚Ì‚P‚Ì”»Œˆ•¶––”ö‚Ìu•ÊŽ†”­Œ¾–Ú˜^v‚Á‚Ă̂ª
Œ©‚½‚¢‚킯‚È‚ñ‚¾‚¯‚ÇA‚»‚̃XƒŒ‚̂ǂÁ‚©‚ÉƒŠƒ“ƒN’£‚ç‚ê‚Ä‚é‚Ì‚©‚ÈH


158:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 15:01
Eˆ³k‚â‚È‚ñ‚©‚Ådat—Ž‚¿‚µ‚½•ª‚ðÈ‚¢‚½
E•ñ–³‚µ‚ň—‚³‚ꂽ•ª‚ðÈ‚¢‚½
E‚܂Ƃ߂ªD‚«‚ÅD‚«‚Å‚½‚Ü‚ç‚È‚¢‚܂ƂߑåD‚«‚ÁŽq‚¾‚Á‚½

159:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 16:30
‚ [‚ÌŽ–‚ËB



‘åã·À„ª„ª„ª„¡(_„D_„¡ )„¢„ª„ª„ª !!!!!

160:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 22:52
‚¨‹ß‚­‚ÌŒxŽ@‚©Ù”»Š‚Ö‚Ç‚¤‚¼„329‚³‚ñ


161:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/10 22:59
ƒjƒ…[‘¬ˆÈŠO‚Í‚¾‚¢‚½‚¢‹ø’ʂ邩‚ç
IP‹L˜^‚Í–³‘Ê–³‘ÊBBB

162:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 00:15
––ŠúÇ󂾂ÈB휖â‘è‚ð‚h‚o‹L˜^‚É‚·‚è‚©‚¦‚Ä‚éB–k’©‘N•À‚݂̌Ƒ§‚ȑΉžB

163:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 00:23
‚Ú‚¤‚₾‚©‚炳

164:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 09:48
’Þ‚è‚¶‚á‚È‚¢‚̂ȂçŽÀ‚ÉŒ»ŽÀ–¡‚̂Ȃ¢ˆÓŒ©‚¾

165:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 09:51
‚Ü‚ ‚悵‚ä‚«‚àT‘iR‚Ì”»Œˆ‚ªo‚½‚©‚ç‚ɂ̓|[ƒY‚¾‚¯‚Å‚à‚Æ‚ç‚ɂႢ‚©‚ñ‚¾‚낤B
‚æ‚قLj«Ž¿‚È”Æß—\“™‚𜂢‚Ă͂悵‚ä‚«‚Ì”»’fŽŸ‘æB–Ê“|‚­‚³‚­‚È‚Á‚½‚çA
“–Ž–ŽÒ“¯Žm‚Å–â‘è‰ðŒˆ‚µ‚Ä‚æ‚ñB‚ñ‚¶‚áI‚Á‚ÄŠ´‚¶‚¾‚낤B

166:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 10:22
======2==C==H======================================================

@@@@@@@@@‚Q‚¿‚á‚ñ‚Ë‚é‚Ì‚¨Š©‚߂Șb‘è‚Æ
@@@@@ƒlƒbƒg‚ł̖ʔ’‚¢o—ˆŽ–‚ð”z‘—‚µ‚½‚¢‚ÆŽv‚Á‚Ă܂·BBB

===============================“ÇŽÒ”F 139038l@”­s“úF2003/1/10

‚Ȃɂâ‚çA˜A“úƒƒ‹ƒ}ƒK‚¾‚µ‚Ä‚é‚Ђë‚ä‚«‚Å‚·B

‚»‚ñ‚Ȃ킯‚ÅAƒƒO‹L˜^ŽÀŒ±‚Å‚·‚ªA‚¢‚¿‚¢‚¿ƒT[ƒoŽw’è‚·‚é‚Ì‚ª–Ê“|‚Ȃ̂ÅA
‘S•”‚̃T[ƒo‚É“ü‚ê‚Ă݂܂µ‚½B

d‚­‚È‚Á‚Ä—Ž‚¿‚½‚肵‚Ä‚à‚²ˆ¤›g‚Á‚Ä‚±‚Æ‚ÅBBB

‚ñ‚¶‚áI

„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„ŸAge2ch„Ÿ
¡‚±‚Ì‘‚«ž‚Ý‚ÍAAge2ch‚ðŽg‚Á‚Ä”zM‚³‚ê‚Ä‚¢‚Ü‚·B
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ
Keep your thread alive !
½ÚØÝ¸(software”Â)l50
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ

167:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 11:16
‘å쎀‚ËI‚Æ‚©Œ‡‚¢‚½‚çŠëŒ¯‚ɂȂé‚Ì‚©‚ÈH

168:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 11:47
‰ï“¯


¦‚±‚Ì‘‚«ž‚݂̓tƒBƒNƒVƒ‡ƒ“‚Å‚·B
@ŽÀÛ‚Ì’c‘ÌEl•¨E–¯‘°“™‚Æ‚ÍˆêØŠÖŒW‚ ‚è‚Ü‚¹‚ñB

169:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 12:49

‚±‚̃XƒŒ‚ÌIP‚Æ‚Á‚Ä‘iׂ·‚é‚Ì‚¾‚¯‚ÍŽ~‚߂Ă­‚ê‚æBƒNƒ`ƒrƒ‹ƒQB
½ÚØÝ¸(kao”Â)







‚¤‚í‚Á‰½‚©ƒNƒ‰ƒbƒN‚³‚ê‚ÄŸŽè‚É•¶Í‚ªEEE‚ A‚³‚ç‚Ƀ|ƒCƒ“ƒ^‚ª‘‚«ž‚݃{ƒ^ƒ“‚ÉEEE‚ ‚í‚í‚íII

170:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 13:18
‰´‚à‚»‚¤Žv‚¤B‚‚¢‹àŽ©• ‚Å•¥‚Á‚ÄŒfަ”‚ð‰^‰c‚µ‚Ä‚Ä
‰½ˆ‚Ì’N‚©‚à’m‚ç‚ñ“z‚ªŸŽè‚È‚±‚Æ‘‚¢‚½Ž–‚É‚æ‚Á‚Ä
Ž©•ª‚ɉ΂̕²‚ª”ò‚ñ‚Å—ˆ‚½‚çA”é–§‚ðŽç‚Á‚Ä‚â‚é‹`—‚Í
‚È‚¢‚æ‚ȂЂë‚ä‚«‚É‚µ‚½‚çB

171:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 16:05
‚Ü‚Ÿ‚È‚ñ‚¾

u‚Ђë‚ä‚«‚æ@ƒ‰ƒEƒ“ƒW‚ªd‚¢‚ñ‚¾‚ªEEE‚Æ“d˜b‚µ‚Ü‚­‚Á‚Ä‘¦•½v

‚ªˆê”Ô‘‚»‚¤‚¾‚Èi˜m

172:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/11 16:11
•œŠˆ‚µ‚Ä‚¿‚å‚Á‚Æ‚¤‚ꂵ‚¢¡“ú‚̘R‚ê

173:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/12 00:12
>>IP‹L˜^

”­ƒlƒ^‚ªŒ¸­‚·‚é‚͎̂c”OB

EWTCƒeƒ‚̃Š[ƒN
E¼•”‚̼â‚Ì’“ŽÔˆá”½
E‹“÷”ƒ‚¢ã‚°‚Ì”­

“™XA
‚¢‚ë‚¢‚ë‚Æ‚¨‚¢‚µ‚¢ƒlƒ^‚ª‚ ‚Á‚½‚̂ɂȂ B
‚¨‚Ü‚¦‚ç‚Ì’m‚Á‚Ä‚é‚Q‚¿‚á‚ñ“à‚Ì”­ƒlƒ^‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢B

174:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/12 00:22
—ÇŽ¯‚ ‚é‘‚«ž‚Ý‚ð‚µ‚ë

175:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/12 03:00
‚̓sƒ“Žq‚ÌAA‚¾‚Á‚½‚Ì‚©i‚—

176:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/12 03:03
‘Å’¡‚Ì‚g‚o

177:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/12 10:32
ƒ}ƒXƒRƒ~‚Á‚Ä’Pƒ‚¾‚ËB
‚Ù‚ñ‚Æ”nŽ­‚¾‚æ‚ÈB

178:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/12 10:36
³“–«‚ð‚‚ß‚é•K—v‚Í‘S‚­‚È‚¢‚Èc ’m‚Á‚½‚©‚Ԃ肵‚Ä‚¢‚½•”»Œˆ‚·‚ç‚¿‚á‚ñ‚Ɠǂñ‚łȂ¢‚È–l‚ÍB
‚Ü‚³‚©•ÙŒìŽm‚ª‚‚¢‚Ä‚é‚Ì‚Éu–{Œ‚ɂ̓vƒƒoƒCƒ_[Ó”C–@‚ª“K—p‚³‚êC“¯–@‚̧’èŒoˆÜC‹K§”͈͓™‚ÉÆ‚ç‚·‚ÆC”킪–{ŒŠe”­Œ¾‚ð휂µ‚È‚©‚Á‚½‚±‚Ƃɂ‚«íœ‹`–±ˆá”½‚͂Ȃ¢v‚ÆŽå’£‚·‚é‚È‚ñ‚Ä펯“I‚Él‚¦‚ç‚ê‚È‚©‚Á‚½‚Ì‚Åc
Q‚Ú‚¯‚Ä‚½‚Ì‚©‚ÈH’p‚¸‚©‚µ‚¢(^^; ƒSƒƒ“ƒiƒTƒC„@231&253

179:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
03/01/12 21:12
@@@^ÜR@
@@/@@L_T`j @ ‚h‚oŽq‚Å‚·B‚æ‚낵‚±
@@|@ @@/@@@
@@| /|@|@@@
@ //@| |@@
@‚t@ .‚t



ŽŸƒy[ƒW
ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ÌŒŸõ
—ÞŽ—ƒXƒŒˆê——
˜b‘è‚̃jƒ…[ƒX
‚¨‚Ü‚©‚¹ƒŠƒXƒg
¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ
‰É‚‚Ԃµ2ch

5021“ú‘O‚ÉXV/145 KB
’S“–:undef