转载

JDK13新特性详解 原 荐

纯粹而又极致的光--木九天 Java各个版本特性

正文

JDK13新特性详解

JDK13新特性详解 原 荐
  木九天 发布于 今天 14:06

字数 900

阅读 23

收藏 0

CDS JDK

撸了今年阿里、头条和美团的面试,我有一个重要发现.......>>> JDK13新特性详解 原 荐

JDK8新特性详解

JDK9新特性详解

JDK10新特性详解

JDK11新特性详解

JDK12新特性详解

简介:JDK12于2019-09-17正式发布

1、switch优化更新

JDK11以及之前的版本:

switch (day) {
    case MONDAY: 
    case FRIDAY:
    case SUNDAY:
         System.out.println(6); 
         break; 
    case TUESDAY: 
        System.out.println(7); 
        break; case THURSDAY: 
    case SATURDAY: 
        System.out.println(8);
         break; 
    case WEDNESDAY:
         System.out.println(9);
         break; 
}

JDK12版本

switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> System.out.println(6); 
    case TUESDAY -> System.out.println(7); 
    case THURSDAY, SATURDAY -> System.out.println(8); 
    case WEDNESDAY -> System.out.println(9);
 }

JDK13版本

static void howMany(int k) {
    System.out.println(
        switch (k) {
            case  1 -> "one"
            case  2 -> "two"
            default -> "many"
        }
    );}

2、文本块升级

2.1 html例子

JDK13之前

String html = "<html>/n" +
              "    <body>/n" +
              "        <p>Hello, world</p>/n" +
              "    </body>/n" +
              "</html>/n";

JDK13优化的:

String html = """
              <html>
                  <body>
                      <p>Hello, world</p>
                  </body>
              </html>
              """;

      2.2、SQL变化

JDK13之前:

String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`/n" +
               "WHERE `CITY` = 'INDIANAPOLIS'/n" +
               "ORDER BY `EMP_ID`, `LAST_NAME`;/n";

JDK13:

String query = """
               SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
               WHERE `CITY` = 'INDIANAPOLIS'
               ORDER BY `EMP_ID`, `LAST_NAME`;

2.3 解释

文本块:

"""
line 1
line 2
line 3
"""

相当于字符串文字:

"line 1/nline 2/nline 3/n"

3、动态CDS档案

目标:

-Xshare:dump

4、取消使用未使用的内存

       摘要:

  增强ZGC以将未使用的堆内存返回给操作系统。

动机:

    ZGC目前没有取消提交并将内存返回给操作系统,即使该内存长时间未使用。对于所有类型的应用程序和环境,此行为并非最佳,尤其是那些需要关注内存占用
的应用程序和环境 例如:通过使用支付资源的容器环境。应用程序可能长时间处于空闲状态并与许多其他应用程序共享或竞争资源的环境。应用程序在执行期间可能
具有非常不同的堆空间要求。
    例如,启动期间所需的堆可能大于稳态执行期间稍后所需的堆。HotSpot中的其他垃圾收集器,如G1和Shenandoah,今天提供了这种功能,某些类别的用户发
现它非常有用。将此功能添加到ZGC将受到同一组用户的欢迎。

5、重新实现旧版套接字API

摘要:

使用更简单,更现代的实现替换java.net.Socket和java.net.ServerSocketAPI 使用的底层实现,易于维护和调试。新的实现很容易适应用户模式线程,也就是光纤,目前正在Project Loom中进行探索。

动机:

    在java.net.Socket和java.net.ServerSocketAPI,以及它们的底层实现,可以追溯到JDK 1.0。实现是遗留Java和C代码的混合,
维护和调试很痛苦。该实现使用线程堆栈作为I/O缓冲区,这种方法需要多次增加默认线程堆栈大小。该实现使用本机数据结构来支持异步
关闭,这是多年来微妙可靠性和移植问题的根源。该实现还有几个并发问题,需要进行大修才能正确解决。在未来的光纤世界环境中,而不是
在本机方法中阻塞线程,当前的实现不适用于目的。

© 著作权归作者所有

打印

上一篇: json字符串(String)转List<Map<String,Object>>

下一篇: JDK12新特性详解

JDK13新特性详解 原 荐

木九天

JDK13新特性详解 原 荐
JDK13新特性详解 原 荐

十周年

开源中国十周岁啦~ 感谢 OSCer 一路同行

领取条件:领取开源报告并收获三位 OSCer 点亮即可领取

JDK13新特性详解 原 荐
JDK13新特性详解 原 荐

新手上路

我是新来的,如果有什么说的不对的地方,来打我呀!

领取条件:第一次提问且回答数不少于 3

JDK13新特性详解 原 荐
JDK13新特性详解 原 荐

不耻下问

提问不是一件羞耻的事~!

领取条件:首次提问并采纳了答案

JDK13新特性详解 原 荐
JDK13新特性详解 原 荐

乐于助人

乐于助人是开源社区的良好礼仪~!

领取条件:回答上榜“回答被采纳数 TOP 5”或“回答问题数 TOP 5”任意一个榜单

JDK13新特性详解 原 荐
JDK13新特性详解 原 荐

码云六周年

社区可以使用码云账号登录啦!往后余生,结伴同行

领取条件:在六周年期间绑定码云账号即可领取

粉丝 171

博文 224

码字总数 169575

作品 0

海淀

程序员

提问

相关文章 最新文章

Java 13 明天发布,最新最全新特性解读

2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布。 目前,JDK官网上已经可以看到JDK 13的进展,最新版的JDK 13将于...

HollisChuang

昨天

164

0

Spring Cloud Edgware新特性之五:filters端点

Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。 Spring Cloud即将发布 版本。该版本解决了不少Bug,新增了不少新特性...

周立_itmuch

2017/10/30

0

0

Failure to find net.sf.json-lib:json-lib:jar:2.2.2

在项目中添加json-lib依赖时: 项目打包时时,执行 mvn package 查看到具体的详细信息:提示: Could not resolve dependencies for project com.platform:platform-gateway:jar:1.0: Failur...

SummerGao

03/20

56

0

common-logging 获取logFactory

如果已经创建,则从保存了的Hashtable型的factories直接取得,返回 LogFactory factory = getCachedFactory(contextClassLoader);if (factory != null) {return factory;}//.....factory = (......

rain

2012/11/15

170

0

​福利丨又一波大数据新书推介,来做第一个吃螃蟹的人吧!

又到了每周发福利的时刻! 延续上期主题,本期给大家带来3本@图灵教育的大数据新书推荐 小编云: 经典读物固然能让收获有所保障 可新书却给人更多阅读的新鲜体验 来吧,一起做第一个吃螃蟹的...

DBAplus社群

2017/12/20

0

0

JDK13新特性详解 原 荐

没有更多内容

加载失败,请刷新页面

加载更多
关于inline-block

用法1: 在父元素div中使用text-align:center, 如果在子元素中有好多个div或者a元素,可以给子元素设置display:inline-block, 这样就可以使子元素居中对齐了,...

东方巨人

27分钟前

4

0

8 分钟入门 K8s | 详解容器基本概念

一、容器与镜像 什么是容器? 在介绍容器的具体概念之前,先简单回顾一下操作系统是如何管理进程的。 首先,当我们登录到操作系统之后,可以通过 ps 等操作看到各式各样的进程,这些进程包括...

大涛学长

29分钟前

4

0

JDK13新特性详解 原 荐
你不会画连衣裙?对于怎么画连衣裙?

大家是不是都不知道连衣裙怎样画?开胸连衣裙怎样画?少女的裙子怎样画?今日我就整理了一篇关于连衣裙的画法!! 开胸学生裙直都是“杀死童贞”系列衣服中的经典之一-.突显人物胸部的设计可...

热爱画画的我

30分钟前

5

0

JDK13新特性详解 原 荐
Data Matrix代码效率增强!条码组件TBarCode SDK最新版更新啦!

TBarCode SDK一款多功能的条形码生成器和打印软件,适用于Microsoft®Office用户和软件开发人员,您可以创建和打印所有用于工业和商业用途的条形码符号。 使用TBarCode SDK,您可以使用条形码...

mnrssj

31分钟前

4

0

JDK13新特性详解 原 荐
关于sass的基础语法介绍

注:主要作为记录用 前言: sass是css预编译工具中的一种,结合compass使用可以大大加快css开发的速度,同时也可以解决一些css开发里比较难受的点。使用sass可以使css的开发对编程人员更...

前端老手

33分钟前

4

0

没有更多内容

加载失败,请刷新页面

加载更多
原文  https://my.oschina.net/mdxlcj/blog/3107021
正文到此结束
Loading...