晓东 - 当前 - Java

综合
......
主要
                    编程时应贯穿使用:Text Blocks、Optional、Lambda、Virtual Thread、Stream API、jwebserver
                    优选:var取代具体类型、record取代POJO、FFM取代JNI、graalvm取代jvm、jpackage取代jar打包
                    启用新特性预览(JDK21/--enable-preview):Unnamed Classes(必须在default package)、Unnamed Variables、String Templates、FFM
                    JVM优化参数: -XX:+UseZGC -XX:+ZGenerational
                
  • 虚拟线程比Thread更轻量:
      Thread.startVirtualThread(() -> System.out.println());
                            
  • 比较后直接使用:
      if(obj instanceof Integer i){ System.out.println(i); }
                            
  • 未命名变量(Unnamed Variables/Preview):
      try {  } catch (Exception _) {  }
                            
  • 外部函数和内存(Foreign Function 和 Memory):
    Java编程专题
                            
  • 文本模板(String Templates/Preview):
      String[] a = { "X", "Y", "Z" }; // 也支持\{user.name()}等;嵌套用法:
      String r = STR."\{a[0]}, \{STR."\{a[1]}, \{a[2]}"}";
    
      var JSON = StringTemplate.Processor.of(
            (StringTemplate st) -> new JSONObject(st.interpolate())
      ); // 多行JSON处理:
      String name = "Joan Smith"; String address = "1 Maple Drive, Anytown";
      JSONObject doc = JSON."""
        {
            "name":    "\{name}",
            "address": "\{address}"
        };
        """;
                            
其他
......