????????????Java 9?У???????????????????
?????й?Java9????????????Щ??????????????????JDK???????????????????????汾?????????2015??12?????????й????????????????????????bug??????????????????У??????????2016??9?·?????
?????????????Java 9????????????????????????????????????Java 8???????????????lambdas??????streams??API?仯????????Java 9?????Jigsaw?????????ù?????????仯????????????У???????Щ?????????Java 9???????????——?????????2????Jigsaw??????е??????JRE????Java?????????黯???????
???????????Щ??????Java 9?б??????????е??Щ??????????????汾??????????????????
????1.Java + REPL = jshell
?????????????????Kulla?????????Java 9????????????????????????????????淢????Java?????г??jshell?????????й????????????????????Java?????REPL?????????????????????????????????????????м???Java??????????????????????????????????????
??????????????????Щ??????
????-> 2 + 2
????| ?????????4
????| ?????????$1?????????int
?????????Щ??REPL?????????????????????????е?IDE?????????У???Java REPL??????????????????????й??????????????????????jshell???????汾??????????????????????????????????С?
????2???????????????
??????Alexey Shipilev??????Java?????????????Java Microbenchmarking Harness??????????????????Σ???????Java???????????????????????????????Takipi??????????????????????з??????????????
????JHM????????????????к????nano/micro/milli/macro?????????????漰?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JMH?????????——????????????????Java 9?????????
????3??G1?????μ???????????????
?????????????????????????Java????????????????????????????4????Java 9?У???????????????飬?????滻??Java 7?????G1??????????????????/??????????????????????????????????????????????????????
????????????G1??????????????????4GB???????????????????GC????????????????????????????????????????Outbrain?????????Haim Yadid?????????GC????????棬????????????????????????????????????????????????????????????hotspot-dev??jdk9-dev????????????????????????
????4??δ????HTTP 2.0
?????????HTTP 2.0????????????????????????Google??SPDY????????SPDY??????????HTTP 1.1???????????????Χ??11.81%??47.7%?????????????????????????????????????Java 9????????HTTP 2.0???????Java???????μ?HTTP??????????HttpURLConnection?????????????HTTP 2.0??websockets??
????5??????API???????????
???????????????Java??????????????????????????????????????汾??Java?У???????Щ???????飬????????PID??????????????????????????????????????????????????????????????????????????????????????????
??????Java 9?У???????Linux PID???????????????????????
????public static void main(String[] args) throws Exception {
????Process proc = Runtime.getRuntime().exec(new String[]{ "/bin/sh"?? "-c"?? "echo $PPID" });
????if (proc.waitFor() == 0) {
????InputStream in = proc.getInputStream();
????int available = in.available();
????byte[] outputBytes = new byte[available];
????in.read(outputBytes);
????String pid = new String(outputBytes);
????System.out.println("Your pid is " + pid);
????}
????}
????????????????????????????е??????????
????System.out.println("Your pid is" + Process.getCurrentPid());
???????????????Java?????????????????????μ???????PID???????????????????????JVM???????????????
??????????Java 9?м???????
??????????????????????????????????????Java?????汾?е??????——?????????????????????????????η?????汾??
????1????????????????JSON API
????????????е?????350???????????????У?JSON API??Jigsaw????????????????????????????????????汾?У????????????????Mark Reinhold??Java???????????????JDK 9??????б???д????
????“???JEP???????????????????????????????????????????????Oracle???????????????????????????????????????????????????JDK 10????????汾????????JEP??”
????2??????????API
???????????????????????????????API????Oracle???????????????Anatole Tresch??????????????API??????????
????@tkfxin ????????Oracle?????????????????????????????Java EE??????spring???????? :)
????– Anatole Tresch (@atsticks) 2015??6??16??
????????????????????????????????????????ɡ???п??????????????????????????д???????????ж??