š‚¨‘O‚çJava‚ÍJNI‚Å‘ ..
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‚Æ‚µ‚ÄAsA—§–@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
ŽŸƒy[ƒWÅVƒŒƒX•\ަƒXƒŒƒbƒh‚ÌŒŸõ—ÞŽ—ƒXƒŒˆê——˜b‘è‚̃jƒ…[ƒX‚¨‚Ü‚©‚¹ƒŠƒXƒg¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ‰É‚‚Ԃµ2ch
5021“ú‘O‚ÉXV/145 KB
’S“–:undef