2016幎 10æ14ã15æ¥ã«ãµã³ã¯ãããã«ãã«ã¯ã§éå¬ããã
Joker 2016ã«ã³ãã¡ã¬ã³ã¹ã¯ãããããå²äžæå€§ã®ãã·ã¢èªJavaã«ã³ãã¡ã¬ã³ã¹ã«ãªããŸããã 2æ¥éã52ã®ã¬ããŒãã6ã€ã®äžŠè¡ãã©ãã¯ã40人以äžã®ã¹ããŒã«ãŒã1000人以äžã®åå è
ã

äŒè°ã®çŽåã®æéã¯éåžžã«æ³¢ä¹±ã«å¯ãã§ããã
ç§ã®æèŠã§ã¯ãäžèšã®çã®çç ã¯ã
Baruch Sadogurskyãš
Vladimir Krasilshchik ïŒã©ã¡ãã
Joker 2016ã®ã¹ããŒã«ãŒã§ãïŒãžã®ã€ã³ã¿ãã¥ãŒã§ããã
é廿°å¹Žãšæ¯èŒããŠãäŒè°ã¯æé·ããŸãã-1.5å以äžã®äžŠåãã©ãã¯ïŒ4ã€ã§ã¯ãªã6ã€ïŒã ã»ãŒåçã®ããã€ãã®ãªãã·ã§ã³ãã衚瀺ããã¬ããŒãã®éžæã¯ããã«é£ãããªããŸããã å€ãã®å Žåããèåå±ã®åäŸã§ãããšããæèŠããããŸãã-æãããçŸå³ãããéžã¶ã®ã¯é£ããã§ãã
ãã®äŒè°ã®æ°ããäŒå Žã¯ããµã³ã¯ãããã«ãã«ã¯
å芧äŒã§ãã¹ã¿ãŒãã
ãŸãã ã çŸããæ¯è²ïŒ
1ã2 ïŒãš
äž»å¬ è
ãšã®
ã¹ããŒã«ãŒ ã圌ãã®ååšã§äŒè°ã食ããŸãã
ã«ã³ãã¡ã¬ã³ã¹ãªãŒããã³ã°
äŒè°ã®ãªãŒã¬ãã€ã¶ãŒïŒAlexei FedorovãAndrei DmitrievïŒããã³ãã®ã¹ããŒã«ãŒïŒOleg AnastasievãAndrei PanguinãDmitry BugaychenkoïŒ

