????1. ????Streams??????????????????
????Java8??????????????????????–???小?parallelStream() ?????????????????????小???????????????????????????????????写??????些??????????????CPU?????????????????????????????????????fork/join?????e??????????????????????????????????貌???????????????????????
?????????????貌?????????????????????????械????????????????些???????????????15%???????????????????????????????????????????.parallelStream() ???????????????????校????????????????CPU??????????????????????????谢?????????????宥�???????
??????????????????????????楗�???/??????????
????Map<Boolean?? List<Integer>> groupByPrimary = numbers
????.parallelStream().collect(Collectors.groupingBy(s -> Utility.isPrime(s)));
????????????????锌???????????????????????????????????????????????????????些??????????????????????????.parallelStream() ?????????????????????????????????????????????????????锟�? Lukas Krecan???????些???????? ??
????????????写????????????????????????些??????????????????????????????????????????????????????????????????谢????
????2. Lambda ?????????
????lambda?????????lambda?????????lambda?????????????????????????椋�????lambda?????????????????????????????????????lambda?????????????????????????绫�?????????????????????????????????????????????254??????
????List lengths = new ArrayList();
????for (String countries : Arrays.asList(args)) {
????lengths.add(check(country));
????}
??????????????????????lambda??????????????????
????Stream lengths = countries.stream().map(countries -< check(country));
????????!????????????????????些??lambda?????????????????Java???校??????????????????????锟�??????????????????Java?????娣�???????????????????????????lambda????? ??????????????????????????????????????????????lambda????????????????Tal Weiss????????
???????????????????写????????????????????????????????????????????????????些???????????????????????????list?校????????????????????????
????at LmbdaMain.check(LmbdaMain.java:19)
????at LmbdaMain.main(LmbdaMain.java:34)
?????????????
at LmbdaMain.check(LmbdaMain.java:19)
at LmbdaMain.lambda$0(LmbdaMain.java:37)
at LmbdaMain$$Lambda$1/821270929.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.LongPipeline.reduce(LongPipeline.java:438)
at java.util.stream.LongPipeline.sum(LongPipeline.java:396)
at java.util.stream.ReferencePipeline.count(ReferencePipeline.java:526)
at LmbdaMain.main(LmbdaMain.java:39
????lambda????????????????????????????????????????????????????些???危???些???????????????????????????????些????渭????些???????????谩?Lukas Eder ???????????????????
???????????????????????????????????????????????????????????lambda??????
????3. Default???????????
????Default???????????????????????????????????????Java8???????锌?????????????????????????????些???????????????????????default???????????????????
????Defalut????????????????????????????????械????????????????????????????写????????????????????????姹�????????纾�?????????Oracle Java????? ?????????????????????????
public interface TimeClient {
// ...
static public ZoneId getZoneId (String zoneString) {
try {
return ZoneId.of(zoneString);
} catch (DateTimeException e) {
System.err.println("Invalid time zone: " + zoneString +
"; using default time zone instead.");
return ZoneId.systemDefault();
}
}
default public ZonedDateTime getZonedDateTime(String zoneString) {
return ZonedDateTime.of(getLocalDateTime()?? getZoneId(zoneString));
}
}
??????????????????卸???????????????Default?????????????????????????????????????????????????????????????????渭????????????????????Oleg Shelajev??RebelLabs?????????掳伞?
????????????????????????????????????????????????????????梅???????????????????????渭?????????????????