????Java 8 ??????????????????2017??7????????汾????????????? ????????????? Java 9 ?????????????????°汾????????????????? ?????о???????????1?????? Java 9 ???????
????1. Java ?????????
????Java 9 ????幦?????????μ??????????????????????????????????????“??????????????”??????????????????????????????????????????: ????????????????з???? ????????ж??????????? JAR ?????????????????и?????????????????????????·??????κ????????????????????? ????????????????????????????????? API????????·???????????????: ????????????????? JAR ?????????? ?????????????????????? ?????????????????????????
??????黯?? JAR ???????????????????????????????????????????У? ??????????????????? “ requires” ????????????  “ exports”  ??????????Щ?????????????????????????в??????????????????????????檔??????????????????????????????? “module-info.java” ?????:
????module blog {
????exports com.pluralsight.blog;
????requires cms;
????}
???????????????????飺

???????????????鶼?????????????????????б?????????ó?????????????? ???????????????????Щ???е???Java ????????????????????????????黯???????? JDK ???????????????????????????????
??????????????黯?????? JVM ???????????е???鶼??????????? `requires`  ???——?????????·????????????????????????????????????????ò???????????????????? ?γ? ??????????? Java 9 ????鶴??????? ??
????2. Linking
??????????t?????????????????????黯?? JDK ????μ?????????????????ó????????????????????????ó???????????????????????? JDK ????????????????????Щ??????????С????????????????????????????ó??????????Щ?????? ???????? Java 9 ?е??μ? jlink ?????????????????????ó???????????С???????????????????????? JDK ????汾??
????3. JShell: ????? Java REPL
?????????????????н????????????Java ????????????????????????????????? jshell ?????????????????? Java ???? jshell ????????????????? API ??????????????ù????

??????????? Java ??????????????????? jshell ??????????????????????? ????? shell ??????????????????????????????????????? ??? ????????????????????α?д Java ??????У???????????? “public static void main??String [] args??” ???????
????4. ????? Javadoc
????????ЩС????????????????????????????????????? Google ??????????? Javadoc ?????? ??????????Javadoc ????????? API ????е??????????????Javadoc ??????????????? HTML5 ???????????????????? Javadoc ??涼?????й? JDK ???????????????????

????5. ???????????
????????????????????д??????????????磬List ?? Set ????????????Щ?????????? ?????????????? “add” ???????????????? Java 9??????????????????????
????Set<Integer> ints = Set.of(1?? 2?? 3);
????List<String> strings = List.of("first"?? "second");
???????????????????????Щ????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????Щ??????? “UnsupportedOperationException” ??
????6. ????? Stream API
??????????????Stream API ???? Java ???????????????????? API ?????????????????????????????????? Java 9 ??????????á?Stream ?????????? 4 ???μ?????? dropWhile?? takeWhile?? ofNullable ?????и? iterate ?????????????????????????????? Predicate (?ж?????)???????????????????
????IntStream.iterate(1?? i -> i < 100?? i -> i + 1).forEach(System.out::println);
?????????????????? Lambda?????????? IntStream ?е??????? 100 ??????? true?????????????????????????? 1 ?? 99??
????????? Stream ??????????Optional ?? Stream ?????????????????????????? Optional ???·??? `stram` ????? Optional ???????????(????????) Stream ????
????Stream<Integer> s = Optional.of(1).stream();
????????????? Stream ???????? Optional ???? Stream ??????á?
????7. ??н?????
????Java 8 ????????????????????? ?????????????????????????????????????? ???????????????м????????????????????????????????? ??????????????Щ?????????????????????з????? ????????????????е?? ?????????????????????????????????????????????????????????API???????? ??? Java 9?????????????????и??????????????????
????public interface MyInterface {
????void normalInterfaceMethod();
????default void interfaceMethodWithDefault() {  init(); }
????default void anotherDefaultMethod() { init(); }
????// This method is not part of the public API exposed by MyInterface
????private void init() { System.out.println("Initializing"); }
????}
?????????????????????? API ???????н????????????????????????
????8. HTTP/2
????Java 9 ?????μ????????? HTTP ???á???????????????????????? `HttpURLConnection` API???????? WebSocket ?? HTTP/2 ??????????μ? HttpClient API ?? Java 9 ??????ν?? ????????? ???????????????? API ?????? ??ɡ???????????? Java 9 ?п????????? API??
????HttpClient client = HttpClient.newHttpClient();
????HttpRequest req =
????HttpRequest.newBuilder(URI.create("http://www.google.com"))
????.header("User-Agent"??"Java")
????.GET()
????.build();
????HttpResponse<String> resp = client.send(req?? HttpResponse.BodyHandler.asString());
???????????????????/?????????HttpClient ???????μ? API ?????? HTTP/2 ????????????????????????