# 获取jdk

  • 使用spring-framework 里的get-jdk-url.sh 里的地址
##!/bin/bash
set -e

case "$1" in
	java8)
		 echo "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz"
	;;
	java11)
		 echo "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.8%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.8_10.tar.gz"
	;;
	java14)
		 echo "https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-14.0.2%2B12/OpenJDK14U-jdk_x64_linux_hotspot_14.0.2_12.tar.gz"
	;;
  java15)
		 echo "https://github.com/AdoptOpenJDK/openjdk15-binaries/releases/download/jdk-15%2B36/OpenJDK15U-jdk_x64_linux_hotspot_15_36.tar.gz"
  ;;
  *)
		echo $"Unknown java version"
		exit 1
esac

  • 获取alpine linux 的jdk 用于jenkins
    使用镜像 bellsoft/liberica-openjdk-alpine-musl 手动复制出来
[root@localhost risk-admin-web]## docker run -it --rm  bellsoft/liberica-openjdk-alpine-musl:15-36 
/ ## ls
bin    dev    etc    home   lib    media  mnt    opt    proc   root   run    sbin   srv    sys    tmp    usr    var
/ ## echo $JAVA_HOME
/usr/lib/jvm/jdk-15-bellsoft-x86_64

docker cp focused_buck:/usr/lib/jvm/jdk-15-bellsoft-x86_64 /usr/local/src/docker/jenkins/data/

# Java 9

  • List.of() Set.of() Map.of() Map.ofEntries()
  • Stream 新方法 ofNullable、dropWhile、takeWhile、iterate。Collectors增加filtering和flatMapping
  • Optional 增加 ifPresentOrElse、or、Stream
  • 接口私有方法
  • try-with-resources
  • CompletableFuture 增加新方法 completeAsync,orTimeout

# Java 11-

  • list,set,map提供了静态方法copyOf()返回入参集合的不可变拷贝。java.util.stream.Collectors中新增静态方法,用于将流中的元素收集为不可变的集合
  • Optional 增加orElseThrow()方法在没有值的时候抛出异常
  • 字符串增加一些方法
.isBlank()
.strip()
.stripLeading()
.stripTrailing()
.repeat()
.lines()
  • ZGC 可伸缩,低延迟的垃圾收集器
  • jdk.incubator.http 改为 java.net.http HttpClient 的升级
  • lambda 中可以使用var进行类型推断
  • NumberFormat 对数字进行格式化
  • MessageFormat 字符串的格式化

# Java 13

  • yield关键字
  • 文本块 """ """

# Java 14

  • record 关键字
  • 异常精准提示
    JVM参数 XX:+ShowCodeDetailsInExceptionMessages
  • switch 转正

# Java 15

  • Sealed Classes 预览版 指定的类才能继承
  • ZGC转正
  • Text Blocks 转正
  • Shenandoah 低停顿的垃圾回收器
最后编辑时间: 12/21/2020, 8:56:16 PM