Java13新特性】的更多相关文章

Java 13 的官方开发目标包含改进垃圾收集.应用程序的类数据共享和文本块 Java 开发工具包(JDK)13,标准 Java 的下一个版本,现在可作为候选版本使用,所有新功能都已锁定.JDK 13提出了一种功能,但从未添加到官方列表中,即用于打包自包含 Java 应用程序的 jpackage 工具,已经无缘晋级.JDK 13 不再考虑它. [新的 Java 已经来了!了解 Jakarta EE 企业 Java 路线图.|新 Java 版本在这里!你需要学习任何关于 Java JDK 11 的…
在JDK 12中引入了Raw String Literals特性,但在发布之前就放弃了.这个JEP与引入多行字符串文字(text block) 在意义上是类似的. 这条新特性跟 Kotlin 里的文本块是类似的. 现实问题 在Java中,通常需要使用String类型表达HTML,XML,SQL或JSON等格式的字符串,在进行字符串赋值时需要进行 转义和连接操作,然后才能编译该代码,这种表达方式难以阅读并且难以维护. 文本块就是指多行字符串,例如一段格式化后的xml.json等.而有了文本块以后,…
新增 添加FileSystems.newFileSystem(Path, Map<String, ?>) Method 新的java.nio.ByteBuffer Bulk get/put Methods Transfer Bytes Without Regard to Buffer Position 支持Unicode 12.1 添加-XX:SoftMaxHeapSize Flag,目前仅仅对ZGC起作用 ZGC的最大heap大小增大到16TB 移除 移除awt.toolkit System…
在JDK 11中,Java引入了ZGC,这是一款可伸缩的低延迟垃圾收集器,但是当时只是实验性的.号称不管你开了多大的堆内存,它都能保证在 10 毫秒内释放 JVM ,不让它停顿在那.但是,当时的设计是它不能把内存归还给操作系统.对于比较关心内存占用的应用来说,肯定希望进程不要占用过多的内存空间了. 在Java 13中,JEP 351再次对ZGC做了增强,将没有使用的堆内存归还给操作系统.ZGC当前不能把内存归还给操作系统,即使是那些很久都没有使用的内存,也只进不出.这种行为并不是对任何应用和环境…
全新实现的 NioSocketImpl 来替换JDK1.0的PlainSocketImpl. 它便于维护和调试,与 NewI/O (NIO) 使用相同的 JDK 内部结构,因此不需要使用系统本地代码. 它与现有的缓冲区缓存机制集成在一起,这样就不需要为 I/O 使用线程栈. 它使用 java.util.concurrent 锁,而不是 synchronized 同步方法,增强了并发能力. 新的实现是Java 13中的默认实现,但是旧的实现还没有删除,可以通过设置系统属性 jdk.net.useP…
支持在Java application执行之后进行动态archive.存档类将包括默认的基础层CDS存档中不存在的所有已加载的应用程序和库类.也就是说,在Java 13中再使用AppCDS的时候,就不再需要这么复杂了. 该提案处于目标阶段,旨在提高AppCDS的可用性,并消除用户进行试运行以创建每个应用程序的类列表的需要. 使用示例: # JVM退出时动态创建共享归档文件:导出jsa java -XX:ArchiveClassesAtExit=hello.jsa -cp hello.jar He…
引入了yield语句,用于返回值: 和return的区别在于:return会直接跳出当前循环或者方法,而yield只会跳出当前switch块. @Test public void testSwitch2(){ String x = "3"; int i = switch (x) { case "1" -> 1; case "2" -> 2; default -> { yield 3; } }; System.out.printl…
Java9 发布于 2017 年 9 月 21 日 .作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化其中最重要的改动是 Java 平台模块系统的引入,其他还有诸如集合.Stream 流 Java 平台模块系统 Java 平台模块系统,也就是 Project Jigsaw,把模块化开发实践引入到了 Java 平台中.在引入了模块系统之后,JDK 被重新组织成 94 个模块.Java 应用可以通过新增的 jlink 工具,创建出只包含所依赖的 JDK 模块的自定…
  2019年9月19日java13已正式发布,感叹java社区强大,经久不衰.由于国内偏保守,新东西总要放一放,让其他人踩踩坑,等稳定了才会去用.并且企业目的还是赚钱,更不会因为一个新特性去重构代码,再开发一套程序出来.甚者国内大多传统企业还在用java4 .5.6… 今天讲一讲 java8 的新特性,Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本.Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的日期 API,新的…
前言 java13都已经来了,很多同学还停留在使用java5的东西.如果在日常开发中没有使用上java8的一些新特性或者不会用.这篇文章对你可能有帮助. lambda表达式 介绍 lambda表达式是java8出的一种新的语法,通过匿名调用的方式使代码更加优雅. 函数式接口 介绍 为了更友好的支持lambda表达式,在java8引入了函数式接口的概念. “函数式接口”是指仅仅只包含一个抽象方法,但是可以有多个非抽象方法(默认方法 default 修饰)的接口. “函数式接口”可以使用@Funct…