ãããã圌ã¯èª°ã殺ããŸããã§ãããããããã³ã¯è² å·ããŸããã§ããã ãããã圌ã®èšªåã¯å€ãã®äººã«èšæ¶ãããã§ãããã ãŸããJavaãã¯ãããžãŒã«é¢ããæ°ããäŒè°ã®åæŒã§ããã 第äºã«ããã®äŒè°ã¯æåã§ãããã€ãŸãã倧ããªæªæ¥ããããæåã®äŒè°ã¯åžžã«æŽå²ã§ãã
楜ããé©ã
ç§ã¯äŒè°ã§è¬æŒè ãšããŠè©±ãããŸãããäž»å¬è ã¯2ã¶æåã«ç§ã«é£çµ¡ãã話ãããšãç³ãåºãŸããããããã¯å¬ããé©ãã§ããã ãµã³ã¯ãããã«ãã«ã¯JUGã®ãªãŒããŒãã¢ã¬ã¯ã»ã€ã»ãã§ãããïŒ@ 23derevoïŒãã¢ã³ãã¬ã€ã»ããããªãšãïŒ@real_alesïŒãã€ãŽã¡ã³ã»ãã«ãŽãïŒ@jetlinerïŒïŒããã³ãã®ä»å€ãã®æ¯æŽè ïŒã«ãã£ãŠçµç¹ãããŸããã ã¢ãã¿ãŒããŒãã£ãŒã®1ã€ã§ãã¢ã¬ã¯ã»ã€ã¯äŒè°ã®ååã®ã¢ã€ãã¢ãã©ã®ããã«åœŒã«äŒãã£ãã®ããèªããŸããããç§ã¯èããããšåœŒã¯èšããŸãããããã³ãã£ãšãã®3ã€ã®ãªã¬ã³ãžãžã®ããªã€ã³ã¹ããŒæãããããé·ãéç ããªãã£ãã ããŸããŸãªãã£ã©ã¯ã¿ãŒãé ã®äžã§å転ããŠããŸããïŒã¹ããŒãã®çãã¯ã©ãã®çãéåã ãããŠãæ°ããäŒè°ã®ã³ã³ã»ããã®ç· ãåãã¯ãã§ã«è¿«ã£ãŠããŸãã ã ããããã©ã³ãã§ãªããšãããŠè©±é¡ãæã¡è² ãããšããã¢ã€ãã¢ãçãŸããŸããã Javaã«ã³ãã¡ã¬ã³ã¹ã¯éåžžJãšããæåã§åŒã°ããŠããããããžã§ãŒã«ãŒãšããèšèã¯ããèªäœãäœããã®åœ¢ã§ç»å ŽããŸãããã
ããã«é©ãã¹ãããšã«ã2ãæã§ã圌ãã¯éåžžã«ãŸãšããªããã°ã©ã ãäœæãããã¹ãŠã®ã¹ããŒã«ãŒãšåå¥ã«äœæ¥ããããããæ¹æ³ã§å®è¡ããæ¯æŽããŸããã ããããããã°ã©ã ã«ã¯ããã€ãã®å¥åŠãªç¹ããããŸãããã¬ããŒãã®3ã€ã®ã¿ã€ãã«ã¯ããäœãæ²é»ããŠããã®ã...ãã§å§ãŸããŸããã
ã©ã®ããã«èµ·ãã£ãã®ãããã®è©±ã¯æ²é»ããŠããã
宿æ³æœèš
ç§ãã¡ã®äŒç€ŸExcelsiorã® 2人ãäŒè°ã§è©±ãããŸããïŒç§ãšPavel PavlovïŒ@noinlineïŒã ã³ã³ãã¡ã¬ã³ã¹ã¯ãPribaltiyskaya Hotelã®Vasilievsky Islandã§éå¬ãããŸããã å°äžéãåºãŠãããã«ãŸã§æ©ããŠè¡ãããšã«ããŸãããããŒã¿ãŒã®å€ãæ©ãåãã®ã¯è¯ãèãã®ããã§ãã ããããçŽ10ã¡ãŒãã«åŸãããã·ãã«ã¹ã¯ã®è¡ã«çªç¶åºããããŸãããçãã»ã©ããç¥ãããŠãããœããšãã®å»ºç©ãšãããã·ãã«ã¹ã¯ãšãŸã£ããåã倩æ°ã§ãã èŠããã«ã3rd Street Buildersãã
蚪åè ãšãªãŒã¬ãã€ã¶ãŒã®ã»ãŒå šå¡ãåãããã«ã«äœãã§ãããäŒè°ãããã«ã§éå¬ãããŠãããããã¹ãªããã§ã¬ããŒãã«è¡ãããšãã§ããŸããã ããã¯ããçš®ã®å¥è·¡ã§ãããåããŠåºäŒã£ãã®ã¯ãæç®ãèŠãŸããæé£ã«è¡ããããããã®èŠªãã人ã«äŒããæŒé£ã®ããã«åœŒããè¿œãåºãå§ããŠããã2éã«äžãã£ãŠããããŠäŒè°ããããŠã¢ãã¿ãŒããŒãã£ãŒããã®åŸããã«ã«æ»ããã¢ãã¿ãŒããŒãã£ããããŸãã èŠããã«ãç§ã¯äººçã§ãããŸã§ã«ãªããããªããã°ã©ãã³ã°ã®ãããã¯ã«ã€ããŠè©±ããŸããã
ã³ã³ãã¡ã¬ã³ã¹
ãããŠ2éã«äžãã£ãŠãç§ã¯äŒè°ã«åºåžããŠããŸããã äž»å¬è ã«ãµããããç®ã§äŒã£ãã®ã§ãç§ã¯ããã«ãç§ãã¡ã®æ代ã®ããŒããŒãã誰ã§ããããå®æããŸãããããŒã ãéå»æ°æ¥éã»ãšãã©ç ã£ãŠããªãã£ãããšã¯çãããªãæšæž¬ã§ããŸããã
ãªã§ãŒã·ã£ã»ãã§ãããæ°ã¯ãäŒè°ã®ãªãŒããã³ã°ã¯ã»ãšãã©æ°ä»ãããªããŸãŸã§ã誰ããè¡ã£ãããŒã«ïŒã«ãŒãã¹ãŒãã§ããŒã¯ãããŠãã-ã¹ã¿ã€ã«ãç¶æããå¿ èŠãããïŒãã©ãã«ããããèªã£ãã å»äžã§ã¯ããžã§ãŒã«ãŒïŒäžã®åçãåç §ïŒã§åçãæ®ããå€ä»£ã®ã³ã³ãã¥ãŒã¿ãŒã²ãŒã ããã¬ã€ã§ããŸãã
ã9,000,000åããŠã³ããŒããããJavaãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®äœææ¹æ³ã
JUG.ruã«ã€ããŠã®ã»ã³ã»ãŒã·ã§ãã«ãªã¬ããŒãã®èè ã§ããAnton KeksïŒ@antonkeksïŒã®ã¬ããŒãã«è¡ããŸãããã Javaãä¿åããã«ã¯ã©ãããã°ããã ããAntonã¯ãäž»ãªä»äºãæµè¡ã®äŒæ¥ãïŒ Antonã¯å ã Cã§èšè¿°ããŠããJavaã§æžãçŽãããAngry IP scanãã°ãªãããçèŽããããã®äººæ°ã®ãããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã
ã¬ããŒãã¯å°ããªãã¡ã«ãããå§ãŸããŸããããã¹ãŠã®ã¬ããŒãã¯ãªãŒã¬ãã€ã¶ãŒã®ã³ã³ãã¥ãŒã¿ãŒããã®ãã®ã§ãJavaã¯ãããã®ã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ãããŠããŸããã§ããïŒ ãã®çµæãã¢ã³ãã³ã¯èªåã®ã¢ããªã±ãŒã·ã§ã³ãå®éã«è¡šç€ºã§ããŸããã§ããã ãã®äºå®ã¯ãJavaã§ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãäœæããå Žåããšã³ããŠãŒã¶ãŒããã®Javaãæã£ãŠãããšããäºå®ã«é Œãããšãã§ããªãããšãæ¹ããŠç¢ºä¿¡ãããŸããïŒãã®åé¡ã®è§£æ±ºæ¹æ³ã«ã€ããŠã¯ ãã¢ã¹ã¯ã¯ã®JavaOne ïŒ ããããæ®å¿µãªãããããã¯ã¢ã³ãã³ãçŽåŸãããŸããã§ããã
ã¢ã³ãã³å šäœã®ã¬ããŒãã¯ãJavaãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§äœããã¹ãããå¯èœã§ãããå¿ èŠã§ãããšããåçŽãªã¢ã€ãã¢ã人ã ã«äŒããããšããŸããã ç§ã¯ããã«å®å šã«åæããŸããããã¹ã¯ãããäžã®JavaãããŸã人æ°ããªããç¹ã«MacãšUbuntuã®äººæ°ãé«ãŸã£ãŠãããšããäºå®ã«ãç§ã¯ãŸã æ¬åœã«é©ããŠããŸãã åŸè ã®äºå®ã«ãããAntonã¯ã¢ããªã±ãŒã·ã§ã³ãCããã³Win APIããJavaã«æžãæããããã«ãªããŸãããããã¯ã圌èªèº«ãWindowsãé·ãé䜿çšããŠããªãããWindowsãŠãŒã¶ãŒã倱ããããªãããã§ãã
Javaã®UIãšããŠãã¢ã³ãã³ã¯SWTãæšé²ããŸããã 誰ãç¥ããªãå Žå-ããã¯ãEclipse UIã®äœæã«åºã¥ããIBMã®UIã©ã€ãã©ãªã§ãã ãã®ã©ã€ãã©ãªã®åè«ã¯ãSWTã§èšè¿°ãããã¢ããªã±ãŒã·ã§ã³ãåžžã«ã¿ãŒã²ãããã©ãããã©ãŒã ã®ãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã®ããã«èŠãããšããããšã§ããåã«ããã€ãã£ãã³ã³ãããŒã«ã䜿çšããŠUIãæç»ããããã§ãã Javaã®ããã©ã«ãUIã®äœãåé¡ãªã®ãã¯Swingã§ãã¿ãŒã²ãããã©ãããã©ãŒã ã®UIããšãã¥ã¬ãŒããããŸãïŒåžžã«è¯ããšã¯éããŸããïŒã ãŒãã©ã«ãŠã©ãŒã¹ã€ã³ã°vs. SWTã¯2000幎代åé ã«éåžžã«äººæ°ããããŸããã ããã«é¢ããç§ã®å人çãªç«å Žã¯ãäž¡æ¹ã®UIãåªããŠããããšã§ããSWTã§åžžã«ã¿ãŒã²ãããã©ãããã©ãŒã ã®ãã€ãã£ãUIãååŸããå ŽåãSwingã§ã¯ãã€ãã£ãUIãããåªããUIãå®è¡ã§ããŸãããã®äŸã¯IntelliJ IDEAã§ãïŒWindowsã¯ããã§ã¯ãªããšæããŸãïŒãã¿ã³ãããŸãæç»ããŸãïŒã æåŸã®å£°æãèžãŸãããšãJavaFXã®éžæãæªããšã¯æããŸããã
ã¢ã³ãã³ã¯ãŸããHIG-ãã¥ãŒãã³ã€ã³ã¿ãŒãã§ã€ã¹ã¬ã€ãã©ã€ã³ã«ã€ããŠã話ããŸããã ãã®ããšã®èãæ¹ã¯ãããŸããŸãªãã©ãããã©ãŒã äžã§ã³ã³ãããŒã«ã®é 眮/åœåèŠåãããããšã³ããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãæäœãããšãã«äœ¿ãæ £ããçµéšãåŸãããã«ãããã®èŠåã«åŸãããšããå§ãããŸãã ãããã£ãŠãUIãäœæãããšãã¯ãç¹å®ã®ãã©ãããã©ãŒã ã®HIGã«ãŒã«ãèæ ®ããå¿ èŠããããŸãã ã¯ãããã©ãããã©ãŒã ã«äŸåããã³ãŒããå°ããããŸãããå¥ã®ããªãã¯ïŒã¬ã€ã¢ãŠããããŒãžã£ãŒãªã©ïŒã䜿çšãããšããã®ã³ãŒãã®éãéåžžã«å°ããããããšãã§ããŸãã
å ±åã®åŸãã¢ã³ãã³ãšç§ã¯å»äžã§ããã«20åé話ããŸããã圌ã«äŒããŠãšãŠãããããã§ããããããç§ã«ãšã£ãŠã¯ããã®äŒè°ã§æãå°è±¡çãªã€ãã³ãã®1ã€ã§ãã
ãããžã§ã¯ããžã°ãœãŒããºã«ã æ°ãã倱æ
ã³ãŒããŒãã¬ã€ã¯ã§ãã·ã¥ãªã³ã€ãªã³ïŒ@shurymuryïŒã«äŒããŸãã-圌ã¯ãã®ã«ã³ãã¡ã¬ã³ã¹ã§ãã¬ãŒã³ããŒã·ã§ã³ãè¡ããŸããã 2ææ®ããŸãã ç§ã¯åœŒã«äŒããŠãšãŠãããããã£ãããå奜çãªæ¹æ³ã§åœŒã«å°ããïŒããŸããã©ã®ããã«ãã¬ããŒãã®æºåãã§ããŠããŸããïŒãã 圌ã¯ç§ãé äºããŸãããããã¡ãããæºåã¯ã§ããŠããŸããã¬ããŒãå šäœã«1ã€ã®ç°¡åãªèãããããŸããPFCïŒ ãã ç§ã¯èšããŸãïŒãPFCã®æå³ãããããŸãããïŒ ããã·ã¥ã©ïŒããããŠãããã¯ã€ãŸãããžã°ãœãŒããºã«ãPFCããªãããšãæå³ããŸãïŒããæ£ç¢ºã«ã¯ããããªãã¯ã¢ãžã¥ã©ãŒJavaã·ã¹ãã ã¯ãããŸããããé£çµ¡ããŸãïŒã·ã¥ã©ïŒãæ³åããŠã¿ãŠãã ããããžã°ãœãŒããºã«ã«ã€ããŠããŒã¯ïŒã©ã€ã³ããŒã«ãïŒãèããã®ã¬ããŒããäœæããããã«ã圌ã¯ã¢ãžã¥ã©ãŒã·ã¹ãã ããªãªãŒã¹ããªãããšã«æ±ºãããšèšããŸãã誰ããããå¿ èŠãšãããããŒã«ã«ãã¢ãžã¥ã©ãŒã·ã¹ãã ãå¿ èŠã§ããïŒããšå°ããŸãã圌ããåŸã§èšã£ãããã«ãã·ã¥ã©ã¯åœŒã®å€ãã倱æããã15åã§åœŒã®ã¬ããŒãå šäœãå ¥ããŸãããããããç§ãä¿¡ããŠã圌ã¯ããã»ã©å€±æããŠããŸãã ïŒç§ã®ããã«ã
ä»åã¯ãããžã§ã¯ãã«äœãèµ·ãã£ãã®ããæšæž¬ããããšããã§ããŸããããJavaã³ãã¥ããã£ãŒããã®æ¹æ³ã§ãããžã§ã¯ããçµäºãããJavaã§æšæºã®ã¢ãžã¥ã©ãŒã·ã¹ãã ã䜿çšã§ããããšãé¡ã£ãŠããŸãã
ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ããã»ã¹ãšããã«å¯ŸããŠã§ããããšãç解ãã
ãã®åŸãCTOå Œå ±åèšç«è ã®Azul Systems-Gil Teneã«1æéåããããŸããã ããã¯çŽ æŽãããå ±åã§ãã-ç§ã¯ããã匷ããå§ãããŸãã 誰ãç¥ããªãå ŽåãAzulã¯Vegaãã«ãããã»ããµã³ã³ãã¥ãŒã¿ãŒã®çç£ãéå§ããŸããããã®ã³ã³ãã¥ãŒã¿ãŒã§ã¯ã54åã®ã³ã¢ãšãã©ãã€ãã®RAMãæèŒããåããã»ããµãŒããã®ãããªãã·ã³ã«æ¿å ¥ã§ããŸãã ãããŠããããã®ã³ã³ãã¥ãŒã¿ãŒçšã«ç¹æ®ãªJVMãäœæããŸãããèšå€§ãªæ°ã®ããã»ããµãŒãšã¡ã¢ãªãŒã§JVMãã¹ã±ãŒãªã³ã°ããåé¡ã解決ããå¿ èŠããããŸããã Azulã¯ã倧éã®ã¡ã¢ãªã§æ¡åŒµå¯èœãªGCãäœæããæ¹æ³ãåŠã³ãå šå¡ã«å¹žçŠãäžããããšã«ããAzul ZingãšããJVMããªãªãŒã¹ããŸããã ãã®JVMã¯HotSpotããç¶æ¿ãããŠããããïŒããã«ã¯MMãšGCãããããŸããïŒãHotSpotãšåãããŒããŠã§ã¢ã§åäœããŸãã
Gilã¯ãJavaã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã«ã€ããŠè©³ãã説æããåºæ¬ããå§ããŠæãæŽç·Žãããææ³ã§çµãããGCã«ã€ããŠç¥ã£ãŠãããã¹ãŠã®ããšãæãåºããŸããã æ°æ¥ã§ãJVMã§GCã«ã€ããŠExcelã«éç¥ããå¿ èŠããããŸãã-Excelsior JET ã ã¡ãªã¿ã«ãç§ã¯Azul GCãå°ãªããšãå€éšçã«ã¯ç§ãã¡ã®ãã®ãšäŒŒãŠããããšã«éåžžã«æéãåããŸãããããã¯åãããªãã¯ããçµã¿ç«ãŠãããŠããŸãããç§ãã¡ã¯ç¬ç«ããŠããã«æ¥ãŸããã
ã®ã«ãäŒããããšããäž»ãªã¢ã€ãã¢ã¯ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®éçšã§ãHotSpotãæã€ãã€ã³ããšGCã»ããããã€ã³ãããã¯ã»ã©é ããšããããšã§ããã ãã®çµæãéåžžã®Javaéçºè ã¯ãJavaã§ã¡ã¢ãªç®¡çã®åé¡ã解決ããããã«GCãæ§æããããã«100äžã®ãã³ãç¥ãå¿ èŠããããŸãã 圌ã®æèŠã§ã¯ããã³ã¯æ£ç¢ºã«1ã€ã§ããå¿ èŠããããŸããâXmxïŒããã«å ã«é²ã¿ãGCã§ããã®ãã³ã¯äžèŠã§ã ïŒã ãããŠãç ã®äžã«é ãé ããŠJavaã®ã¡ã¢ãªç®¡çã«åé¡ã¯ãªããšèšã代ããã«ãJavaã®äžçãããåºãèŠãŠã¿ããšãããããã¡ã¢ãªç®¡çã®åé¡ããããã解決ãããä»ã®JVMå®è£ ãããããšãããããŸãã
ããã¯äŒè°ã§æã匷åãªã¬ããŒãã ã£ãããã§ãããããã£ãŠãHotSpotãªããžã§ã¯ãã®ãã£ãŒã«ãã®ã¬ã€ã¢ãŠãã«é¢ããã¬ããŒãããã®ãããã«å ¥ã£ãã«ããããããã圌ãèŽè¡ã®æšå®ã«ãããšããã10ã®ã¬ããŒãã«å ¥ããªãã£ãããšã¯éåžžã«é©ãã¹ãããšã§ãã 人ã ã¯ã代æ¿ã®Javaå®è£ ãéåžžã«èŠæããŠãããšæããŠããŸãã ãããããªãã§ããïŒ çµå±ã®ãšãããJavaã䜿çšããŠä»£æ¿ã®å®è£ ãè¡ãããšãã§ããåæã«ã¢ããªã±ãŒã·ã§ã³ãJavaäºæã®å®è£ ã§åäœããããšãä¿èšŒã§ããããšã¯å€§ããªåã³ã§ãã ãããŠããããã®å®è£ ã¯ãOracleã人çã§æ±ºããŠæã«å ¥ããªãåé¡ã解決ã§ããŸãã
å ±ååŸãç§ã¯ãªããšãã®ã«ãšè©±ãããããšãã§ããŸãããGCã«ã€ããŠè©±ããŸããã 圌ãç§ãã¡ã«ã€ããŠå®å šã«ããç¥ã£ãŠããããšãå¬ããæããŸããã äžè¬ã«ãäžçã®JVMã®éçºè ã¯ååãšããŠç§ãã¡ã®ããšãç¥ã£ãŠããŸãããæ®å¿µãªããJavaéçºè ã«ã€ããŠã¯èšããŸããã
楜ããJVMãã¯ãã«ã«ãµããŒãã©ã€ãã¹ããŒãªãŒ
æŒé£åŸïŒãšããã§ãéåžžã«è¯ãïŒãç§ã«è©±ãããã®ã¯ç§ã®çªã§ããïŒãã·ã£ãã³ããšOracleã¯å ±åå ±åãããŸããã ã¬ããŒãã®ã¢ã€ãã¢ã¯1æã«çãŸããŸããã äŒè°ã®æéã¯ãããŒã·ã£ã®äŒæã®æéãšããŸãäžèŽããŸãããããŒã·ã£ã¯ããšãŒããããšãã·ã¢ã§éããããšã«æ±ºããŸããïŒåœŒã¯ã¢ã¡ãªã«ã«äœãã§ããŸãïŒã Mishaã¯Oracle Java Licensee Engineeringã§åããŠãããå°ãåã«ãªã©ã¯ã«ã®å ¬åŒã®å°ä»»ãã¯ãã«ã«ãµããŒããšã³ãžãã¢ã§ãããJCKãã¹ãã«åæ Œããã®ãæ¬åœã«å©ããŸããã ããã«ããªã©ã¯ã«ã®å€§èŠæš¡ãªé¡§å®¢ã®æè¡ãµããŒãã«é¢äžããŠããŸãã ãŸããExcelsiorã§ãã¯ãã«ã«ãµããŒããæäŸããŠãããç§ãå«ããã¹ãŠã®JVMéçºè ãé çªã«å€åããŠããŸãã é·å¹Žã«ããããããŒã·ã£ãšç§ã¯ããã¯ãã«ã«ãµããŒãã®äººçããããªãå€ãã®èå³æ·±ãäºäŸãèç©ããŠããŸãããããããäžçäžã®äººã ãšå ±æããããšã«ããŸããã ã¬ããŒããæãäžè¬çã§å žåçãªãã¯ãã«ã«ãµããŒãã®åé¡ã®4ã€ã®éšåã«åãã楜ããã¹ããŒãªãŒã§ããããåžéããŸããã ç§ãã¡ã¯ãã®ã¬ããŒããé¢çœããããã£ãã®ã§ãããç§ã«ã¯ããã§ãããããã¯æ¥œããã£ãã§ãã人ã ã¯ç¬ããŸããã
ãããã§ãã·ã§ãã«åãã®Scala
åŒç€Ÿããã¯ãPasha PavlovãäœæããScalaã«é¢ããã¬ããŒãããããŸããã
æ°å¹Žåãç§ãã¡ã¯JVMã®ã³ã¢ãã»ãŒå®å šã«æžãçŽãããšã«ããŸããã ä»ã®JVMãšåºå¥ããJVMã®éèŠãªã³ã³ããŒãã³ãã®1ã€ã¯ãAOTã³ã³ãã€ã©ãã€ãŸãããã°ã©ã å®è¡åã«æé©åããããã·ã³ã³ãŒããçæããã³ã³ãã€ã©ã§ãïŒãæ£çŽãªexeããååŸããŸãïŒã Scalaã§AOTã³ã³ãã€ã©ãæžãçŽãããšã«ããŸããã ãããã£ãŠãæåã¯ãJavaã®Javaãã¬ããŒãïŒJavaã®Javaãšã¯å¯Ÿç §çã«ãOracle Labsã®ããªãæåãªGraalãããžã§ã¯ãã¯Javaã®HotSpot JITãæžãæããè©Šã¿ã§ãïŒãäœæãããã£ãã®ã§ãã ããããããã§ã®æ祚ã§ã¯ããã®ã¬ããŒãã¯ããŸã人æ°ããªãã£ããããäž»å¬è ã¯ãããã¯ãããäžè¬çãªãã®ã«å€æŽããããã«é Œã¿ãŸããããScalaã«ã€ããŠã§ãã ãã®çµæããã·ã£ã¯ã¬ããŒããäœæããã®ã«ãã£ã2.5é±éãããããŸããã§ããã ãããŠåœŒã¯ãŸãã«ããã©ãŒãã³ã¹ãŸã§ããã調çããŸããïŒ ãPassenger Ivanovãç·æ¥ã«æä¹ã²ãŒãã«ä¹ããŸãããšããã¢ããŠã³ã¹ã®äžã§ã圌ã¯ç©ºæž¯ã§ã®å¯äžã®èµ°è¡ãæåãããŸãããããã¯ç¢ºãã«ããã©ãŒãã³ã¹ã«åœ±é¿ãåãŒããŸãããã話ã®éäžã§é¢çœããšããœãŒããçºçããŸããïŒPashaãJava 8ã§ã©ã ãããå®ãäžåœã®æš¡å£ããšåŒãã ç¬éãLesha ShipilevïŒ@TheShadeïŒã¯ãã€ãŒãããŸããïŒ
ã¢ããªã±ãŒã·ã§ã³ã«ã¡ã¢ãªãªãŒã¯ããããŸããïŒ
ãã®ã¬ããŒããHabréã®æ祚ã«ç»å Žããäºæ³å€ã«ãªãŒããŒã«ãªã£ããšããå€ãã®äººããã®ãããã¯ã«é©ããŸãããJavaãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãæã£ãŠããããã«èŠãããããã¡ã¢ãªãªãŒã¯ã¯ååãšããŠäžå¯èœã§ãã ãããããã®ãããã¯ã¯ç§ããŸã£ããé©ãããŸããã§ãããç§ã®äººçã§ã¯ããããã®ãªãŒã¯ã®å€ããã¯ã©ã€ã¢ã³ãã®äŸã§èŠãããŸããïŒ
ã¬ããŒãžã³ã¬ã¯ã¿ãŒã¯ãã¯ã©ã¹ã®ã°ããŒãã«ïŒéçïŒãã£ãŒã«ãããã³åŒã³åºãããã¡ãœããã®ã¹ã¿ãã¯ããå©çšã§ããªããªããžã§ã¯ãã®ã¿ãåéããŸãã ãããŠãããã·ã¥ããŒãã«ã®ãããªã°ããŒãã«ãã£ãŒã«ããååŸããããããã«ãªããžã§ã¯ãã®è¿œå ãéå§ãïŒãã£ãã·ã¥ãªã©ïŒããã®ããã·ã¥ããŒãã«ã®ã¯ãªãŒãã³ã°ãå¿ãããšãããã«ã¡ã¢ãªãªãŒã¯ãçºçããŸãã
å€ãã®äžè¬çãªJavaãã¬ãŒã ã¯ãŒã¯ã«ã¯å éšãã£ãã·ã¥ïŒããã·ã¥ããŒãã«ãšããŠé 眮ãããããšãå€ãïŒãããããããç¥ããã«ãçªç¶ã¡ã¢ãªãªãŒã¯ãçºçããå ŽåããããŸãã Nikita Salnikov-Ternovskyã®ã¬ããŒãã¯ããã®ãããªãã¬ãŒã ã¯ãŒã¯ã§ããããã«ããã®ãå¿ãããšããªãŒã¯ãçºçãããšããäºå®ã«æ£ç¢ºã«æ§æãããŠããŸããïŒãããã©ã®ããã«ç¥ãå¿ èŠããããã¯æ確ã§ã¯ãããŸããïŒã
ç¹ã«èå³æ·±ãã®ã¯ãThreadLocalã®å Žåã§ãã Nikitaã¯ãWebã¢ããªã±ãŒã·ã§ã³ã§ThreadLocalã®ãããªã°ããŒãã«ãååŸãããã®Webã¢ããªã±ãŒã·ã§ã³ãïŒãµãŒããŒãåèµ·åããã«ïŒåã€ã³ã¹ããŒã«ãããšããªãŒã¯ãçºçããããšãä¿èšŒãããŠãããšäž»åŒµããŸããã Lyosha Shipilevã®åå ãåŸãŠã¢ãã¿ãŒããŒãã£ã§ãã®ã±ãŒã¹ã詳现ã«èª¿ã¹ããšãããJava APIã®ThreadLocalå®è£ ã«ãã°ãããããšãããããŸããïŒ ãã®åŸããããåŠçããæ¹æ³ãèŠã€ããLeshaã¯ãã®ãã°ãå ±åããããšãçŽæããŸããã
ããŒããã³ãã®ãµã€ã¬ã³ãã«ã€ããŠ
ãã®ã¬ããŒãã®ã¢ã€ãã¢ã¯ãã¢ã¹ã¯ã¯ã®JavaOneã®ãªã§ãŒã·ã£ã»ã·ãã¬ãããèããã 圌ã¯ãJavaãªããžã§ã¯ãã«ãã£ãŒã«ããæ£ããé 眮ããæ¹æ³ã«ã€ããŠã®ããã«é¢ããããŸããŸãª æçš¿ãèªãã®ã«ããããããŠããŠãHotSpotããã£ãŒã«ããåºããæ¹æ³ã«ã€ããŠã¬ããŒããäœæããããšèšããŸããã ååãšããŠããã¹ãŠã®Javaå®è£ ã¯ãã¢ã©ã€ã¡ã³ããããã»ããµãã£ãã·ã¥ã®åäœãããã³ãªããžã§ã¯ãã®ãµã€ãºã®æå°åã®ããã«ããªããžã§ã¯ãå ã®ãã£ãŒã«ãã®ã¬ã€ã¢ãŠããæé©åããŸãã ãããã£ãŠãã¯ã©ã¹ã§æå®ãããã£ãŒã«ãã®é åºã¯ãŸã£ããæå³ããããŸãããJVMã®å Žåã¯ãå¿ èŠã«å¿ããŠèªç±ã«é 眮ã§ãããã£ãŒã«ãã®ã»ããã«ãããŸããïŒç°ãªãJVMã§ããåãJVMã®ç°ãªãããŒãžã§ã³ã§ãïŒé åºã¯ç°ãªãå ŽåããããŸãïŒã ãããã£ãŠãJavaããã°ã©ãã³ã°ã§ã¯ããœãŒã¹ã¬ãã«ã§ãã£ãŒã«ãã®é åºã§äœããæé©åããããšãã以äžã«æããªããšã¯ãããŸããã ãããããã®åŸã¢ã¹ã¯ã¯ã§ãç§ãããã§ããªãã2æã§èšã£ãããšããå šäœã®å ±åãããããšãã§ããããšã«é©ããã ãããããªã§ãŒã·ã£ã¯ç®¡çããŸããïŒãã ãããªã§ãŒã·ã£ããã³ãºããªãŒãã€ã¯ãæ»ã«è³ããããšãã«ã¬ããŒãã®æåŸã«ãã€ã¯ãä¿æããŠããBaruchïŒ@jbaruchïŒã®å©ããªãã§ã¯ãããŸããïŒïŒ
æåŸã«ãèŽè¡ã®åå¿ã¯é¢çœãã£ãã§ããããªããžã§ã¯ãã®ãã£ãŒã«ããããªãéããããããªããšæ³åã§ããŸããïŒããããŠã人ã ãç¹å®ã®JVMå éšã«ã€ããŠã®å ±åãèãããã£ãŠããçç±ã«åã³é©ããŸããã
ã¢ãã¿ãŒããŒãã£ãŒ
äŒè°ã«ã¯2ã€ã®ã¢ãã¿ãŒããŒãã£ãããã1ã€ã¯éå ¬åŒã§ã1æ¥ç®ã®çµããã«ããããã1ã€ã¯å ¬åŒã§ããã åæ¥ã¯ãããŸããŸãªJVMã®éçºè ã1ã€ã®ã³ãŒããŒã«ãJava EEãã¹ã¿ãŒããã1ã€ã®ã³ãŒããŒã«ããŸããã ãããŠçãäžã«åº§ã£ãŠããã·ã¥ã©ã€ãªã³ã¯ãããŒãã£ãŒã®æé«æœ®ã§å«ã³ãŸããïŒãããã§ãããã§JVMã¯çéå ¥ãã§ãè¡ãªãŸããããšã³ã¿ãŒãã©ã€ãºããããç§ã¯ããã§äœãããŠããã®ã§ããïŒã
ã¢ãã¿ãŒããŒãã£ãŒã¯ããŽã¡ã®å察åŽã«ãã£ãã®ã§ãããã«ã«äœãã§ãã人ã ã¯ãæ©ãé¢å©ããåã«ããã«å°çããªããã°ãªããŸããã§ããã ããã¯ãã¹ãŠç°ãªãæ¹æ³ã§è¡ãããŸããã ç§ã¯ããªãæ©ãå»ãã誰ããã3æéãã®ããã¯ã¹ã«åãæãããäžéšã®äººã¯ãããããæéããªãã£ããããæ6æãŸã§ããŒã¿ãŒãæ©ãåããæã«ããã«ã«æ»ããŸããã ãã®ãããç¿æ¥ãäžéšã®äººã¯äŒè°ã«åå ã§ããŸããã§ããã
éäŒè°
Unconferenceãšã¯äœãç¥ãã€ããã ã£ã人ã¯èª°ãããŸããã ãã¹ãŠã®ã¹ããŒã«ãŒã®åå€ã«ã¯ãã€ãã³ããžã®2ã€ã®æåŸ ç¶ãäžããããŸããã ãããŠãã¡ãããã»ãšãã©ã®ã¹ããŒã«ãŒã¯ãã®æåŸ ãå¿ããŠããŸããããæåã®æ¥ã®çµããã«æãåºããŠèª°ãã«ææž¡ããŸããã
ã¢ã³ã«ã³ãã¡ã¬ã³ã¹ã®åãã«ããµãŒã·ã£ã»ããã¯ãªããïŒ@alexbelïŒã¯åœ¢åŒãçºè¡šããŸããïŒã€ãã³ãã¯3ã€ã®ã»ãã³ãã£ãã¯éšåã«åå²ãããŠããŸãïŒããã€ãã®ãããã¯ãè°è«ãããåå-誰ã«ãã£ãŠãçºè¡šãããåå è ãããã«æ祚ãããããã¯ã«ã€ããŠè°è«ãããŸã; èœé·-ãããã¯ã«é¢ãã5åéã®ã¬ããŒãã ã芳客ããã®è©°ã蟌ã¿ã-質åãèšå ¥ããçŽãæ祚箱ã«æã蟌ãã°ãèŠ³å®¢å šå¡ããããã®è³ªåã«çããŸãã
æåã¯ãã€ãã³ãã®æ£ç¢ºãªåœ¢åŒãç¥ããã«ãæšå¹Žããã·ãã«ã¹ã¯ã®DevDayã§çºèšããããŒããWeb 3.0ãã§è©±ãããšæããŸããã ãã®åœ¢åŒã®ã¬ããŒãã¯ã©ã®äŒè°ã«ãé©åããªããããUnconferenceã®å Žåã¯é©åã ãšæããŸããã , : 5 . 20 : , , . , .
, , , . Java- , , ( ). Java Web . Java WebStart ( ), . , , , . , , JVM-, JavaScript Scala.
, , HTML+JavaScript. , , , . 3.0. Joker, , 2.0, .
Gil Tene, , -. , Java , challenges , .
, . â â. : â Java ?â, âJava ++?», « OpenJDK?â, â Java , ?â, â ?».
. « Java RIA Mobileâ, . , , : , , , , , , Java client-side . : ( ), , HTML + JavaScript , - , . , , , , , ( - , ), WORA (write once run anywhere), Java. â Photoshop , ?â, , â â !â.
mobile. mobile : , . : - , - JavaScript. , Java , ( ) ( JavaScript). , Java iOS, JIT ( iOS ). Excelsior JET, Java , Java, iOS. : , , .
OpenJDK. , - OpenJDK Oracle . , Java- OpenJDK, : GNU , Java.
2
, , , , . , JVM-, , , , : JVM ( ) .
, . Java vs. JavaScript. , JavaScript â : . , ( 16 JVM), , â JavaScript . , , JavaScript (, JSDoc , , - ?), JavaScript . , JavaScript . , Java vs. JavaScript: . .
JUG: Excelsior JET
, , Joker , . JUG Excelsior JET. JUG JavaOne . , JUG Joker. , , , JUG .
- , JUG . , , Oracle, . , , , : Excelsior JET , . , , , , .NET 4.0. , 200 . - , , , VLC â .NET. VLC . .NET , . : , .NET.
Excelsior JET, JVM : , Java. .
, , 3.5 , , ! , , . -: . SSA Regalloc, 2005 ( â â), , . , ! , .
JCK
â , ! Oracl JCK .
. JCK, JCK. , Oracle ! , IBM, HP, SAP, .
. - ! - - .
, , !