首页 > 编程语言 >Java 12 新特性

Java 12 新特性

时间:2023-06-28 17:34:47浏览次数:37  
标签:12 Java String 示例 特性 Shenandoah println

Java 12是Java平台的另一个重要版本,它引入了一些新特性和改进。

  以下是Java 12的一些新特性以及基于这些特性的Java代码案例:

  1. Switch表达式(Switch Expressions):

    Java 12引入了新的Switch表达式,使得Switch语句更加灵活和易用。下面是一个使用Switch表达式的示例:

 1 int dayOfWeek = 3;
 2 String dayName = switch (dayOfWeek) {
 3     case 1 -> "Monday";
 4     case 2 -> "Tuesday";
 5     case 3 -> "Wednesday";
 6     case 4 -> "Thursday";
 7     case 5 -> "Friday";
 8     default -> "Unknown";
 9 };
10 System.out.println(dayName); // 输出 "Wednesday"

 

  1. 新的字符串方法(New String Methods):

    Java 12为字符串类新增了一些方法,包括transform()indent()describeConstable()等。

    transform()方法的示例:

1 String str = "hello world";
2 String transformedStr = str.transform(s -> s.toUpperCase());
3 System.out.println(transformedStr); // 输出 "HELLO WORLD"

    indent() 方法的示例:

1 String str = "hello\nworld";
2 String indentedStr = str.indent(4);
3 System.out.println(indentedStr);

    describeConstable() 方法的示例:

1 String str = "hello\nworld";
2 String constDescription = str.describeConstable().orElse("Unknown");
3 System.out.println(constDescription);

 

  1. 新的文件类方法(New File Methods):

    Java 12为文件类新增了一些方法,包括readString()writeString()mismatch()等。

    readString()方法的示例:

1 Path path = Paths.get("file.txt");
2 String content = Files.readString(path);
3 System.out.println(content);

    writeString() 方法的示例:

1 Path filePath = Paths.get("file.txt");
2 String content = Files.readString(filePath);
3 System.out.println(content);

    mismatch() 方法的示例:

1 String str1 = "Hello";
2 String str2 = "Hallo";
3 int mismatchIndex = str1.mismatch(str2);
4 System.out.println("Mismatch index: " + mismatchIndex);

 

  1. Shenandoah垃圾收集器(Shenandoah Garbage Collector):

    Shenandoah垃圾收集器于Java 12引入,旨在降低垃圾收集的停顿时间。

    它是一种低延迟的垃圾收集器,适用于大内存和大数据量的应用程序。

      Shenandoah的主要特点包括:

      •   并发压缩:Shenandoah能够在应用程序运行时,与应用程序并发执行垃圾回收和内存压缩操作,从而减少垃圾回收的停顿时间。
      •   增量根搜索:Shenandoah使用增量根搜索算法,在进行垃圾回收时,只扫描一小部分的根对象,从而减少根搜索的开销。
      •   计数引用:Shenandoah使用计数引用来统计对象的访问次数,通过这种方式来判断对象是否可被回收,从而减少垃圾回收的工作量。

    Shenandoah的启用方式为,在启动Java应用程序时,使用-XX:+UseShenandoahGC参数来启用Shenandoah垃圾收集器。

    此外,也可以使用其他相关参数来调整垃圾收集器的行为和性能。

标签:12,Java,String,示例,特性,Shenandoah,println
From: https://www.cnblogs.com/bay-lulu/p/17512046.html

相关文章

  • Java反射
    动态语言:是指程序在运行是可以改变其结构,新的函数可以引进,已有的函数可以被删除等结构上的变化。比如常见的JavaScript就是动态语言,除此之外Ruby、Python等也属于动态语言,而C、C++则不属于动态语言。从反射角度说,Java属于半动态语言。反射机制概念(运行状态中知道类所有的属性和方法......
  • JavaScript引爆Salesforce职业生涯!抓住高薪机会
    Salesforce是一款领先的CRM软件,已被各种规模和行业的企业使用多年。Salesforce不仅易于使用,而且可定制,使企业能够改善其销售、营销、客户服务和其他业务流程。近年来,Salesforce一直在创新,从传统的基于Oracle的平台转变为在业界更具吸引力的解决方案。目前,许多工作可以由人工智能......
  • P1552 [APIO2012] 派遣 题解
    一、题目描述:给你一个$n$个点的有根树,每个点有两个参数$w$和$v$。再给出一个数$m$。对于每一个点$u$,设它的子树内最多可以选择$k_u$个点$a_1,a_2,...,a_{k_u}$,使得$\sum_{i=1}^kw_{a_i}\lem$。那么点$u$的价值为$v_u\timesk_u$,求$max(\su......
  • 1. 使用 IntelliJ IDEA 开发 Azure Function APP (Java)
    1.1前提Azure账户并有可食用的订阅。创建免费的Azure账户。Azure支持的JavaDevelopmentKit(JDK),JDK8或JDK11。IntelliJIDEA无限制版本或社区版本均可。Maven3.5+最新的FunctionCoreTools1.2安装插件并登录在IntelliJIDEA中安装AzureToolkit插......
  • 解锁高质量文档转换:通过Java应用程序免费将PDF转换为XPS
    在当今数字时代,文档转换已经成为我们日常生活中不可或缺的一部分。然而,不是所有的文件格式都是平等无差的,在与他人共享文档时可能会遇到兼容性问题。这就是我们需要进行文件格式转换的原因,而将PDF转换为XPS是一种受欢迎的转换选择。如果你正在寻找一种使用Java将PDF文件转换为XPS......
  • 讯飞离线语音合成新版(Aikit)-android sdk合成 demo(Java版本)
    前言:科大讯飞的新版离线语音合成,由于官网demo是kt语言开发的,咱也看不懂kt,搜遍了全网也没看到一个java版的新版离线语音demo,现记录下,留给有缘人参考!!!!!毕竟咱在这上面遇到了不少的坑。如果能留言指正,那就更好了。第一步:​ 官网注册账号---》实名认证---》点击语音合成---》离线语音......
  • Java中用到的线程调度
    抢占式调度抢占式调度指的是每条线程执行的时间、线程的切换都由系统控制,系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。在这种机制下,一个线程的堵塞不会导致整个进程堵塞。协同式调度协同......
  • Java 9 新特性
    Java9引入了许多新特性和改进,下面是一些Java9的新特性以及相关案例:模块化系统(JavaPlatformModuleSystem,JPMS):Java9引入了一个全新的模块化系统,允许开发者将代码组织成模块,以提高代码的可维护性和可重用性。模块化系统可以帮助开发者解决依赖......
  • Java 8 新特性
    Java8是Java编程语言的一个重要版本,引入了许多更新和改进。Lambda表达式:引入了函数式编程的概念,可以简化代码,提高代码的可读性和可维护性。1//使用Lambda表达式实现一个简单的线程2Threadthread=newThread(()->System.out.println("Hello,Lambda!"......
  • JavaScript-常用字符串方法和属性
    JavaScript-常用字符串方法和属性charAt()//返回指定位置处的字符。charCodeAt()//返回指定位置处字符编码。codePointAt()//返回字符串中索引(位置)处的Unicode值。concat()//返回两个或多个连接的字符串。constructor返回字符串的构造函数。endsWith()//返回......