忥ã¬ããŒã
1æ¥ç®ã®ã¬ããŒãã¯2æ¥ç®ã®ã¬ããŒããšåããããè¯ãã£ãã ãã®éžæã¯ããã¹ãŠã®ã¬ããŒããèšé²ãããåŸã§ä»ã®ãã¹ãŠã衚瀺ã§ãããšããèãã«ãã£ãŠä¿é²ãããŸããã
ç§ã®ååã¯äœã§ããïŒAlexey ShipilevãRed Hat
äŒè°ã®äžè¬çãªé°å²æ°ãèšå®ããæåã®ã¬ããŒãïŒãããã
åºèª¿è¬æŒ ïŒã¯ãAlexey Shipilevã«ãã£ãŠéå§ãããŸããã ããŠã©ãŒãã³ã°ã¢ãããããããšã«ãããã¢ã¬ã¯ã»ã€ã«ããå ±åã¯å®çŸ©äžäžå¯èœã«ãªããŸãã
åºèª¿è¬æŒã§ãããã«è»œããªã£ããããã¯ã§ãããæè¡çãªè©³çްãå
¬åŒããããŠãã¡ããäŒçµ±çãªæ Œèšã§ãã£ã±ã
ã§ãã ïŒãæ²ç·ãæããŠãã ãããShãããã¢ããªã±ãŒã·ã§ã³ãèŠãã®ãæããªãã§ãã ãããããã¡ã³ããŒãšå°ãã²ãŒã ããããïŒã
ãªã©ãã¯ã¹ããæ¹æ³ã§ããååã§æºè¶³ã§ãããããã©ãŒãã³ã¹ãéæããããã®æ®µéçãªæšå¥šäºé
ãäœæãããŸããã 2æ¥ç®ãã¢ã¬ã¯ã»ã€ã¯ãããè€éãªã¬ããŒããJMMåŠäœã®é£çµ¡å
ãéããããç¶ããŸããã
äŒè°ã®å°ãåã«ãAlexeyã¯
Oracleãã
Red Hatã«ç§»è¡ããŸããããã®ããããžã£ã±ããã®èµ€ãè²ïŒèžã«ãOracleããšå»å°ãããŠããïŒãããã§ã¯éåžžã«é©åã§ããã
Groovy Puzzlers S03-Groove So GrooveïŒãã«ãŒã¯ã»ãµãã°ã«ã¹ããŒãšãã¯ã¿ãŒã»ã¬ã¢ã
BaruchãšVictorã¯ã
Groovy PuzzlersçŒ cen匟ã®ç¬¬3ã·ãŒãºã³ã玹ä»ããŸããïŒ
Joker 2015ã®
第1ã·ãŒãºã³ãš
JPoint 2015㮠第2ã·ãŒãºã³ã«
ç¶ããŸã ïŒã
ã«ãŒã«ã¯ãŸã åãã§ã-ïŒææãããæ¢ãããšãªãïŒæšæž¬ããç©æ¥µçã«æç¥šããçããæ£ãã説æããŠãã ããã ã¬ããŒãã®éäžã§ãèŽè¡ã¯åæºããããšãã§ããŸããã çµæãšããŠåŸãããçµæã¯ãèŽè¡ãšã¹ããŒã«ãŒã®äž¡æ¹ãã奜ãŸãããšæããŸãã
ãã€ãã£ãã³ãŒãããªãããŒãããŒã¿ãããã³JavaãŠã©ãžããŒã«ã»ã€ã¯ããããªã©ã¯ã«
ç§ã¯ã
ããããããžã§ã¯ãã®éåœãèå³ãæã£ãŠãã©ããŒããŠããŸãããã®çµæã¯ã
Java 10以åã«å
¥æå¯èœã«ãªããŸãã ãŠã©ãžããŒã«ã¯ãã®åéã§æãå°æ¬ãããå°éå®¶ã®äžäººã§ãã
Java Native Interface ïŒ
JNI ïŒããã³
Java Native Runtime ïŒ
JNR ïŒãšè©³çŽ°ãªæ¯èŒãè¡ãããåãœãªã¥ãŒã·ã§ã³ã®é·æãšçæã瀺ãããŸããã
ããçšåºŠãŸã§ã¯ã
ããããé€ããŠ
VarHandlesã«ã€ããŠãèªãããããšã¯ãJPoint 2016ã§
VarHandlesã«ã€ããŠã®Alexei Shipilevã®
å ±åãè£è¶³ããŸããã
Quirks Stream APITagir ValeevãJetBrains
Javaã«ã³ãã¡ã¬ã³ã¹ã®å¥ã®ã¬ã®ã¥ã©ãŒã¹ããŒã«ãŒïŒããã³Habrélanyã®Javaããã®ã¹ã¿ãŒïŒãååã®ã«ã³ãã¡ã¬ã³ã¹ïŒ4æ
JPoint ïŒãã転è·ããŸããã æè¿ãTagirã¯
JetBrainsã§åããŠããŸããããã¯ããã®äŒç€Ÿã®è£œåã®ãã¹ãŠã®ãã¡ã³ã«ãšã£ãŠæå ±ã§ãã
ã¬ããŒãã¯ã
JBreak 2016ãš
JPoint 2016ã®ã¬ããŒãã§å§ãŸã£ã
Stream APIã®ãããã¯ãç¶ç¶ããŸããã ãã®ã¬ããŒãã§ã¯ãã¹ããªãŒã ãæäœãããšãã®ããã€ãã®ã±ãŒã¹ã§ã®è©±ãå¥åŠã§ãå¥åŠã§ãéè«ççãªãäžèŠããæ¯ãèãã«ã€ããŠã§ããã 2æç®ã®åçã§ã¯ãTagirã¯ãFad No. 3ãã®è£å©çãªå¿
èŠæ¡ä»¶ãšããŠããã¥ãŒãã®åœ¢ã®ä¹±æ°ãžã§ãã¬ãŒã¿ãŒã瀺ããŠããŸãã 芳客ã¯ããã¯ã®éžæãåŸæããªãã£ããšæããããŒã«ã¯æºå¡ã ã£ãã
ãžã§ããã¹ããªãŒã ã«ä¹ããã¯ã¿ãŒã»ã¬ã¢ãããã€ãŒã«ãã£ã¹ã
ã¹ããªãŒã ã®äœ¿çšã«é¢ãããããã¯ã¯ã
Hazelcastã®åŸæ¥å¡ã§ãããããããã£ã¹ã
Debriefingã®å
±åèšç«è
ã§ããå
±åãã¹ãã§ããVictor Gamovãæ¬¡ã®ã¬ããŒãã§åãäžããŸããã
ã¹ããªãŒã ã®åŸæ¥ã®ïŒ1å°ã®ã³ã³ãã¥ãŒã¿ãŒäžã®ïŒã¢ããªã±ãŒã·ã§ã³ã¯ã
Hazelcastãš
Hazelcast Jetã䜿çšãã忣ã¢ããªã±ãŒã·ã§ã³ã«çœ®ãæããããŸããã
瀺ãããã³ãŒãã§ã¯ãããŒã¿æäœã¯è±èªã®ããã¹ããæŠäºãšå¹³åãã§å®è¡ãããå¿
èŠã«å¿ããŠäŸã衚瀺ããŠå®è¡ã§ããŸãã
Beating Threads-ã©ã€ãã³ãŒãã£ã³ã°ãã¥ãŒãžãã¯ã±ã³ããªããžå€§åŠãµã ã¢ãŒãã³
ãµã ã»ã¢ãŒãã³ã«ããéåžžã«å¥œå¥å¿andçã§æçãªå ±åæžãäŒè°ã®åæ¥ãç· ãããã£ãã ãµã ã¯ãã©ã€ããã¥ãŒãžãã¯ã³ãŒãã£ã³ã°çšã«èšèšããã
Sonic Piããã°ã©ã ïŒéåžžã«çŸãã䟿å©ãªããã°ã©ã ãµã€ãïŒã®ãã¢ãè¡ããŸããã
嚯楜çãªäœ¿çšïŒãã£ã¹ã³ã§ã®DJïŒã«å ããŠãSamã¯ããã°ã©ãã³ã°ãåŠç¿ããããã®è£å©ããŒã«ãšããŠäœçœ®ä»ããŠããŸãïŒãµã€ãã«
ã¯ã¬ãã¹ã³ãã©ã³ããããŸãïŒã
Raspberry Pi ã
macOS ã
Windows ã
Linuxã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãå©çšå¯èœã§ãã ãœãŒã¹ã³ãŒãã¯
GitHubã«ãããŸã ã
ã¬ããŒãã¯æ¬è³ªçã«åŠè¡çãªãã®ã§ãããå®éãSamã¯äŒè°ã®åæ¥ã«ããŒãã£ãŒã«åºåžããŸããïŒ
ãããªãåç
§ïŒã
ãµã ã®å
¬åŒYouTubeãã£ã³ãã«ã®ãã®ä»ã®åç»ã
忥ã®ã²ã¹ãã®èª¬æäŒ
äŒè°ã®é©æ°ã¯ãããããã£ã¹ããµã€ã
Debriefingã§ããã ããããã£ã¹ãã®äœæ°ã¯ãäž»å¬è
ãè¬æŒè
ãåå è
ã«ã€ã³ã¿ãã¥ãŒããŸããã
äž»èŠãªããããã£ã¹ãã«å²ãŸããã¢ã¬ã¯ã»ã€ã»ãã§ãããïŒã¢ã³ãã³ã»ã¢ã«ãããããã¯ã¿ãŒã»ã¬ã¢ããã¢ã¬ã¯ã»ã€ã»ã¢ãã·ã§ãããã«ãŒã¯ã»ãµãã°ã«ã¹ããŒïŒã
ã¯ãã¹ãªãŒããŒã®ä»£è¡šè
ãšã®ã€ã³ã¿ãã¥ãŒã

