当前位置: 首页 > news >正文

wix网站建设哪个网站的织梦源码好

wix网站建设,哪个网站的织梦源码好,山东网站排名优化公司,加快网站集约化建设总结目录 前言 1. 局部变量类型推断 2.switch表达式 3.文本块 4.Records 5.模式匹配instanceof 6. 密封类 7. HttpClient 8.性能和内存管理能力提高 前言 从Java 8 到 Java 20#xff0c;Java 已经走过了漫长的道路#xff0c;自 Java 8 以来#xff0c;Java 生态系统…目录 前言 1. 局部变量类型推断 2.switch表达式 3.文本块 4.Records 5.模式匹配instanceof 6. 密封类 7. HttpClient 8.性能和内存管理能力提高 前言 从Java 8 到 Java 20Java 已经走过了漫长的道路自 Java 8 以来Java 生态系统发生了很多变化。最显着的变化是 Java 的发布节奏。Java 8 于 2014 年发布Java 17 于 2021 年发布。这两个版本之间相隔了 7 年。Java17是一个长期支持LTS的版本会有更稳定和持久的维护和更新。 1. 局部变量类型推断 这是自 Java 8 以来添加到 Java 中的最受欢迎的功能之一。它允许你在不指定类型的情况下声明局部变量。类型是从表达式的右侧推断出来的。此功能也称为var类型。 var name John; // 推断name的类型为String var age 25; // 推断age的类型为intSystem.out.println(name); // 输出John System.out.println(age); // 输出25需要注意的是var类型的局部变量仍然具有静态类型一旦被推断出来类型就会固定下来并且不能重新赋值为不兼容的类型。 2.switch表达式 在 Java 14 中使用 switch 表达式时你不必使用关键字break来跳出 switch 语句或return在每个 switch case 上使用关键字来返回值相反你可以返回整个 switch 表达式。这种增强的 switch 表达式使整体代码看起来更清晰更易于阅读。 来看一个需求根据不同的月份返回相应的季节名称。 传统java8 int month 9; String season;switch (month) {case 12:case 1:case 2:season Winter;break;case 3:case 4:case 5:season Spring;break;case 6:case 7:case 8:season Summer;break;case 9:case 10:case 11:season Autumn;break;default:throw new IllegalArgumentException(Invalid month: month); }System.out.println(season); // 输出Autumn java14switch表达式用法 int month 9;String season switch (month) {case 12, 1, 2 - Winter;case 3, 4, 5 - Spring;case 6, 7, 8 - Summer;case 9, 10, 11 - Autumn;default - throw new IllegalArgumentException(Invalid month: month); };System.out.println(season); // 输出AutumnJava 14还引入了新的关键字yield用于从switch表达式中返回一个值。使用yield可以提高代码的可读性并且可以在一个case块中计算多个结果 String season switch (month) {case 12, 1, 2 - {yield Winter;}case 3, 4, 5 - {yield Spring;}case 6, 7, 8 - {yield Summer;}case 9, 10, 11 - {yield Autumn;}default - throw new IllegalArgumentException(Invalid month: month); };3.文本块 文本块是 Java 15 中添加的一项新功能。它允许你在不使用转义序列的情况下创建多行字符串。这在你创建 SQL 查询或 JSON 字符串时非常有用。在下面的示例中你可以看到使用文本块时代码看起来更加简洁。 4.Records 记录Records是添加到 Java 14 的一项新功能。它允许你创建用于存储数据的类。它类似于 POJO 类但代码少得多大多数开发人员使用 Lombok 生成 POJO 类但是有了记录你就不需要使用任何第三方库。在下面的对比示例中你可以看到创建记录类所需的代码非常少。 传统java8 public class Person {private String name;private int age;public Person(String name, int age) {this.name name;this.age age;}//getter,setter,equaes,hashCode..........} 使用 Lombok import lombok.Data;Data public class Person {private String name;private int age; } java14Records public record Person(String name, int age) {} 需要注意的当使用记录类时字段被声明为final因此它们的值在对象创建后不能被修改。如果你尝试直接修改记录类的字段值编译器会报错。它适用于那些不需要在运行时修改的不变数据类。 5.模式匹配instanceof 模式匹配instanceof是 Java 16 中添加的一项新功能。它允许你将instanceof运算符用作返回已转换对象的表达式。当你使用嵌套的 if-else 语句时这非常有用。在下面的示例中你可以看到我们如何使用instanceof运算符来捕获Employee对象而不是进行显式转换。 6. 密封类 密封类是添加到 Java 17 中的一项新功能。它允许你将类或接口的继承限制为一组有限的子类。当你想将类或接口的继承限制为一组有限的子类时这非常有用。在下面的示例中你可以看到我们如何使用sealed关键字将类的继承限制为一组有限的子类。 你可以通过在类的声明前加上sealed关键字来将该类声明为密封类。然后你可以使用permits关键字列出该密封类允许继承的子类。这些子类必须直接或间接地继承自密封类。这样只有在这个预定义的子类中才能继承该密封类 //使用permits关键字列出了允许继承的子类Circle、Rectangle和Triangle public sealed class Shape permits Circle, Rectangle, Triangle {// 省略实现 }final class Circle extends Shape {// 省略实现 }final class Rectangle extends Shape {// 省略实现 }final class Triangle extends Shape {// 省略实现 }7. HttpClient Java 11 引入了一个新的标准 HTTP 客户端 API名为 HttpClient。这个 API 提供了一种现代化和灵活的方式来进行网络通信相对于以前的 HttpURLConnection它更易于使用和扩展也提供了更强大的功能 // 创建 HttpClient 实例 HttpClient httpClient HttpClient.newHttpClient();// 创建 HttpRequest 实例 HttpRequest httpRequest HttpRequest.newBuilder().uri(URI.create(https://example.com)).build();// 发送 GET 请求并获取响应 HttpResponseString httpResponse httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString());// 输出响应内容 System.out.println(httpResponse.body());8.性能和内存管理能力提高 Java 17 引入了两个新的垃圾回收器算法ZGC 和 Shenandoah并对现有的 G1 垃圾回收器进行了一些优化和改进提高了性能和内存管理。 ZGC ZGC 是一个低延迟、可扩展的垃圾回收器它的设计目标是在几毫秒甚至是亚毫秒级别内完成垃圾回收操作。ZGC 能够处理非常大的堆内存最大支持 16TB 的堆内存大小。 ZGC 使用了不同于传统垃圾回收器的分代模型它将整个堆内存划分为若干个连续的内存区域称为「任意内存区间」Arbitrary Memory RangesAMRs并将每个 AMR 都视为独立的对象组。这种设计可以让 ZGC 更好地处理非连续内存分配和释放操作从而避免了传统分代垃圾回收器中可能出现的内存碎片问题。 ZGC 还使用了一些高级技术如并发线程根扫描、无需暂停的对象分配、指针压缩等以提高垃圾回收的效率和性能。 Shenandoah Shenandoah 是另一个低延迟、可扩展的垃圾回收器它的设计目标也是在几毫秒内完成垃圾回收操作。Shenandoah 采用了一种类似于 ZGC 的划分方式将整个堆内存划分为若干个连续的内存区域并使用读屏障和写屏障等技术来保证垃圾回收的正确性。 Shenandoah 还支持多个并发垃圾回收线程可以在多核 CPU 上充分利用硬件资源提高垃圾回收的效率。 G1 垃圾回收器优化 Java 17 还对现有的 G1 垃圾回收器进行了一些优化和改进提高了性能和内存管理。具体来说包括以下方面 改进了 G1 的堆内存分配策略避免了大量的内存浪费引入了一种新的内存池机制能够更好地利用堆内存空间对 G1 的日志记录机制进行了改进可以更快地诊断和修复内存问题改进了 G1 的垃圾回收算法能够更好地处理大型应用程序和大型堆内存。
http://www.dnsts.com.cn/news/73824.html

