?????????????API–JEP 251
????????????????????API??????????????????????????????????????????
????????μ?API??????java.awt.image???У????API?????????????μ??????
????1.??????????????????????????????????У??????????塣
????2.?????????????б??塣
????3. ??????????????????–???????????????λ?DPI?????????С?????????????????????????塣
???????????????????С?????????????????java.awt.Graphics????????MultiResolutionImage??????????塣java.awt.image.AbstractMultiResolutionImage??????ava.awt.image.AbstractMultiResolutionImage ???????AbstractMultiResolutionImage??????????java.awt.image.BaseMultiResolutionImage??
????????API????
???????????????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());
????Try-With-Resources
??????Java 7?У?try-with-resouces?????????????????????μ????????????Щ?????try-with-resources?????й????
??????Java 9?У??????????????????????????final?????Ч??final?????????????????????????μ??????????£?try-with-resources???????????????
????MyAutoCloseable mac = new MyAutoCloseable();
????try (mac) {
????// do some stuff with mac
????}
????try (new MyAutoCloseable() { }.
????finalWrapper.finalCloseable) {
????// do some stuff with finalCloseable
????}
?????????diamond??????????Χ??????
????Java 7?????????????????????д??????????????????????У?????????Java 7??List???б???????????????????????????????
????List<String> preJava7 = new ArrayLis
????t<String>();//java 7 ????д??
????List<String> java7 = new ArrayList<>
????();//java 7 ????д??
????????Java 7?????????????????????????????á?????Java 9?и??????????????????????????????????????á???????????????Java 9?в??????????
????List<String> list = new ArrayList<>(){ };
????????????Deprecated
???????@Deprecated??????Java API?????@Deprecated?к??????壬???????????????????????????????????API?????????????????????API???????????????????????á???????????????塣??????????й?@Deprecated???????@Deprecated?????forRemoval????since????
????Java SE 9 ??????????jar????????jdeprscan?????????????????????????????????Java SE?е????????API???? ???????????????????????????ó????а????????????????????????????????????????Щ???????API??
????????JVM???
?????????????????????JVM????????????JVM????????????????????????????????????е?JVM?????????????????????ЩJVM????????????????????JVM??????????????JVM????????????????????????????????JVM??????е????
???????SafeVarargs??Χ??????
???????Java 8??@SafeVarargs??????????????final???????????????á???????Щ???????????????????????????Щ????????????????????????????????????????з?????Java 9?????@SafeVarargs??????з?????????????????Java 9????????????????Java 8?л????????????? ???@SafeVarargs???????final?????????iAmSafeVaragrsMethod????á?
????@SafeVarargs
????private void iAmSafeVaragrsMethod
????(String... varagrgs)
????{
????for (String each: varagrgs) {
????System.out.println(each);
????}
????}
????HTTP 2 ?????
????Java 9????????μ?HTTP?????API????ЩAPI???HTTP/2Э???WebSocketЭ?飬?????滻???????HTTPURLConnection API????Щ??????????Java 9????ɡ???ЩAPI?????Incubator??????????????л????????????????£???????????????classpath????????????--add-modules????????????????飬????????????classpath?С?
??????????????HTTPRequest??????????????:
URI testPageURI = new URI("http://
127.0.0.1:8080/testPage");
CompletableFuture<HttpResponse>
nonBlockingResponse =  HttpRequest
.create(testPageURI)
.GET().responseAsync();
int tries = 0;
while(!nonBlockingResponse.isDone()
&& tries++ < 5) { Thread.sleep(5); } if
(nonBlockingResponse.isDone()) { Http
Response response
= nonBlockingResponse.get(); System.
out.println("status
code : " + response.statusCode() + "
--> " +  response
.body(HttpResponse.asString()));
}
else {
nonBlockingResponse.cancel(true);
System.out.println("Cancelling?? coul
d not get response");
}
????HTML5????Java???????
????Java 8???????汾?????Java???????????HTML 4?У???HTML 4???????????????Java 9?У?javadoc????????????????????????????????????HTML 4??????HTML 5??????HTML 4??????????????????????????????JDK?У?HTML 5?????????????????????Java??????????????????????????????????????????????HTML 5?????Java????????????????????
?????????????
????1. ????????????????????????????_??
????2. ????Applet API??
????3.javac???????Java1.4???????汾??
????4. ????Java??????????
????5.?????API–?????API???????????????????е??????