Ivan KrylovãAlexei ShipilevãAndrey Dmitrievãšã®äŒè©±ã ã°ã¬ãã»ã¹ãã«ãããšã®ã€ã³ã¿ãã¥ãŒã

忥ãç· ãããã
ããã°ã©ã å§å¡äŒã®åå è
ãžã®èŽãç©ã®èŽå-ã¢ã³ãã¬ã€ã»
ã³ã°ã³ ïŒ
jug.msk.ru ãæåã®ã·ã§ããïŒããŠã©ãžããŒã«ã»ã·ããã³ããšãŠã©ãžããŒã«ã»ã¯ã©ã·ã«ã·ã¥ãã¯ïŒ2çªç®ã®ã·ã§ããïŒã ã®ãããåãåã£ãã¿ã®ã«ã»ãã¬ãšãïŒ3æç®ïŒã

2æ¥ç®ã®ã¬ããŒã
é¢é£ãããããã¯ã®æåã®3ã€ã®ã¬ããŒãã¯ããJavaããã¢ã»ã³ããªãžïŒãŠãµã®ã®ç©ŽãäžãããããJITã³ãŒãã®ã©ã€ããµã€ã¯ã«ããã奜å¥å¿ã®ãã€ãã³ãŒãããšãã衚瀺ã·ãŒã±ã³ã¹ãçæ³çã«åœ¢æããŸããã
Javaããã¢ã»ã³ããªãŒãžïŒãŠãµã®ã®ç©Žãã£ãŒã«ãºã»ããã¿ãŒãã¬ããããã
ãã£ãŒã«ãºã¯ã
JRubyãããžã§ã¯ãã®ãªãŒããŒã®äžäººã§ãã ã¬ããŒãã®ã¿ã€ãã«ã¯ã
äžæè°ã®åœã®ã¢ãªã¹ã®åéº ïŒ
äžæè°ã®åœã®ã¢ãªã¹ ïŒ
ã®æåã®ç« ã®ã¿ã€ãã«ãšäžèŽããŠããŸãã ãã¬ãŒã³ããŒã·ã§ã³ã§ã¯ããã£ãã«ã«ããã¢ãªã¹ã«ã€ããŠã®äž¡æ¹ã®æ¬ã®åçã®
ãžã§ã³ã»ãããšã«ã«ããå€å
žçãªã€ã©ã¹ãã䜿çšããŸããã
Wonderlandãš
JVMã®é¡æšã¯éåžžã«æåããŠããããã¬ãŒã³ããŒã·ã§ã³ã¹ã¿ã€ã«ãšã¬ããŒããã¶ã€ã³ãéåžžã«ç¬åµçã§ãã é¢çœã圢åŒã§ã
JavaãœãŒã¹ã³ãŒããããã€ãã£ãã³ãŒããžã®ãã¹ã瀺ãããŸãã-ãã€ãã³ãŒããžã®ã³ã³ãã€ã«ããã€ãã³ãŒãã®è§£éããã€ãã£ãã³ãŒããžã®JITã³ã³ãã€ã«ã ããã«ã
æçµãã£ãŒã«ãã
synchronized ã
volatile ãæååã®
switchã¹ããŒãã¡ã³ã ãã©ã ãåŒã®å®è£
æ©èœãé瀺ãããŸããã
JITã³ãŒãã®ã©ã€ããµã€ã¯ã«Ivan KrylovãAzul Systems
åã®ã¬ããŒãã®è«ççãªç¶ãã¯ã
Just-in-time ïŒ
JIT ïŒã³ã³ãã€ã«ã«é¢ããIvan Krylovã®ã¬ããŒãã§ããã ã³ãŒã倿ããããã¡ã€ã«ãããã³æé©åè§£é€ã®ã±ãŒã¹ã«å ããŠã5ã€ã®ã³ã³ãã€ã«ã¬ãã«ïŒãããã®éã®å¯èœãªé·ç§»ãå«ãïŒããã³ã³ã³ãã€ã«ã®ãã¥ãŒãã³ã°ã«äœ¿çšå¯èœãª4ã€ã®
APIãèšåãããŸããã
è峿·±ã話ã¯ã
Azul Zingä»®æ³ãã·ã³ã«åºæã®ãã¯ãããžãŒã§ãã
ReadyNowã«ã€ããŠ
ã§ãã ã éçãª
Ahead-in-time ïŒ
AOT ïŒã³ã³ãã€ã«ã«å¯Ÿãã
Oracleã®ããã«å€§ããªé¢å¿ã«ã€ããŠãèšåãããŠã
ãŸã ãJEP295ãåç
§ããŠãã ããã
奜å¥å¿ã®ããã®ãã€ãã³ãŒãã¢ã³ãã³ã»ã¢ã«ããããZeroTurnaround
Anton Arkhipovã¯2æ¥ç®ã®æåã®3ã€ã®ã¬ããŒãã®ã·ãªãŒãºãå®å
šã«å®äºããJavaãã€ãã³ãŒãã«ã€ããŠèª¬æããŸãããåœä»€ã®ã»ãããšã¿ã€ããã¹ã¿ãã¯ãæäœããæ©èœãããŒã«ã«å€æ°ã®ããŒãã«ãå©çšå¯èœãªããŒã«ã®æŠèŠã§ãã
ããŒã«ã®ãã¡ã
Java Bytecode Editor ã
IntelliJ IDEAããã³
ObjectWeb ASMçšã®
ASM Bytecode Outlineãã©ã°ã€ã³ãèšåãããŸããã 瀺ãããŠããäŸã¯
GitHubã§å©çšã§ã
ãŸã ã
åäœäžã®Java 9ã¢ãžã¥ãŒã«æ§ãµã³ããŒã»ããã¯ãã«ããã¹ã»ãã¯ãããžãŒãº
誰ããããã«ïŒ
Java 9ãåã³é
ãããšããã«ïŒå¿
ç¶çã«çŽé¢ããªããã°ãªããªãéåžžã«ç±ããããã¯ã¯ãã¢ãžã¥ãŒã«æ§ïŒ
Jigsawãããžã§ã¯ãïŒã§ãã ãµã³ããŒã¯
O'Reillyã® Java 9 Modularityæ¬
ã®å
±èè
ã§ããããããã®åé¡ã«ç²ŸéããŠããŸãã
äžè¬çãªè³ªåïŒã¢ãžã¥ãŒã«æ§ã®ç®æšã
Javaãšã³ã·ã¹ãã å
ã®ã¢ãžã¥ãŒã«æ§ã®æŽå²ïŒã«å ããŠãçŸåšã®ç¶æ
ïŒ
Java 9ã¯ãŸã ãªãªãŒã¹ãã
ãŠããŸããïŒãã³ãŒãäŸãšãšãã«ç€ºãããŠããŸãã
é²åçãã¶ã€ã³ããªã«ã»ãã«ã«ãã§ããšã¢ã¬ã¯ãµã³ããŒã»ã¿ã©ãœããã¢ã«ãã¡ç ç©¶æ
ä»åã®ããªã«ã»ãã«ã«ãã§ããšã¢ã¬ã¯ãµã³ããŒã»ã¿ã©ãœãã®çŽ æŽããããã¥ãšããã¯ãé²åçãã¶ã€ã³ã®ããŒãã«èå³ããããŸããã ãã³ãã®éãæŽ»æ°ã«æºã¡ãç©èªïŒã¬ããŒãã®1æéããã189æã®ã¹ã©ã€ãïŒã¯ãèŠä»¶ã®å€åãçµéšã®èç©ãæ°ããããŒã«ã𿹿³è«ã®èç©ã®åœ±é¿äžã§ã®ã¢ãŒããã¯ãã£ãšãã¯ãããžãŒã¹ã¿ãã¯ã®é²åã瀺ããŸããã
ã¬ããŒãäžã«äœæããã壮倧ãªããã¯ãããžãŒããŒãã«ãã«ç¹ã«èå³ããããŸãã
å®çšçãªããã©ãŒãã³ã¹Gil TeneãAzul Systems
Gilã¯ã
Azul Systemsã®å
±åèšç«è
å
ŒCTOã§ãã 圌ã®å ±åæžã¯ãã¢ã¬ã¯ã»ã€ã»ã·ãã¬ãã«ããæåã®å ±åæžãåæ ããŠãããã¢ã¬ã¯ã»ã€ã»ã·ãã¬ãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«å¯Ÿããããå®çšçãªã¢ãããŒããæ±ããŠããŸãã
ããã©ãŒãã³ã¹ãè©äŸ¡ããããã®ããŸããŸãªã¡ããªãã¯ãšã¢ãããŒããæç€ºãããŸããã 補åã®èšèšãšå®è£
ã®çã®ããŒãºãçè§£ããããã®æšå¥šäºé
ã瀺ãããŠããŸãã
äŒè°ã®æçµå ±åãšããŠãæè¡çãªè©³çŽ°ãæºèŒã§ã¯ãªããé©åã§çè§£ãããããã®ã§ããã
2æ¥ç®ã®ãããªãŒãã£ã³ã°
ã¢ã¬ã¯ãµã³ããŒã¿ã©ãœããšã®ã³ãã¥ãã±ãŒã·ã§ã³ã ã¿ã®ã«ãã¬ãšããšã¢ã³ãã¬ã€ã³ã°ã³ã

