Skip to content

openjdk 11 新特性验证

语言新特性(String增强, Optional增强)

测试代码:

import java.util.Optional;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class TestNew{
    public static void testString(){
        // String增强
        System.out.println(" ".isBlank());
        System.out.println(" Java ".strip());
        System.out.println(" Java ".stripLeading());
        System.out.println("Java".repeat(3));
        System.out.println("A\nB\nC".lines().count());
        System.out.println("A\nB\nC".lines().collect(Collectors.toList()));

        //Optional增强
        var op = Optional.empty();
        System.out.println(op.isEmpty());
    }

    public static void main(String[] args) {
        System.out.println("Hello wold!");
        TestNew.testString();
    }
}
结果正常
[root@openEuler-riscv64 example]# java TestNew
Hello wold!
true
Java
Java
JavaJavaJava
3
[A, B, C]
true

隐式编译

不提前编译,直接用java命令运行单个java文件:结果正常

[root@openEuler-riscv64 example]# java TestNew.java
Hello wold!
true
Java
Java
JavaJavaJava
3
[A, B, C]
true

ZGC (不支持)

java11引入的ZGC目前在riscv中不支持

Http客户端标准化

import java.net.http.*;
import java.net.URI;
import java.io.IOException;
import java.lang.InterruptedException;

public class TestHttp{
    public static void testHttp(){
        var request = HttpRequest.newBuilder()
            .uri(URI.create("https://it.zte.com.cn/"))
            .GET()
            .build();
        var client = HttpClient.newHttpClient();

        // 同步
        try{
                HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
                System.out.println(response.body());
        }catch(IOException | InterruptedException e){
        }

        // 异步
        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
            .thenApply(HttpResponse::body)
            .thenAccept(System.out::println);

    }

    public static void main(String args[]){
        TestHttp.testHttp();
    }
}
结果正常:
[root@openEuler-riscv64 example]# javac TestHttp.java
[root@openEuler-riscv64 example]# java TestHttp
<html>
<head><title>302 Found</title></head>
<body>
<center><h1>302 Found</h1></center>
<hr><center>openresty</center>
</body>
</html>