2025年java 13基础教程

java 13基础教程Java 13 新特性 此版本带来了以下几大新特性 JEP 350 Dynamic CDS Archives 扩展应用程序类 数据共享 以允许在 Java 应用程序执行结束时动态归档类 归档类将包括默认的基础层 CDS class data sharing 存档中不存在的所有已加载的应用程序类和库类 JEP 351 ZGC Uncommit Unused Memory

大家好,我是讯享网,很高兴认识大家。



Java 13 新特性

此版本带来了以下几大新特性:

  • JEP 350,Dynamic CDS Archives:扩展应用程序类 - 数据共享,以允许在 Java 应用程序执行结束时动态归档类。归档类将包括默认的基础层 CDS(class data-sharing)存档中不存在的所有已加载的应用程序类和库类。
  • JEP 351,ZGC: Uncommit Unused Memory:增强 ZGC 以将未使用的堆内存返回给操作系统。
  • JEP 353,Reimplement the Legacy Socket API:使用易于维护和调试的更简单、更现代的实现替换 java.net.Socket 和 java.net.ServerSocket API 使用的底层实现。
  • JEP 354,Switch Expressions (Preview):可在生产环境中使用的 switch 表达式,JDK 13 中将带来一个 beta 版本实现。switch 表达式扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的 “case L ->” 模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配(JEP 305)做好准备。
  • JEP 355,Text Blocks (Preview):将文本块添加到 Java 语言。文本块是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。

安装 JDK 13

JDK 13 下载地址为 。

以 Windows 环境为例,可通过 jdk-13_windows-x64_bin.exe 或 jdk-13_windows-x64_bin.zip 来进行安装。 .exe 文件的安装方式较为简单,按照界面提示点击 “下一步” 即可。

下面演示. zip 安装方式。

1. 解压. zip 文件到指定位置

将 jdk-13_windows-x64_bin.zip 文件解压到指定的目录下即可。比如,本例子放置在了D:Program Filesjdk-13位置。

2. 设置环境变量

创建系统变量 “JAVA_HOME”,其值指向了 JDK 的安装目录。

java13怎么安装和使用

在用户变量 “Path” 中,增加“%JAVA_HOME%bin”。

Java13怎么安装和使用

注:JDK13 已经无需再安装 JRE,设置环境变量时也不用设置 CLASSPATH 了。

3. 验证安装

执行 “java -version” 命令进行安装的验证:

$ java -version java version "13" 2019-09-17 Java(TM) SE Runtime Environment (build 13+33) Java HotSpot(TM) 64-Bit Server VM (build 13+33, mixed mode, sharing)
讯享网
登录后复制

如果显示上述信息,则说明 JDK 已经安装完成。

如果显示的内容还是安装前的老 JDK 版本,则可按照如下步骤解决。

首先,卸载老版本的 JDK

Java13怎么安装和使用

其次,在命令行输入如下指令来设置 JAVA_HOM 和 Path:

讯享网>SET JAVA_HOME=D:Program Filesjdk-13 >SET Path=%JAVA_HOME%bin
登录后复制

Eclipse IDE 2019-09

在 Java 13 发布两天后的 2019 年 9 月 19 日,Eclipse IDE 2019-09 发布。Eclipse IDE 2019-09 声称支持 Java 13。接下里将演示如何使用 Eclipse IDE 2019-09 编写 Java 13 的示例。

本例使用的是 Eclipse 4.14 版本。

编写 Java 13 示例

实战 1:Switch 表达式的例子

下面是原有的 Switch 表达式的写法:

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; }
java 13基础教程
登录后复制

在 Java 12 中,Switch 表达式可以改为如下写法:

讯享网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); }
登录后复制

还能支持在表达式中返回值:

int numLetters = switch (day) {     case MONDAY, FRIDAY, SUNDAY -> 6;     case TUESDAY                -> 7;     case THURSDAY, SATURDAY     -> 8;     case WEDNESDAY              -> 9; };
登录后复制

在 Java 13 中,Switch 表达式可以改为如下写法:

int date = switch (day) {     case MONDAY, FRIDAY, SUNDAY : yield 6;     case TUESDAY                : yield 7;     case THURSDAY, SATURDAY     : yield 8;     case WEDNESDAY              : yield 9;     default                     : yield 1; // default条件是必须的 }; System.out.println(date);
登录后复制

需要注意的是,在使用 yield 时,必须要有 default 条件。

实战 2:文本块

自 Java 13 开始,支持文本块(Text Blocks)。

以下是 Java 13 之前的文本块的处理方式的示例:

String html = "
" +
                  "    
" +
                  "        <p>Hello, world</p><p><span>立即学习</span>“<a href=https://www.php.cn/faq/"https://pan.quark.cn/s/c1c2c2ed740f" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Java免费学习笔记(深入)</a>”;</p>
" +
                  "    
" +
                  "
";

System.out.println(html);
登录后复制

在上述示例中,由于文本块需要换行,所以产生了很多本文的拼接和转义。

以下是 Java 13 中的文本块示例:

String html2 = """
                  
                      
                          <p>Hello, world</p><p><span>立即学习</span>“<a href=https://www.php.cn/faq/"https://pan.quark.cn/s/c1c2c2ed740f" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Java免费学习笔记(深入)</a>”;</p>
                      
                  
                  """;
        
System.out.println(html2);
登录后复制

在上述示例中,对于文本块的处理变得简洁、自然。

以上两个示例在控制台输出内容都是一样的,效果如下:

              <p>Hello, world</p><p><span>立即学习</span>“<a href=https://www.php.cn/faq/"https://pan.quark.cn/s/c1c2c2ed740f" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Java免费学习笔记(深入)</a>”;</p>      
登录后复制
小讯
上一篇 2024-12-30 09:53
下一篇 2024-12-27 23:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/648.html