一、下载和安装
JDK 11.0.18是Oracle JDK系列的一个版本,用于开发Java应用程序,提供了编译器、JVM和其他必要的类库。
下载JDK后解压缩到指定目录,设置JDK的环境变量使其可以被你的应用程序调用:
$ tar xvf jdk-11.0.18_linux-x64_bin.tar.gz $ sudo mv jdk-11.0.18 /usr/local/ $ echo 'export JAVA_HOME=/usr/local/jdk-11.0.18' >> ~/.profile $ echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.profile $ source ~/.profile
二、使用JShell交互式命令行
JShell是JDK 9新加入的交互式命令行工具,它可以帮助开发人员快速验证Java代码,无需写完整的应用程序或类文件。启动JShell并执行一些Java表达式:
$ jshell | Welcome to JShell -- Version 11.0.18 | For an introduction type: /help intro jshell> int i = 5 i ==> 5 jshell> String s = "Hello" s ==> "Hello" jshell> System.out.println(s + " World") Hello World
三、新功能和改进
1. HTTP客户端API
JDK 11提供了一组新的HTTP客户端API,可以轻松处理各种数据格式的请求和响应,包括JSON、XML和文本。
HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://www.example.com/api/data")) .build(); HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
2.局部变量类型推断
现在可以使用var关键字定义局部变量,编译器可以根据变量初始化的表达式推断变量类型。
var list = new ArrayList(); list.add("Java"); list.add("Kotlin"); list.add("Scala");
3.支持Unicode 10.0.0
JDK 11支持Unicode 10.0.0,这意味着可以使用最新的Unicode字符,比如?和?。
System.out.println("\uD83E\uDD84"); // ? System.out.println("\uD83E\uDD8A"); // ?
4.新垃圾收集器
JDK 11添加了一个新的垃圾收集器,称为ZGC,它可以执行几乎无暇地停顿长达几千兆字节的堆。
java -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms10g -jar your_app.jar
5.多版本兼容性
Java 11引入的新工具jdeprscan可以扫描应用程序,给出关于其类、方法、字段和其他元素的兼容性警告。
jdeprscan your_app.jar
四、结论
本文详细介绍了JDK 11.0.18,提供了下载和安装指南,以及介绍了一些新功能和改进,包括HTTP客户端API、局部变量类型推断、Unicode 10.0.0、新垃圾收集器和多版本兼容性。这些新功能为Java开发人员提供了更好的工具和性能。
原创文章,作者:IDTRA,如若转载,请注明出处:https://www.506064.com/n/370915.html