大家好,我是大洋。Java13于2019年9月17日发布。在本文中,我们将介绍一些新增功能以及一些代码示例。Java13的主要更新如下:switch表达式改进的文本块改进的动态CDS存档ZGC:取消提交未使用的内存重新实现LegacySocketAPI杂项1.switch表达式改进使用yield,我们现在可以从switch表达式中高效地返回值,并启用更容易实施策略模式。packagecn.dayangshuo.collectors;/***@authorDAYANG*/publicclassSwitchTest{publicstaticvoidmain(String[]args){varme=4;varoperation="平方";varresult=switch(operation){case"double"->{yieldme*2;}case"square"->{yieldme*me;默认->我;};System.out.println(结果);}}2。文本块改进第二个预览功能是多行字符串的文本块,例如嵌入的JSON、XML、HTML等。早些时候,为了在我们的代码中嵌入JSON,我们将其声明为字符串文字:StringJSON_STRING="{\r\n"+"\"name\":\"Baeldung\",\r\n"+"\"网址\":\"https://www.dayangshuo.cn/\"\r\n"+"}";现在让我们使用字符串文本块编写相同的JSON:StringTEXT_BLOCK_JSON="""{"name":"Baeldung","website":"https://www.dayangshuo.cn/"}""";显然,不需要转义双引号或添加回车。通过使用文本块,嵌入式JSON更易于编写、更易于阅读和维护。3.动态CDS归档类数据共享(CDS)一段时间以来一直是JavaHotSpotVM的一个显着特征。它允许在不同的JVM之间共享类元数据,以减少启动时间和内存占用。JDK10通过添加应用程序CDS(AppCDS)扩展了此功能——使开发人员能够将应用程序类包含在共享档案中。JDK12通过默认包含CDS存档进一步增强了此功能。但是,提交申请类别的过程很繁琐。要生成存档文件,开发人员必须首先测试运行他们的应用程序以创建一个类列表,然后将其转储到存档中。然后可以使用此存档在JVM之间共享元数据。通过动态归档,JDK13简化了这个过程。现在我们可以在应用程序退出时生成共享存档。这消除了试运行的需要。为了使应用程序能够在默认系统存档之上创建动态共享存档,我们需要添加一个选项-XX:ArchiveClassesAtExit并将存档名称指定为参数:java-XX:ArchiveClassesAtExit=
