JDK17新特性 JDK17 (LTS)长期支持版本JDK17 是继jdk11后的长期支持版本,中间 12到16都是非长期支持版本,17支持到 2029 年 9 月由于了解到Oracle JDK17免费下载,可以免费商用,但是1、JDK17确实可以免费商用,时间截止到2024年9月,共计3年。完整的许可协议在这里(NFTC,https://www.oracle.com/downloads/licenses/no-fee-license.html),我把权利和义务放到附录1。里面说的比较清楚,在符合美国进出口限制的情况
JDK16 新特性 JDK16338:Vector API (Incubator)347:Enable C++14 Language Features357:Migrate from Mercurial to Git369:Migrate to GitHub376:ZGC: Concurrent Thread-Stack Processing380:Unix-Domain Socket Channels386:Alpine Linux Port387:El
JDK15 新特性 JDK15339:Edwards-Curve Digital Signature Algorithm (EdDSA)360:Sealed Classes (Preview)371:Hidden Classes372:Remove the Nashorn JavaScript Engine373:Reimplement the Legacy DatagramSocket API374:Disable and Deprecate Biased Lockin
JDK14新特性 JDK14305:Pattern Matching for instanceof (Preview)343:Packaging Tool (Incubator)345:NUMA-Aware Memory Allocation for G1349:JFR Event Streaming352:Non-Volatile Mapped Byte Buffers358:Helpful NullPointerExceptions359:Records (
JDK13新特性 JDK13350:Dynamic CDS Archives351:ZGC: Uncommit Unused Memory353:Reimplement the Legacy Socket API354:Switch Expressions (Preview)355:Text Blocks (Preview)动态CDS归档Dynamic CDS ArchivesJDK5引入了Class-Data Sharing可以用于多个JVM共享class,提升
JDK12新特性 JDK12低暂停时间垃圾收集器(实验性)Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)添加一个名为Shenandoah的新垃圾收集(GC)算法,通过与正在运行的Java线程同时进行疏散工作来减少GC暂停时间。使用Shenandoah的暂停时间与堆大小无关,这意味着无论堆是200MB还是200GB,都将具有相同的一致暂停时间。Zing/Azul有一个pauseless收集器,但是这个工作并没有贡献给OpenJDK。Z
JDK11新特性 JDK11 (LTS)长期支持版本基于嵌套的访问控制181: Nest-Based Access Control如果在一个类中嵌套了多个类,各个类可以直接访问彼此的私有成员。JDK11在private、public、protected的基础上,JVM又提供了新的访问机制:Nest。,在反射时调用内部类的私有属性是,不再需要field.setAccessible(true);动态类文件常量309: Dynamic Class-File ConstantsJava的类型文件格式将被拓展,
JDK10新特性 JDK10Java10于2018年3月发布,改进的关键点包括一个本地类型推断、一个垃圾回收的增强。Java10计划只是一个短期版本,因此公开更新将在六个月内结束,9月份发布的Java11将是Java的 长期支持(LTS)版本,LTS版本的发布每三年发布一次。由于oracle版本的jdk早在JDK8u202版本就更改为商用协议,开始收费,因此主要介绍开源版本openjdk官方文档 JDK 10 (java.net)【重磅】局部变量类型推断286: Local-Variable Type In
LeetCode47.全排列II 的不同剪枝法的解析 首先贴上两种差距微妙的解题代码第一种public List<List<Integer>> permuteUnique(int[] nums) { List<List<Integer>> result = new LinkedList<>(); boolean[] visited = new boolean[nums.length]; Arrays.sort(nums); backt