一、JShell(jdk9新特性)
二、集合中的新API
@Test
public void test1(){
List<String> list = List.of("11", "2", "aa");
List<String> list1 = Arrays.asList("11", "2", "aa");
//都不可再添加元素
//list.add("w");
//list1.add("w");
System.out.println(list);
System.out.println(list1);
LocalDate date = LocalDate.of(2022, 04, 14);
System.out.println(date);
//在添加重复元素时不是无法添加而是抛出异常
Set<Integer> set = Set.of(1, 3, 56745, 2523, 745);
System.out.println(set);
}
三、流中的新API
//流中的一些增强API
@Test
public void test2(){
Stream<Integer> stream = Stream.of(3, 9, 20, 22, 2, 2);
stream.forEach(System.out::println);
Stream<Object> stream1 = Stream.ofNullable(null);
System.out.println(stream1);
}
@Test
public void test3(){
Stream<Integer> stream = Stream.of(3, 9, 20, 22, 2, 2);
//从流中一直获取判定器为真的元素,遇到假的则终止
Stream<Integer> stream1 = stream.takeWhile(t -> t % 2 != 0);
stream1.forEach(System.out::println);
System.out.println("===============================");
//从流中一直丢弃判定器为真的元素,遇到假的则终止
Stream<Integer> stream2 = Stream.of(3, 9, 20, 22, 2, 2);
Stream<Integer> stream3 = stream2.dropWhile(t -> t % 2 != 0);
stream3.forEach(System.out::println);
}
@Test
public void test4(){
//流的迭代,创建流(java9)
Stream<Integer> stream = Stream.iterate(1, t -> (2 * t) + 1);
stream.limit(10).forEach(System.out::println);
//有限的迭代(java11)
Stream<Integer> stream1 = Stream.iterate(1,t->t<1000, t -> (2 * t) + 1);
stream1.forEach(System.out::println);
}
三、新加了一系列的字符串处理方法
五、optional加强
六、改进的API
七、标准java异步HTTP客户端
@Test
public void test1() throws IOException, InterruptedException {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder(URI.create("http://223.83.51.198:13680")).build();
BodyHandler<String> responseBodyHandler = BodyHandlers.ofString();
HttpResponse<String> response = client.send(request, responseBodyHandler);
System.out.println(response.body());
}
八、移除的一些其他内容
九、更简化的编译运行程序
十、新的Epsilon垃圾收集器
十一、ZGC
十二、完全支持linux容器(包括docker)
十三、支持G1上的并行完全垃圾收集
十四、java filght recorder