Oracle公司提供了两个JDK:
除了以上两种JDK,业界还有不少第三方提供的JDK,它们大都基于OpenJDK。比如Amazon Corretto。
Amazon Corretto官网: https://aws.amazon.com/cn/corretto/
Amazon Corretto是Amazon提供的一个免费的、基于OpenJDK的、多平台的、生产就绪的JDK发行版。Amazon Corretto提供了长期支持,其中包括性能增强和安全修复。Amazon在内部数千种生产服务上运行着Corretto,并且Corretto已被证明能够兼容Java SE标准。借助Corretto,用户可以在常用操作系统(包括Amazon Linux 2、Windows和macOS)上开发和运行Java应用程序。
Amazon Corretto可以免费下载和使用。没有任何其他付费功能或限制。Amazon公司计划每季度发布一次更新,其中包括对企业应用程序开发至关重要的性能增强和错误修复。
目前Amazon发布了Corretto的Corretto 8 Preview预览版本,它基于OpenJDK 8源码。
下载地址: https://docs.aws.amazon.com/zh_cn/corretto/latest/corretto-8-ug/downloads-list.html
$ amazon-linux-extras enable corretto8
将Amazon Corretto 8安装为JRE:
$ sudo yum install java-1.8.0-amazon-corretto
将Amazon Corretto 8安装为JDK:
$ sudo yum install java-1.8.0-amazon-corretto-devel
安装位置是/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64。
在终端中,运行以下命令:
$ java -version openjdk version "1.8.0_192" OpenJDK Runtime Environment (build 1.8.0_192-amazon-corretto-preview-b12) OpenJDK 64-Bit Server VM (build 25.192-b12, mixed mode)
可以使用以下命令卸载Amazon Corretto 8。
卸载JRE:
$ sudo yum remove java-1.8.0-amazon-corretto
卸载JDK:
$ sudo yum remove java-1.8.0-amazon-corretto-devel
建立Amazon Corretto 8的Docker镜像
$ docker build -t amazon-corretto-8 github.com/corretto/corretto-8-docker
命令完成后,将拥有一个名为amazon-corretto-8的镜像。
要在本地运行此镜像,请运行以下命令:
$ docker run -it amazon-corretto-8
还可以将此镜像推送到Amazon ECR。
可以使用Amazon Corretto 8 Docker镜像作为父镜像来创建新的Docker镜像。
创建Dockerfile,内容如下:
FROM amazon-corretto-8 RUN echo $' / public class Hello { / public static void main(String[] args) { / System.out.println("Welcome to Amazon Corretto!"); / } / }' > Hello.java RUN javac Hello.java CMD ["java", "Hello"]
构建新镜像:
$ docker build -t hello-app .
运行新镜像:
$ docker run hello-app
将获得以下输出。
Welcome to Amazon Corretto!