2019/6/25ã«è¡ãããJavaã³ãã¥@ç¦å²¡ã§ã®ç»å£è³æã§ã
2019/6/25ã«è¡ãããJavaã³ãã¥@ç¦å²¡ã§ã®ç»å£è³æã§ã
Java 11æ£å¼çããªãªã¼ã¹ãæ¬ãã¼ã¸ã§ã³ããOracle JDKã®ãµãã¼ãã¯æåã«ãOpenJDKã§ç¡åã®é·æãµãã¼ãæä¾ã¯ç¾æç¹ã§æå¾ è Java 11æ£å¼çããªãªã¼ã¹ããã¾ããã Java 11ã¯2017å¹´9æããå§ã¾ã£ã6ã«æãã¨ã®Javaãã¼ã¸ã§ã³ã¢ãããµã¤ã¯ã«ããã¡ããã©1å¹´ã¨ãªããã¼ã¸ã§ã³ã§ãããã¾ã2014å¹´3æã«ç»å ´ããJava 8以æ¥ã4å¹´åã¶ãã«é·æãµãã¼ãï¼LTSï¼Long Term Supportï¼å¯¾è±¡ã¨ãªããã¼ã¸ã§ã³ã§ãããã¾ãã JDK 11 General Available Release is Out! #OpenJDK #JDK11 Download: https://t.co/GxeXcyGUiv Release Notes: https://t.co/h5tqx7d9U5 pic.twitter.com/XByIzINXCj â Java (@j
ãã£ããè¨ã㨠ãªã¹ãæ§é ã®ãã¼ã¿ã«å¯¾ãã¦ã©ã³ãã ã¢ã¯ã»ã¹ã¯ãã¡ãã ãã ãããå ããã¨ã®ç´æã ï¼ çºç«¯ æ°å¹´åã«ä»é¨ç½²ã®æ¯æ´ã§ä½ã£ãJavaã®ã·ã¹ãã ã«ãã¡ãã£ã¨ãã«ãã®ãã¼ã¿ãçªã£è¾¼ãã ãããããªãã»ã©é ãã®ã§å©ãã¦ãããã¨é£çµ¡ãå ¥ã£ãã ã¾ãã¯ã¨ãªã¨ãã¤ã³ããã¯ã¹ãã¡ãã£ã¨è¦ãã°ç´ãã£ããã»ã»ã»ã¨é¼»ãã»ãããªããæ¯æ´ã«åãã£ãã å¦çå 容 é ãé¨åã®å¦çã¯ä»¥ä¸ã®ãããªãã®ã§ãã£ãã å¦ç対象ã®ãã¼ã¿ãListã§åãåãã ãããforã«ã¼ãã§1件ãã¤åå¦çããã å¦ççµæããªãã¸ã§ã¯ãã«æ ¼ç´ããORãããã¼ã§DBã«INSERTããã ããã ãï¼ ãããããã ãã ã並åå¦çãªãã¦é«ç´ãªãã¨ã¯ãã¡ãããã£ã¦ãªãã ã¤ã³ãã©èª¿æ» å¦çä¸ã®ãµã¼ãã®ãããã調æ»ãããä»åã®ã¤ã³ãã©ã¯å ¸åçãª3層3ãµã¼ãæ§æã WEBãµã¼ãã¯ãªã«ããããä½è£ã APãµã¼ãã§ã¯CPUã1ã¤ä½¿ãåã£ã¦ããã 14ã³ã¢
è¥æJavaã¨ã³ã¸ãã¢å¿ è¦ãç¥ã£ã¦ãããããã¬ã¼ã ã¯ã¼ã¯ã»ãã¼ã«23é¸ ã·ã¹ãã éçºã«ããã¦ãç»å ´é »åº¦ãé常ã«é«ãJavaãæ°å¤ãã®ãã¬ã¼ã ã¯ã¼ã¯ããã¼ã«ãåå¨ãã¾ãããä¸ä½ã©ããé¸ã¹ã°ãå¹ççãªéçºãè¡ããã®ã§ãããããããããã®ãã®ãä¸æã«ãç´¹ä»ãã¾ãï¼ ã·ã¹ãã éçºãããéãæ¬ ãããªãåå¨ãªã®ãå種ãã¬ã¼ã ã¯ã¼ã¯ããã¼ã«ã§ããããããå°å ¥ãããã¨ã§ãå·¥æ°ã®åæ¸ãã¢ããªã®å質åä¸ãã»ãã¥ãªãã£ã®å ç¢åãªã©æ°å¤ãã®å©ç¹ãããã¾ããä¸ã§ãJavaã®ãã¬ã¼ã ã¯ã¼ã¯ã»ãã¼ã«ã¯ãJavaãéçºã«ä½¿ç¨ãã¦ããä¼æ¥ã®å¤ããããå©ç¨ãããé »åº¦ãé«ããã®ã§ãã ãããããããã¯æ°ããããªãã»ã©ã®ç¨®é¡ããããããç¥èã®å°ãªãè¥æã®ãã¡ã¯ãã©ããé¸ã¹ã°ãããã â¦â¦ãã¨éæ¹ã«æ®ãã¦ãã¾ãã±ã¼ã¹ãå°ãªãããã¾ããã ãããªæ©ã¿ã解決ãããããä»åã¯ãã使ããããã®ããçããæ©è½ã®ãã®ãæè¿æ³¨ç®ããã¦ãããã®ã¾ã§
JVMã«ãã¥ã¼ãã³ã°é ç®ã¯å¤ã ããã©ããããã¯ã·ã§ã³ã§éç¨ããéã«äºããããã¦ããããé ç®ãã¾ã¨ãã¦ã¿ãã¨ã³ããªã§ãã*1 å¿è«ãOSãJVMãããã©ã«ãã§ããç¨åº¦ã®ããã©ã¼ãã³ã¹ã¯çºæ®ã§ããè¨æ¸¬ãä¼´ããªããã¥ã¼ãã³ã°ã¯æªæã§ãããã¨ã¯ããç¥ããã¦ãã¾ãã ããããè¨å®ãã¦ãããªãã¨ããã©ã¼ãã³ã¹ã«ãã®ã¾ã¾å½±é¿ããã¨åãããã®ã調ã¹ãªãã®ã¯è£¸ã§æ¦å ´ã«èµ´ããããªãã®ã§ãã*2 ã©ããªé ç®ãã©ãå¤æ´ããã°è¯ãã®ãç¥ã£ã¦ãããã¨ã¯éè¦ãªæ¦å¨ãªã®ã§ãã ãªã調ã¹ãã®ã ä»åããã¥ã¼ãã³ã°ãã¤ã³ãã調ã¹ãã«ããã£ã¦ãç§ã®ã¢ããã¼ã·ã§ã³ã¯ã©ãã«ããã®ããèããã¨ã以ä¸ã®è¦ä»¶ãæºããããã¨ãããã¨ãããããã¾ãã ã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦æ±ããããå質水æºã¨ãã¦åä½ãã â æ§è½ç®æ¨ ç°å¸¸æã«äºè±¡ã追ããã¨ãã§ãã ããã§ããå質水æºã»ç°å¸¸ã¨ã¯ãããã©ã¼ãã³ã¹ãæããã«ä½ããã¢ããªã±ã¼ã·ã§ã³ãã¯ã©ãã·ã¥ã
JJUG Night Seminar ~ Java VM<&ç´æ¶¼ä¼ ~ http://kokucheese.com/event/index/48437/ ã«åå ãã¦ãã¾ããã ãã¹ã¿ãã¯ãã·ã³ã¨ãã¦ã®JavaVMããªãã¦è¨ã ä¸è¦ãããæãã¿ãããªã¿ã¤ãã«ã«éã¾ã£ã人ãã¡ã¯ãã¡ããã¬ãã«ãé«ã åå è ã®javapçµé¨çã20%ãããã«ãªããªã©ããªããªãåã£ãéå®¢å ·åã§ããã ãããªä¸ãç§ãLTã§BTraceã®è©±ããããã¨ã45æã®ã¹ã©ã¤ãã¨ã2種é¡ã®ãã¢ãç¨æãã¦ãã¾ããã ãã 客層ãèããã«ãæè¿Twitterã§ã¡ãã£ã¨åãã¦ãã ãlongã«è¤æ°ã¹ã¬ããããå¤ãä»£å ¥ããã¨ãæ³å®å¤ã®å¤ã«ãªãã話ãããæ¹ãè¯ãããããªããã¨æãã 観客ã«ã©ã¡ããèããããå°ãã¦ã¿ãã¨ãããlongã®æ¹ãå§åç人æ°ã ãããªããã§ã45æã®ã¹ã©ã¤ããããã«æ¨ã¦ã¦ï¼ãã¤ãåå©ç¨ãããï¼ï¼ ã¹ã©ã¤ããªãã§ãlo
Javaãã¼ã¹ã®Webãµã¤ããæ¬çªãªãªã¼ã¹ããå¾ãçºçãããã©ãã«ã»ã»ã»ããã£ã¦ã¯ãããªããã©ããã©ãã«ãçºçããåå ã調æ»ãã対å¦ããªãããããªãã ã§ãåå ã調æ»ããã¨ããã¾ãåç¾æ¡ä»¶ã調ã¹ããã ãã©ãåç¾ãããã®ãé£ããã®ããã®ãã«ãã¹ã¬ããåé¡ããã¼ã¸ããªãã¼ããã度ã«ããã¾ããã£ãããã¨ã©ã¼ã«ãªã£ãããç¹°ãè¿ããããåç¾æ¡ä»¶ã¯åãããªããã»ã¨ãã©ã®å ´åã調æ»ã«ãæéãããã£ã¦ãã¾ãã Javaã®é¢é£è¨äºï¼ OutOfMemoryErroråé¿ã®ããã®Javaã³ã¼ãã£ã³ã° â åç·¨ èªåã§NoClassDefFoundErrorã解決ï¼ï¼ååï¼ ãã«ãã¹ã¬ããã®æ³¨æç¹ã¾ã¨ã Oracleã§Dateåã®æå»ã00:00:00ã«ãªãåå MissingResourceExceptionã®è§£æ±ºæ³ NoClassDefFoundErrorã®åå ã¨å¯¾å¿(2) Eclipse ã¹ã¯ã©ããããã¯
Javaã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¼ã使ã£ã¦ããã¨ãOutOfMemoryErrorã«ééãããã¨ãæã ãããæè¿ã¯ãµã¼ãã¼ã®ç©çã¡ã¢ãªãµã¤ãºã2GBãè¶ ãããã¨ãããã®ã«ããã£ã±ããã®ã¨ã©ã¼ã¯çºçããã OutOfMemoryErrorã¯æåéããã¡ã¢ãªã足ããªãã¨ããæå³ã ãã ãã©ãå½ç¶ãªããç©çã¡ã¢ãªãå¢è¨ããå¿ è¦ãããã¨ããããã§ã¯ãªãï¼æ¬å½ã«ãããããããªãå ´åããããã©ã»ã»ã»ï¼ãé常ã¯ãµã¼ãã¼ãã¥ã¼ãã³ã°ãã¢ããªã±ã¼ã·ã§ã³ãã¸ãã¯ã®è¦ç´ãã§ãã®ã¨ã©ã¼ã«å¯¾å¦ããã ä»åã¯ãã®ãã¡ãã¢ããªã±ã¼ã·ã§ã³å´ã®åå ã«ãã£ã¦çºçããOutOfMemoryErrorãã¿ã¼ã²ããã¨ããã¢ããªã±ã¼ã·ã§ã³ã®è¦ç´ãã«ãã対å¦ããæ¹æ³ã«ã¤ãã¦è©±ãããã¨æãã Javaã®é¢é£è¨äºï¼ OutOfMemoryErrorã®åå ã¨å¯¾å¿(2) OutOfMemoryErrorã®åå ã¨å¯¾å¿(3)æ¬çªãªãªã¼ã¹å¾ã«ãã©ãã«çº
Java ã®ãã¼ãé ååã³ éãã¼ãé åãã¡ã¢ãªç®¡çã«ã¤ãã¦ç°¡åã«èª¬æãããã¾ãã ãã¼ãããã¼ããµã¤ãºã¯ã¬ã¼ãã¸ã»ã³ã¬ã¯ã·ã§ã³ï¼GC ( Garbage Collection ) ã¨å¯æ¥ãªé¢é£ãããã¾ãã以ä¸ã®ãã¼ã¸ãåããã¦åç §ãã ããã ã¬ã¼ãã¸ã»ã³ã¬ã¯ã·ã§ã³ï¼GC ( Garbage Collection ) ã«ã¤ãã¦ã®ç°¡åãªèª¬æã¨èª¿æ»æ¹æ³ Java ã®ãªãã¸ã§ã¯ãã¯ã大ããåãã¦ãNewãOld ãPermanent ã¨ããã¡ã¢ãªé åã§ç®¡çããã¾ãã æ°ãããªãã¸ã§ã¯ããæ ¼ç´ããã®ã New é åã¨å¼ã°ããå¤ããªãã¸ã§ã¯ããæ ¼ç´ããã®ã Old é åã¨å¼ã°ãã¾ãã Permanent é åã«ã¯ã¯ã©ã¹ãã¡ã½ãããªã©ã®æ å ±ãæ ¼ç´ããã¾ãã ( ããã㯠Permanent Generation, Tenured Generation, Young Generation ã¨ã
20190422è¿½è¨ ãåç §æ¸¡ããã¸ã®ééãé¨åã«ä¿®æ£ãå ¥ãã¦ãã¾ãã ä¸é¨åãæ¶ãç·ã§å¯¾å¿ãã¦ãã¾ãããåãæ¶ãç·ã§ã®å¯¾å¿ãé£ããé¨åã¯å¤§ããæ¹å¤ãã¦ãã¾ãã(該å½é¨åã«ã¯ãã®æ¨ãæ¸ãã¦ãã¾ã) 追è¨ããã¾ã§ 以åããJavaåå¿è ãå¤æ¸¡ãã¨åç §ã®å¤æ¸¡ã(âåç §æ¸¡ãâã¨ããè¨èã¯èª¤è§£ãçãã¨ã®ãã¨ã§ä¿®æ£ãã¦ãã¾ã)ã¨ããè¨äºãæ稿ããã®ã§ãããããã«è©³ããç¥ããã¨ãã§ããã®ã§ã¾ã¨ãã¾ãã å¤æ¸¡ãã¨åç §ã®å¤æ¸¡ã ã¡ã½ããã®å¼æ°ã«ã¯ãåºæ¬ãã¼ã¿åãåç §åãæå®ã§ãã¾ããããããã©ã¡ãã®åã使ããã«ãã£ã¦æåãããã£ã¦ãã¾ãã åºæ¬ãã¼ã¿åãæå®ããå ´åã¯å¤ã®ã³ãã¼ãã¡ã½ããã«æ¸¡ããã¾ããå¤ã®ã³ãã¼ã渡ãããã®ã§ãã¡ã½ããã®ä¸ã§å¼æ°ã«å¯¾ãã¦è¡ãããæä½ã¯ãå¼ã³åºãå ã«ã¯å½±é¿ãã¾ããã åç §åãæå®ããå ´åã¯ãã®å¤ã®åç §ã®ã³ãã¼ãã¡ã½ããã«æ¸¡ãã¾ãããã®ããã¡ã½ããã®ä¸ã§å¼æ°ã«å¯¾ãã¦è¡ãããæä½
Java: The Good Parts ä½è : Jim Waldo,ç¢éåï¼ç£è¨³ï¼,笹äºå´å¸åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³çºå£²æ¥: 2011/02/24ã¡ãã£ã¢: 大åæ¬è³¼å ¥: 3人 ã¯ãªãã¯: 148åãã®ååãå«ãããã° (37件) ãè¦ã JavaTheGoodPartsãèªã¿çµãã£ãã®ã§ãè¯ãã¿ã¤ãã³ã°ã¨æããããã±ã¼ã¸ã®åå²ãå½åã«ä»ãã¦ã¾ã¨ãã¦ã¿ã¾ããã ããã±ã¼ã¸ã¨ã¯ Javaã®ããã±ã¼ã¸ã¨ã¯ãåå空éãä½æãããã®ã§ããã ã¯ã©ã¹åã«ä¸æãªååãæå®ããå¿ è¦ãããã®ã§ãéãªããªããã¡ã¤ã³ã使ç¨ãã¦ããã±ã¼ã¸åã決å®ããã®ã¯åºæ¬ã ã¨æãã¾ãã ããã±ã¼ã¸åå²æé ã¬ã¤ã¤ã§ã®åå² ç§ã¯é常ãWebã¢ããªã±ã¼ã·ã§ã³ã4層æ§é (view, controller, service, model)ã§ä½æããã¯ã©ã¤ã¢ã³ãå´ã¨ãµã¼ãå´ã¯JSONã§ããåããããã¨ãå¤ãããã以ä¸ã®
MethodUtils ã使ç¨ããã«ãªãã¬ã¯ã·ã§ã³ã使ç¨ããã¨ãªãã¸ã§ã¯ããçæããããå¼æ°ã®åãæå®ãããã§ä½ãã¨å¤§å¤ã§ãã Class clazz = new Java6().getClass(); Object object = clazz.newInstance(); Method method = clazz.getMethod("out", new Class[] {String.class}); method.invoke(object, new Object[] {"Sato"}); ããããMethodUtils ã使ç¨ããã°1è¡ã§å®è¡ãã§ãã¾ãã // invokeMethod ã¡ã½ãã // å¼æ°ãªã MethodUtils.invokeMethod(new Java6(), "out", new Object[] {}); // å¼æ°ãã MethodUtils.i
ãã®ã¨ã³ããªã§ã¯ãGrzegorz Gajosã«ããè¨äºãHow Hibernate Almost Ruined My Careerãç´¹ä»ããã (Grzegorzããå訳ã¨è»¢è¼ã®è¨±å¯ã¯å¾ãã) 以ä¸ã¯ãã®å ¨æã®å訳ã ããæè¨³è¶ è¨³ãæ··ãã£ã¦ããã®ã§ããã¨ã®ãã¥ã¢ã³ã¹ãç¥ããããã°å è¨äºãèªãã§ãããããèªã¾ãªãã¦ãããã æ³åãã¦ããã åã¯Javaéçºè ã§ã次ã®ããã°ããã¸ã§ã¯ããéå§ãããã¨ãã¦ããã¨ããã ã åã¯ããã®ããã¸ã§ã¯ãå ¨ä½ã«å½±é¿ããæ ¹æ¬çãªæ±ºæãããå¿ è¦ãããã åã®æè»ãªãã¼ã¿ã¢ãã«ããªãã¸ã§ã¯ãæåã§æ½è±¡åãããã¹ããªæ¹æ³ãé¸æããããçã®SQLãæ±ãããã¯ãªããããã ã©ããªç¨®é¡ã®ãã¼ã¿ããµãã¼ããããããçæ³ã§ã¯å ¨ç¨®ã®ãã¼ã¿ãã¼ã¹ããµãã¼ããããã ããã«æãã¤ãã®ã¯ãåã«Hibernateã使ãã¨ãã解ã ãããã ãï¼ Javaãã£ããããã®90%ã¯åã«åæããã
Javaãããã°ã©ã æªçµé¨è ã«æããã¨ãã®è©±ã ç´°ããã¨ããã¾ã§ã¡ããã¨ç解ããããã®é£ããã§ã¯ãªãã¦ãã¨ããããé »åºã³ã¼ããèªã¿æ¸ãã§ããã¾ã§ã®é£ããã®è©±ã§ããç´°ããã¨ããã¾ã§ã®ç解ãã©ã®è¨èªãé£ããã®ã§ã ãã¨ãããã§ã¯ããã°ã©ã èªä½ã®é£ããã¯å¥ã®è©±ãã¨ãããã¨ã§ã ã§ãJavaã«ã¯é£ããã¨ãããçµæ§ãããã§ããã©ãé£ããã®ãã²ã¨ãã¨ã§ããã¨ãæã®äºæ ãæ´å²ççµç·¯ã«ããããå¤ããã¨ããã§ãã ããã°ã©ã ãæããã¨ãã«ä½ãé£ããã ãã¨ãã°public static void mainãæ¸ãã¨ãããã¾ããªããå¤ãã¨ãè¨è¿°éãç ©éã¨ãã¯ããã¼ã«ã§å¯¾å¦å¯è½ã§ããã¼ã«ã§å¯¾å¦å¯è½ã¨ããã®ã¯æ©æ¢°çã«æ £ããã°ããé¨åãªã®ã§ãããã¾ã§åé¡ã«ãªããªãã¨æãã¾ãã ãã¨ããã¾ããªããæ¸ãããããã¨ããã®ã¯æããå´ã®ãã ããã§ãã£ã¦ãç解ããããã¨ã¯å¥ã§ããã®ãã¾ããªããã©ãããã¨ãã«å¿ è¦ãã¨ããã¨ãããã
ã¯ããã« 2017å¹´3æãStruts2ã«ã¾ããã¦ãæ°ããªèå¼±æ§(S2-045ãS2-046)ãè¦ã¤ãããè¤æ°ã®ã¦ã§ããµã¤ãã«ããã¦æ å ±æ¼æ´©çã®è¢«å®³ãçºçãã¾ãããçè ã¯2014å¹´4æï¼ããã3å¹´åï¼ã«ãä¾ãã°ãStrutsãé¿ãããã¨ããè¨äºãæ¸ãã¾ããããä»èªã¿è¿ãã¦ã¿ãã¨ããã調æ»ä¸è¶³ã®ç¶æ ã§æ¸ãã¦ãã¾ã£ããªãã¨æããç¹ãããã¾ããä»åãè¯ãã¿ã¤ãã³ã°ãªã®ã§ããä¸åº¦Struts2ã®ã»ãã¥ãªãã£ã«ã¤ãã¦ãã£ã¨ã¾ã¨ãã¦ã¿ããã¨æãã¾ãã ãªãJavaãªã®ã«ãªã¢ã¼ãããã®ä»»æã®ã³ã¼ãå®è¡(ããããRCE)ãå¯è½ãªã®ã Struts2ã¯Javaã¢ããªã±ã¼ã·ã§ã³ã§ãããJava製ã®ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãä¸ã§åä½ãã¾ããJavaã¯ããããã³ã³ãã¤ã«åã®è¨èªã§ãããããé常ã¯ã©ã³ã¿ã¤ã ã«ããã¦ä»»æã®ã³ã¼ããå®è¡ãããã¨ã¯ã§ãããRCEã¯é£ããã¯ãã§ãã Javaã®ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã§RCEãæ
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}