相关文章:

  • 未来做哪些网站致富赣州新闻头条
  • 郑州做网站比较好公司如何创作自己的平台
  • 毛站电脑禁止访问网站设置
  • 正能量视频素材免费下载网站济南网站建设找老兵
  • 网站开发保障合同做外贸面料的网站
  • 有哪些网站平台德阳网站建设网站建设
  • js 网站跳转成立一个做网站的公司成本
  • 外贸网站建站n开发一个交友app需要多少钱
  • 网站服务器排名wordpress删除plugin
  • 南昌 网站html5网站开发趋势
  • 可以做笔试面试题的网站请人做装修设计上什么网站
  • 商务网站建设实验报告三层别墅设计图片大全 效果图
  • 南京建设局网站首页北京到广州动卧
  • 网页做二维码哪个网站好六安网站建设费用
  • 网站外包要注意什么电邮注册网站
  • 企业网站建设 管理 维护 请找网站关键词排名100
  • 网站建设合同细节网站栏目设计规划表
  • 网站维护微信公众号设计网站
  • 专业建站制作app界面生成器
  • 网站优化外包费用微信小程序开发环境搭建
  • 广州安尔捷做的网站好吗代运营公司排名
  • 城乡建设部网站首页wordpress 支付 API
  • 域名哪个网站好天津自动网站建设调试
  • 网站备案接入服务商sever2012做网站
  • 中国中建设计网站自己公司产品网站的好处
  • 站长网站查询ppt模板免费的网站推荐
  • 精神文明建设网站模板内部网站做登陆内部链接
  • 营销型网站建设开发工程建设标准网站
  • 全屏网站模板制作教程做外贸怎样上国外网站
  • 网站建设网站建设教程教育类网页设计代码