- 博客(23)
- 收藏
- 关注
原创 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。里面说的比较清楚,在符合美国进出口限制的情况
2021-11-24 15:13:59
28220
原创 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
2021-11-24 15:08:43
618
原创 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
2021-11-24 15:08:01
263
原创 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 (
2021-11-24 15:03:31
196
原创 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,提升
2021-11-24 14:59:00
478
原创 JDK12新特性
JDK12低暂停时间垃圾收集器(实验性)Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)添加一个名为Shenandoah的新垃圾收集(GC)算法,通过与正在运行的Java线程同时进行疏散工作来减少GC暂停时间。使用Shenandoah的暂停时间与堆大小无关,这意味着无论堆是200MB还是200GB,都将具有相同的一致暂停时间。Zing/Azul有一个pauseless收集器,但是这个工作并没有贡献给OpenJDK。Z
2021-11-24 14:57:53
182
原创 JDK11新特性
JDK11 (LTS)长期支持版本基于嵌套的访问控制181: Nest-Based Access Control如果在一个类中嵌套了多个类,各个类可以直接访问彼此的私有成员。JDK11在private、public、protected的基础上,JVM又提供了新的访问机制:Nest。,在反射时调用内部类的私有属性是,不再需要field.setAccessible(true);动态类文件常量309: Dynamic Class-File ConstantsJava的类型文件格式将被拓展,
2021-11-24 14:56:55
701
原创 JDK10新特性
JDK10Java10于2018年3月发布,改进的关键点包括一个本地类型推断、一个垃圾回收的增强。Java10计划只是一个短期版本,因此公开更新将在六个月内结束,9月份发布的Java11将是Java的 长期支持(LTS)版本,LTS版本的发布每三年发布一次。由于oracle版本的jdk早在JDK8u202版本就更改为商用协议,开始收费,因此主要介绍开源版本openjdk官方文档 JDK 10 (java.net)【重磅】局部变量类型推断286: Local-Variable Type In
2021-11-24 14:55:57
140
原创 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
2021-11-12 00:37:46
163
原创 单元测试基础应用
单元测试应用开发人员写的常常是“单元测试”,但其实可以细分成 单元测试 和 集成测试 两个。单元测试单元测试:是指对软件中的最小可测试单元进行检查和验证。单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不保证整体业务是准确的。单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复、改进或重构之后的正确性。单元测试不验证应用程序代码是否和外部依赖正常工作。它聚焦与单个组件并且 Mock 所有和它交互的依赖。例如,方法中调用发短信
2021-11-01 21:16:46
175
原创 面向对象(OOP)程序设计六原则
面向对象的设计原则1.单一职责原则(SRP)定义:对于一个类,有且仅有一个引起它变化的原因。单一职责的英文全称是Single Responsibility Principle, 简称SRP。通俗讲就是我们不要让一个类承担过多的职责。如果一个类承担的职责过多,如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会导致类的行为功能发生变化。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到破坏。我们要做的就是要分离这种多职责的变化,从而降低耦合度。SRP遵循的OO设计原则就是
2021-08-25 16:27:37
246
原创 Mysql的执行计划解析(全字段)
执行计划解析使用执行计划 EXPLAIN 或者 DESCEXPLAIN select * from user可以得到以下返回结果idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra1SIMPLEuserALL10651100这些字段的含义分别是id: 在一个大的查询语句中每个 SELECT 关键字都对应一个唯一的 idsel
2021-05-07 23:47:34
558
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人