ä¾ãã° H2 database ã以ä¸ã®ããã«èµ·åããã¨ãã£ã½ãé ã java -cp h2.jar org.h2.tools.Server H2 database ã«éãããTomcat ã ã£ãã Logback ã ã£ããããããããã®ãé ã 以ä¸ã«ããããã« InetAddress.getLocalHost() ããå¼ã°ãã DNS Lookup ã«åå ãããããã plumbr.eu ããã¨ã thoeni.io ããã¨ã stackoverflow.com ã¯ã¼ã¯ã¢ã©ã¦ã³ã /etc/hosts ã«ãã¹ãåãæå® ãã¹ãåã MacBook-Pro ã®å ´åã¯ä»¥ä¸ã®ãããªæã 127.0.0.1 localhost MacBook-Pro.local ::1 localhost MacBook-Pro.local ãã¹ãåèªä½ã¯ãã·ã¹ãã ç°å¢è¨å®ãã®ãå ±æãã«ããã³ã³ãã¥ã¼ã¿åã§è¨å®
ãªã¹ãããããããä½ãæã«ä½¿ã以ä¸ã®ã³ã¼ã Map<String, String> phoneBook = people.stream() .collect(Collectors.toMap(Person::getName, Person::getAddress); ãªã¤ããã以ä¸ã®ã³ã¼ãã¨ã¯æåãç°ãªãã¾ãã Map<String, String> phoneBook = new HashMap<>(); for (Person p : people) { phoneBook.put(p.getName(), p.getAddress()); } Collectors.toMap() ã®å ´åã¯ããã¼ ã¤ã¾ã Person.getName() ã«éè¤ãããå ´å㯠IllegalStateException ã«ãªãã¾ãã æãªããã® Map ã®æä½ã®å»¶é·ã§èããã¨ãæ°ãããã®ã§ä¸æ¸ããããã¨
ã¯ããã« Java8ã®æ°æ©è½ãStream APIã使ãå§ãã¦ã³ã¼ãã£ã³ã°ãæ ¼æ®µã«æ¥½ã«ãªãã¾ããã åå¿é²çã«ãµã³ãã«ã³ã¼ããæ¸ãåºãã¦ã¿ã¾ãããå°ããã¤è¿½å ãã¦ããäºå®ã§ãã Javaã¯ä½¿ã£ããã¨ãããã©ã©ã ãå¼ãStream APIã¯ããç¥ããªãã¨ããæ¹ã¯ãåèã«ãã¦ã¿ã¦ãã ããã ããªããªä½¿ã£ã¦ããæ¹ã¯ããããªä½¿ãæ¹ããããï¼ã¨æãã¦ããã ããã¨å¬ããã§ãã ã¡ãªã¿ã«ãªã©ã¤ãªã¼ç¤¾ã®Javaã«ãã颿°åããã°ã©ãã³ã° âJava 8ã©ã ãå¼ã¨Streamãã¨ã¦ãåèã«ãªãã¾ããã ãåææ¡ä»¶ãStream APIã®èª¬æã«ä½¿ç¨ãããªãã¸ã§ã¯ã public class Person { private String name; private int age; private List<Person> children; public Person(String name){/*...*
Iterator ãã Stream ãå¾ã é åãã Stream ãå¾ã Enumeration ãã Stream ãå¾ã æååã split ããçµæãã Stream ãå¾ã ä¹±æ° Stream ãå¾ã æ°åã®ç¡é Stream ãå¾ã org.w3c.dom.NodeList ããStreamãå¾ã ã½ã¼ãæ¸ã¿ã® Stream ãå¾ã Iterator ãã Stream ãå¾ã Iterable ã«å¤æãã¦ãã Stream ãå¾ããã¨ãã§ãã¾ãã Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Iterable<String> iterable = () -> sourceIterator; Stream<String> targetStream = StreamSupp
JDK8ããã³JDK8u20ã§ã¯ãGCãã°ã«é¢é£ãã2ã¤ã®ä¾¿å©ãªæ©è½ã追å ããã¦ããããããã®æ©è½ã2014/8ç¾å¨ææ°ã®JDK7 update 67 ã«ã¯å«ã¾ãã¦ããªãããJDK7u80ã«ã¦ããã¯ãã¼ããããäºå®ã GCãã°ã«pidã¨æ¥ä»ãå«ãã (JDK8ãã) JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/wildfly/gc_%p_%t.log" => å®éã®ãã¡ã¤ã«åä¾ : gc_pid31455_2014-08-31_14-20-16.log.0GCãã°ã®ãã©ã¼ãããã«%pãå ¥ããã¨pidå½¢å¼ã®ããã»ã¹IDãä»ä¸ããããã¾ã%tãä»ä¸ããã¨"_2014-08-31_14-20-16"ã®ããã«GCãã°ãã¡ã¤ã«ã使ããæ¥ä»æåç§ã追å ãããããã¤ã¦GCãã°ã¯Javaãåèµ·åããã¨åããã¡ã¤ã«ã䏿¸ãããã¦æ¶ãã¦ãã¾ããããåºåå ã-Xloggc:g
Java8PasswordHashDemo.java �� �� import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.spec.InvalidKeySpecException; import java.util.Base64; /** * ãã¹ã¯ã¼ãããã·ã¥ã®ãã¢ã */ public class Java8PasswordHashDemo { static final int NUM_SALT_BYTES = 32; static final int NUM_ITERATIONS = 20
ã¯ããã« æ¯åãä»ã®çºè¡¨è ã®æ¹ã ãæçæ å ±ãçºè¡¨ãã¦ãããä¸ã§åä¸äººãèª°å¾æ å ±ãã²ãããçºä¿¡ãã¦ããããã§ãããä»åããå¤åã«æ¼ãã Java 8 ã§èªè¨¼ç³»ãèªä½ãããã¨ããããããªè©±ããã¦ãã¾ããã æ¨ä»ã®ãã¹ã¯ã¼ãæµåºç³»ã®ã»ãã¥ãªãã£ã¤ã³ã·ãã³ããæ¥çå ã§è©±é¡ã«ãªããã³ã«ãèªè¨¼ç³»ãªãã¦ãã®ã¯èªä½ãããããªãããããªããã¨ããèªèã鏿ããã¤ã¤ããã¨æãã¾ãããããããã¤ãã¼ or ãªã¬ãªã¬ Web ã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ãªã©ãå©ç¨ãã¦ããã¨ããããã£ã¦ã¯ãããããèªè¨¼ç³»ãç¨æããã¦ããªãã¨ãã¯ãããªãèªè¨¼ç³»ã®èªåå®è£ ãè¦æ±ããããã¨ãããã§ããããèªåèªèº«ãå¨ããè¦æ¸¡ãã¦ãã¦ããéå»ä½åº¦ããããããã¨ãããã¾ããã ãã ãå®è£ è ã®èªè¨¼ã»ãã¥ãªãã£ã«å¯¾ããèªèãç¥èã«ãã£ã¦èå¼±ãªèªè¨¼ç³»ãä½ãè¾¼ããã¨ãå°ãªããªããããããã®ããªãã¹ãæ¸ãããããªã¼ãã¨ããæããè¾¼ãã¦ä»åã®çºè¡¨ã«è³
Java8ã®lambdaæ§æã®è©±ãæ¸ãã¨ãæ§æ¥ã®æ¸ãæ¹ã§ããã¨ããã³ã¡ã³ããã¤ãã®ã§ãããããã§ã便å©ã«ãªã£ãMapã®æ©æµãåãããã¨ã¯å¤ãããããªããã¨æãã¾ãã â» 2018/5/31 Java9ããã¯ã¡ã¢åå帰ã«ã¯ä½¿ããªããªã£ã¦ãã¾ã â» 2019/2/15 ãªããåé¡ãªãï¼ Mapã«ã¯ãlambdaå¼ã使ã£ãã¡ã½ãããå¤ã追å ããã¦ãã¾ããããã¨ãã°getOrDefaultã¡ã½ããã®ãããªlambdaå¼ã使ããªãã¡ã½ããã追å ããã¦ãã¦ãããã便å©ã§ãã ããã¦ããã®ãããªlambdaå¼ã使ããªãã¡ã½ãããã鿥çã«ã¯lambdaæ§æãµãã¼ãã§ã®è¨èªæ¡å¼µã®ãããã§ãã Mapã¯ã¤ã³ã¿ãã§ã¼ã¹ãªã®ã§ãJava7ã¾ã§ã®æ§æã§ã¡ã½ããã追å ãããã¨ããã¨ãMapãå®è£ ãã¦ãããã¹ã¦ã®ã¯ã©ã¹ã«æ°ããã¡ã½ããã®å®è£ ã追å ããå¿ è¦ãããã¾ãããããã¦ããã¯ç¾å®çã«ä¸å¯è½ãªã®ã§ãä»ã¾ã§Mapãªã©
id:KenichiroMurataï¼@muraken720 ï¼ã§ãã çãããRxJava 使ã£ã¦ãã¾ããï¼ ååã¯Vert.xã®mod-rxvertxã使ããRxJavaã«ãã£ã¦Callback Hellããè±åºããæ¹æ³ã説æãã¾ãããæ¬è¨äºã¯ããã£ãããªã®ã§Java8ã®ã©ã ãã使ã£ããããã«ã©ã®ããã«ãªãã®ãï¼ã試ãã¦ã¿ãè£è¶³è¨äºã§ãã ç®æ¬¡ã¯ä»¥ä¸ã®éãã§ãã ç°å¢ Java8 ã©ã ãã«ãã£ã¦Callback Hellã¯ããã«è§£æ±ºãããã ã¾ã¨ã 1. ç°å¢ æ¬è¨äºã§è©¦ããç°å¢ã«ã¤ãã¦èª¬æãã¾ãã Vert.x 2.1M1 mod-rxvertx 1.0.0-beta2 RxJava 0.15.1 Java 1.8.0-eaï¼build 1.8.0-ea-b118ï¼ IntelliJ IDEA 13 CE Java8ã試ãããã«ãIntelliJ IDEA 13 CEã使ãã¾ãããJ
ææã¾ã§4é£ä¼ã§ã®ãã³ããã¦ãã¦æ¸ãã®ãé ããªãã¾ããããéææ¥ã«JJUGã®ã¤ãã³ãã«è¡ã£ã¦ãã¾ãããä¼å ´ã¯éå±±ã®ãªã©ã¯ã«ããã§ããã Java8ããã£ãã使ã£ã¦ããããã¨æãã¾ããä»ã®ä»äºã¯C#ãªã®ã§ãã¡ãã£ã¨ããå人çãªä½æ¥ãããªãã©ã¤ã³ãªã¢ã«ã¿ã¤ã ã©ãæ¸ãã§è§£çãæ¸ãã®ã«ä½¿ãã®ãã¡ã¤ã³ã«ãªãããã§ãããã©ãã http://jjug.doorkeeper.jp/events/9344 彿¥åã£ãã¡ã¢ãææ³ãæ¸ãã¦ããã¾ãã ç¥ Java SE 8 æ£å¼ãªãªã¼ã¹ï¼å¯ºç°ããï¼ è³æ: http://yoshio3.com/2014/03/21/congrats-javase8-launch/ åç»: https://www.youtube.com/watch?v=ssrkw3v9tdM Javaã®ææ°æ å ±ã¸ã®ãªãã¡ã¬ã³ã¹ãæºè¼ã®è³æã§ãã Java 8ã§ã¯ãã¯ã©ã¹ãã¡ã¤ã«ã®ãã©ã¼ãããã
JJUGããã«ããJavaSE8ã®ãªãªã¼ã¹ãè¨å¿µããã¤ãã³ãã«åå ãã¦ãã¾ããï¼ åå¤ç¥ ãã¨ããªããã¦ããã®ã§ï¼åå¤ã«@megascusããã¨@modacondaããã¨æ°å®¿ã¯æèä¼çºã«ããã¸ã³ã®ã¹ã«ã³é§å³¶ã§é£äºããã¾ããï¼ åç©ã»é§ãã³ã¸ã£ãï¼ãããã§ããã£ãã§ãï¼12人åã ããã§ãè ¹ãã£ã±ãã©ã èãã£ã±ãé£ã¹ãã¾ããï¼*1 ã©ã èã¯åãã¦é£ã¹ãã®ã§ããããªããã«ã·ã¼ã§ãµã¯ãµã¯ããã¦ç¾å³ããã£ãã§ãï¼ ãã¨ï¼æèä¼çºæãã£ãã§ãï¼ ç¥Java8Launch å ¨ä½ãéãã¦ï¼ 300人以ä¸ãåå ç»é²ãï¼å®éã®åå è ã220åã»ã©æ¥ã¦ããããã§JavaSE8ã¸ã®æå¾ 度ã®é«ããæãã¾ãã*2ï¼ ç¥ Java SE 8 æ£å¼ãªãªã¼ã¹(寺ç°ã佳央(@yoshioterada) æ¥æ¬ãªã©ã¯ã« Java ã¨ãã³ã¸ã§ãªã¹ã) New Feature Of Java SE 8 from Oracle Fus
New Feature Of Java SE 8 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.1 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 以ä¸ã®äºé ã¯ãå¼ç¤¾ã®ä¸è¬çãªè£½åã®æ¹åæ§ã«é¢ããæ¦è¦ã説æãããã®ã§ã ãã¾ããæ å ±æä¾ãå¯ä¸ã®ç®çã¨ãããã®ã§ããããããªãå¥ç´ã«ãçµã¿è¾¼ãã ã¨ã¯ã§ãã¾ããã以ä¸ã®äºé ã¯ããããªã¢ã«ãã³ã¼ããæ©è½ãæä¾ãããã¨ãã³ãã ãã¡ã³ãï¼ç¢ºç´ï¼ãããã®ã§ã¯ãªãããã購買決å®ãè¡ãéã®å¤æææã«ãªãããªã ã§ä¸ããããªã©ã¯ã«è£½åã«é¢ãã¦è¨è¼ããã¦ããæ©è½ã®éçºããªãªã¼ã¹ããã³æ æã«ã¤ãã¦ã¯ãå¼ç¤¾ã®è£éã«ããæ±ºå®ããã¾ãã Oracleã¯ãç±³å½ãªã©ã¯ã«ã³ã¼ãã¬
ããã«ã¡ã¯ id:cero-t ã§ãã ããªãã¨ããã¯é¢¨éªãã²ããªããã¨è¨ããã¦ããã¨ãã å æ¥ãã¤ã³ãã«ã¨ã³ã¶ã«æãã£ã¦ãã¾ãã¾ãã¦ã éãçï¼å¤æ®µå¸å£ï¼é»æ°æ¯å¸ï¼æã®ã³ã³ãã§ä¸æ°ã«æªå¯ãå¹ãé£ã°ãã 䏿¥ã§ç±ãä¸ãããã®ã®ãææäºé²ã®ããã«åºç¤¾ãæ§ããããã«æéã§ãã ã¡ãã£ã¨Java8ãªã©ã¨æ¯ãã¦ãã¾ããã ããã仿¥ã¯Java8ã®è©±é¡ã§ãã ä»å¹´ã®ç§ã«æ£å¼ãªãªã¼ã¹ãäºå®ããã¦ããJavaSE8ã§ããã OpenJDKã®ãµã¤ãã§ã¯ãæ¢ã«Early Accessçãå ¥æãããã¨ãã§ãã¾ãã JDK8 : http://openjdk.java.net/projects/jdk8/ ãã¦ã³ãã¼ã : http://jdk8.java.net/download.html 1/31ã«ããã¤ã«ã¹ãã¼ã³6ããªãªã¼ã¹ãã Feature Complete ã¨ãªãã¾ããã ååããããã¨ å ¨æ©è½éçº
2014å¹´3æ18æ¥(ç±³å½æé)ãã©ã ããçé ã«æ°å¤ãã®æ°æ©è½ãå«ã¾ããJava 8ããããããªãªã¼ã¹ãããã ããæ°å¹´ãJavaã¯Oracleã®Sunè²·åã«ããæ··ä¹±ãå½åJava 7ã§å®è£ ãããã¯ãã ã£ãå¤ãã®æ©è½ã®å éããããã«ã¯Java 8ã®ãªãªã¼ã¹ã®é å»¶ãªã©æ§ã ãªè¦å ã«ãã£ã¦å¼·ãåæ»æããããããã颿°åè¨èªã®æ©è½ãåãå ¥ããScalaãªã©Javaã®ä»£æ¿ã¨ãªãJVMè¨èªã®å°é ã«ãç¹ãã£ãã ããããJavaããã°ã©ãã®æºã¾ãã«æºã¾ã£ãã¢ã¤ã¢ã¤ãææããã¢ãããã¼ãã¨ãã¦æå¾ ããã¦ããã®ãä»åã®Java 8ã ãåè¿°ã®éãã©ã ãã®å°å ¥ã«ããæ°ããªæ§æããStream APIãTime APIã¨ãã£ãã©ã¤ãã©ãªã®è¿½å ã¾ã§ãé常ã«å¤ãã®æ°æ©è½ãå«ãã§ããã æ¬ç¨¿ã§ã¯ãã®Java 8ã®ä¸»è¦ãªæ°æ©è½ã«ã¤ãã¦ãµã³ãã«ã³ã¼ãã交ãã¦ç´¹ä»ãã¦ãããJava 8ã®æ°æ©è½ãæ¼ãããããã®åèã«ãªãã°å¹¸ã
çµè« Java8ã®Optionalã¯è¶ ãã£ããæ±ãããããããGroovyãªããã Optionalã£ã¦ä½? Java 8ã§å°å ¥ãããæ°è¦ã¯ã©ã¹ã®ä¸ã¤ãjava.util.Optionalã¯ãã¡ã½ããã®å®è¡çµæã§æåããå ´åã¨å¤±æããå ´åãããã¨ãã«ããã®è¿ãå¤ã§æåã¨å¤±æã表ç¾ããããã®ãã®ã§ãã Opitonalã¯åä¸è¦ç´ ãä¿æããã³ã³ããåãæåããå ´åã¯è¿ãå¤ãã³ã³ããã§ä¿æããããã®ãè¿ãã(æåæã®è¿ãå¤ãã©ããã³ã°ãã) ã失æãã¯åºå®ã®ã·ã³ã°ã«ãã³(Optional.empty())ã¨ãã¦æ±ã ã¾ããããã ãã®è©±ã¨ããã°ããã ããªã®ã§ããã广ã¯ã 失æã®ããå¯è½æ§ã®ããã¡ã½ããã¨ç¡ãã¡ã½ãããã³ã¡ã³ãã§ã¯ãªãããã°ã©ã ã®ä¸é¨ã¨ãã¦æç¤ºãã両è ã®éããã³ã¼ãã£ã³ã°ä¸ãåºå¥ãã 失æã®ããå¯è½æ§ã®ããã¡ã½ããã¨ç¡ãæ··å¨ã»æ··åãããã¨ã®ãªãããã«ã³ã³ãã¤ã«æãã§ãã¯ãã§ãããã
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}