小滴课堂-学习笔记:(13)Java高级核心之大话JDK12和JDK13

56 篇文章 0 订阅
20 篇文章 0 订阅

logo 愿景:"让编程不再难学,让技术与生活更加有趣"


更多架构课程请访问 xdclass.net

 

目录

第1集 大话JDK各个版本常见问题讲解

第2集 玩转JDK13新特性之多行文本块

第3集 玩转JDK13新特性之增强switch表达式

干货文档


第1集 大话JDK各个版本常见问题讲解

简介:讲解JDK一些基础知识科普

 

  • OpenJDK和OracleJDK版本区别

    • OpenJDK是JDK的开放源码版本,以GPL协议的形式发布(General Public License)

    • Oracle JDK采用了商业实现

  • LTS 是啥意思?

    • Long Term Support 长期支持的版本,如JDK8、JDK11都是属于LTS

    • JDK9 和 JDK10 这两个被称为“功能性的版本”不同, 两者均只提供半年的技术支持

    • 甲骨文释出Java的政策,每6个月会有一个版本的释出,长期支持版本每三年发布一次,根据后续的发布计划,下一个长期支持版 Java 17 将于2021年发布

  • 8u20、11u20是啥意思?

    • 就是Java的补丁,比如JDK8的 8u20版本、8u60版本; java11的 11u20、11u40版本

  • JDK要收费了????

    • 问题的产生由来

      • Oracle 宣布 Java8 在 2019 年 1月之后停止更新,另外 Java11 及以后版本将不再提供免费的 long-term support (LTS) 支持,猜测未来将有越来越多 Java 开发者转向使用 OpenJDK

        • OpenJDK是免费的,想要不断体验新特性的developer来说是不错的选择

        • OracleJDK不是免费的,对于企业用户来说,有钱的情况下就选择OracleJDK

  • 对应oracleJDK ,我们可以自己用来写代码,调试,学习即可

 

 

第2集 玩转JDK13新特性之多行文本块

简介:讲解JDk13里面新增的多行文本块

旧:
String html = "<html>\n" +
              "    <body>\n" +
              "        <p>Hello, world</p>\n" +
              "    </body>\n" +
              "</html>\n";
​
​
String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
               "WHERE `CITY` = 'INDIANAPOLIS'\n" +
               "ORDER BY `EMP_ID`, `LAST_NAME`;\n";
​
​
新:
String html = """
              <html>
                  <body>
                      <p>Hello, world</p>
                  </body>
              </html>
              """;
​
​
String query = """
               SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
               WHERE `CITY` = 'INDIANAPOLIS'
               ORDER BY `EMP_ID`, `LAST_NAME`;
               """;
​
​
对比一
"""
line 1
line 2
line 3
"""
​
等效于字符串文字:
​
"line 1\nline 2\nline 3\n"
​
​
对比二
"""
line 1
line 2
line 3"""
等效于字符串文字:
​
"line 1\nline 2\nline 3"
​
对比三
文本块可以表示空字符串,但不建议这样做,因为它需要两行代码:
​
String empty = """
""";
​
​
注意:错误例子
String a = """""";   // no line terminator after opening delimiter
String b = """ """;  // no line terminator after opening delimiter
String c = """
           ";
  • 开启新版支持 jshell --enable-preview

 

 

 

 

第3集 玩转JDK13新特性之增强switch表达式

简介:讲解JDk13里面优化了switch表达式

  • 旧:没有break,则匹配的case后面会一直输出, value类型 可以是 byte、short、int 、char、String 类型

public void testOldSwitch1(){
    int i = 1;
        switch(i){
           case 0:
              System.out.println("zero");
           case 1:
              System.out.println("one");
           case 2:
              System.out.println("two");
           default:
              System.out.println("default");
        }
​
}
​
public void testOldSwitch2(int i){
      switch(i){
         case 0:
            System.out.println("zero");
            break;
         case 1:
            System.out.println("one");
            break;
         case 2:
            System.out.println("two");
            break;
         default:
            System.out.println("default");
      }
​
}
  • 新:使用箭头函数,不用声明break,会自动终止,支持多个值匹配,使用逗号分隔

  public void testNewSwitch(int i){
      switch(i){
          case 0 -> {
          System.out.println("zero");
          System.out.println("这是多行语句");
          }
          case 1,11,111 -> System.out.println("one");
          case 2 -> System.out.println("two");
          default -> System.out.println("default");
      }
  }

 

 

 

 

 

 

 

干货文档

                                                        关注公众号发送:“CSDN干货文档”  即可领取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dev666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值