从此
📄文章 #️⃣专题 🌐酷站 👨‍💻技术 📺 📱

Java编程语言、JDK新特性语法、集成开发环境IDE、Gradle | Guava、Hutool

综合/最新

Java编程专题Nginx Jetty HTTP C/SJava WebAndroid应用开发JDK源码Gradle构建

Java/JDK下载地址
Linux安装:apt install default-jre
Linux解压缩方式:
  wget https://download.oracle.com/java/24/latest/jdk-24_linux-aarch64_bin.tar.gz  或 jdk-24_linux-x64_bin.tar.gz
  tar -xf jdk-24_linux-*64_bin.tar.gz

新:
  Oracle GraalVM 仅支持 CycloneDX 生成 SBOM,暂不支持 SPDX 格式。
  JDK 24+:
    支持 ASM 能力 java.lang.classfile.ClassFile.of().parse(byte[] bytes)
    通过预缓存加快启动速度 java -XX:AOTCache=app.aot -jar app.jar
    通过--enable-linkable-runtime减少JDK镜像尺寸,从JDK_HOME\jmods\抽取所用classes。
  Stream.of(1, 2, 3).gather(Gatherers.mapConcurrent(3, (item) -> {
    return item * item; // Thread.currentThread().isVirtual()
  })).toList(); // map 未使用 VirtualThread;JDK 24+ 首选 mapConcurrent

死记、偏门:
  编解码常量 - StandardCharsets.UTF_8、InetAddress.getLocalHost().getHostAddress()
  错误响应标准(RFC 9457) - org.springframework.http.ProblemDetail
  NetBeans控制台中文乱码解决:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage 将 ACP 值改为 65001。

内容

跨语言
  可逆Hex(避免URL编码空格问题) - Java 中 java.util.HexFormat.of().parseHex("E6b58be8af95") 可解码JavaScript编码(Array.from方法入参必须为无符号):
    https://tsc.openle.com/.well-known/static/scripts/core.js
    非module脚本 - https://tsc.openle.com/.well-known/static/scripts/core-classic.js
网络
Java支持mDNS主机名查对应IP(需20分钟通讯过): InetAddress.getByName("raspberrypi.local").getHostAddress()

其他

Java运行期和编译期异常

Java运行WebAssembly - Instance.builder(com.dylibso.chicory.wasm.Parser.parse(new File("./x.wasm"))).build()

知名类库 - 流行工具库 Guava
验证码库 - Java国产工具库 Hutool
序列化库 - Java国产库 阿里巴巴 Fastjson

WoL唤醒 - InetAddress.getByName("device.local").isReachable(3000); // 亲测能唤醒未限定幻数据包(Magic Packet)的休眠设备(自动休眠可用/主动关机不行);返回false。
  Windows 命令 Resolve-DnsName device.local 效果等同上行代码。