ã»ã«ã²ã€ã»ãšãŽãããšããããªãŒã»ãã¥ã€ã³ã èŠçŽãããšãã¢ã³ãã³ã»ã¢ã«ããããšã¢ã¬ã¯ã»ã€ã»ãã§ãããã

äŒè°çµäº
äŒè°ã®æºåã«é¢ä¿ãããã¹ãŠã®äººã®äžè¬çãªåç-äž»å¬è
ããã©ã³ãã£ã¢ãã¹ããŒã«ãŒã

ã¢ã³ãã¬ã€ã»ããããªãšããã¢ã¬ã¯ã»ã€ã»ãã§ããããã®ã«ã»ããã ãã©ã³ãã£ã¢ã«å²ãŸãããšã«ããªãŒãã»ã¯ãªããã

ãŸãšã
äŒè°ã®æçšæ§ã¯æ¬¡ã®ãšããã§ãã
- ã¬ããŒãã«å«ãŸããæ
å ±ã®äŸ¡å€ã
- ãã®ãŸãã«æ
å ±ã®èªèã®äŸ¿å©ãã
ãã®äŒè°ã§ãããã®ç®æšãéæããã«ã¯ïŒ
- ã¬ããŒãã®æ°ã倧å¹
ã«å¢ãããŸããïŒãã®ã¬ãã¥ãŒã®ã¬ããŒãã®ã»ãŒ6åã®ã¬ããŒãããããŸãïŒã
- ãã·ã¢èªãšè±èªã®äž¡æ¹ã®è©±è
ãããŸãã
- ãã£ã¹ã«ãã·ã§ã³ãŸãŒã³ãç·šæãããŠãããã¬ããŒãéã®äŒæ©ãå¢ãããããã¹ããŒã«ãŒãšã®ã³ãã¥ãã±ãŒã·ã§ã³ãç¶ç¶ã§ããŸãã
- å®éšçã«ç»å Žããããããã£ã¹ãããããªãŒãã£ã³ã°ãã®ãµã€ããæšå¥šããŸããã
- åããŠãäŒè°ã®ã¡ã€ã³ãã©ãã¯ãç¡æã§èŠãæ©äŒ
æ®å¿µãªããã1æ¥ç®ã«ã¯ã2æ¥ç®ã®åããŸã§ã«åé¡ã解決ããããããŒããã£ã¹ãã®åé¡ãããã€ããããŸããïŒããã«ã€ããŠã®
èªå·±æ¹å€çãªãã€ãŒã ïŒã ããããªäžäŸ¿ãã«ãããã¢ã³ãã³ã»ã¢ã«ãããã®å ±åã®åæ¥ã«ã匷å¶ç§»ç±ãé
ããŸããã ä»ã®ãã¹ãŠã®æè¡çããã³ç®¡çäžã®åé¡ã¯ãçºçãããšãã«è§£æ±ºãããåå è
ã«ã¯ã»ãšãã©æ°ä»ãããŸããã§ããã
ãã¬ãŒã³ããŒã·ã§ã³ãã¡ã€ã«ã¯
äŒè°ã®Webãµã€ãã§å
¥æã§ããŸãããã¹ãŠã®ã¬ããŒãã®ãããªãžã®ãªã³ã¯ã¯ãã¬ãã¥ãŒãèšå
¥ããåå è
ã«æ¢ã«éä¿¡ãããŠããŸãã

äŒè°ã®å°è±¡ã¯ïŒ
UPDïŒäŒè°ã§Andrei Dmitrievãçºèšãããã¥ãŒã¹ã¯ãæçµçã«ããã¥ã¡ã³ã¿ãªãŒã®èšŒæ ãåãåããŸãã-Alexei Fedorovã¯
æ£åŒã«æ°ãã
Javaãã£ã³ããªã³ã« éžã°ããŸãã ã ã¢ã¬ã¯ã»ã€ãããã§ãšãããããŸãïŒ