跳至主要內容
Java 24 新特性抢先看

Java 24 新特性抢先看

计划于2025年3月发布的JDK 24 GA版本目前仅包含一个针对JDK 24的JEP。然而,根据已提交的JEP候选和草案,可以推测出其他可能被纳入JDK 24的JEP。以下是一些关键的JEP及其进展:

JEP 472:准备限制对JNI的使用

该JEP提议限制与JDK 22中引入的外部函数和内存(FFM)API中的受限方法一起使用的JNI。从JDK 23开始,如果FFM用户未启用不安全的本地访问,Java运行时将显示有关使用JNI的警告,未来版本中将抛出异常而非警告。

JEP 404:分代Shenandoah(实验性)


程序猿DD原创大约 2 分钟JavaJava
Java 23 发布,一文了解全部新特性

Java 23 发布,一文了解全部新特性

最近 Oracle 发布了Java 编程语言和虚拟机的最新版本:Java 23。作为 Java 21 之后的第一个非 LTS 版本,最终的JEP 特性共有 12 个。

通过 Project Amber 提供的语言特性

JEP 455:Primitive Types in Patterns, instanceof, and switch(预览版)

通过使语言更加统一且更具表达能力,帮助提高 Java 编程的工作效率。通过消除与开发人员在使用模式匹配、instanceof 和 switch 时遇到的基元类型限制,该  JEP 支持所有模式情景的基元类型模式,有助于增强模式匹配,并扩展 instanceof 和 switch,使其能够与所有基元类型一起使用。


程序猿DD原创大约 4 分钟JavaJava
IntelliJ IDEA 2024.2 发布:Spring Data JPA即时查询、自动补全cron表达式

IntelliJ IDEA 2024.2 发布:Spring Data JPA即时查询、自动补全cron表达式

今早看到,IntelliJ IDEA 2024.2 发布的邮件提示,看了一眼这个版本更新的新特性真的太适合我了!也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。下面就来一起看看这个版本中推出的几个强大新特性。

Spring Data JPA 的即时查询


程序猿DD原创大约 4 分钟IntelliJ IDEA前沿资讯IntelliJ IDEA
几个适合Java开发者的免费IDEA插件

今天,给大家推荐几个好用且免费的IntelliJ IDEA插件。如果你还没有用过,可以尝试一下,也许对你的日常工作会有一定的效率提升噢!

RESTFul-Tool

如果你是一个RESTful服务的开发者,那么这个一定要试一下。它是一套非常丰富的RESTful服务开发工具,对 Spring MVC 和 Spring Boot 支持也是非常友好,开发者可以直接通过插件找到自己编写的RESTful接口:


DD编辑部原创大约 2 分钟IntelliJ IDEAIntelliJ IDEA
8个实用的Java Streams API

8个实用的Java Streams API

分享8个开箱即用的API,方便日常处理集合。

1. 快速过滤空值:Stream.ofNullable

该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常。

在下面的示例中,有一个包含 null 的List。此时,我们可以使用Stream.ofNullable方法对其进行过滤。

List<String> names = Arrays.asList("Alice", null, "Bob", null, "Charlie");
List<String> nonNuLLNames = names.stream()
    .flatMap(Stream::ofNullable)
    .collect(Collectors.toList());
System.out.println(nonNuLLNames);

DD编辑部原创大约 3 分钟JavaJava
如何在Java中读取超过内存大小的文件

如何在Java中读取超过内存大小的文件

读取文件内容,然后进行处理,在Java中我们通常利用 Files 类中的方法,将可以文件内容加载到内存,并流顺利地进行处理。但是,在一些场景下,我们需要处理的文件可能比我们机器所拥有的内存要大。此时,我们则需要采用另一种策略:部分读取它,并具有其他结构来仅编译所需的数据。

接下来,我们就来说说这一场景:当遇到大文件,无法一次载入内存时候要如何处理。

模拟场景

假设,当前我们需要开发一个程序来分析来自服务器的日志文件,并生成一份报告,列出前 10 个最常用的应用程序。

每天,都会生成一个新的日志文件,其中包含时间戳、主机信息、持续时间、服务调用等信息,以及可能与我们的特定方案无关的其他数据。


DD编辑部原创大约 5 分钟JavaJava
Java 22 发布,一文了解全部新特性

Java 22 发布,一文了解全部新特性

就在昨晚,Java 22正式发布!该版本提供了 12 项功能增强,其中包括 7 项预览功能和 1 项孵化器功能。它们涵盖了对 Java 语言、API、性能以及 JDK 中包含的工具的改进。

下面就来一起学习一下该版本都更新了哪些新特性!

Unnamed Variables & Patterns - JEP 456

JEP 456 - 未命名变量和模式:当需要但未使用变量声明或嵌套模式时,提高了可读性。两者都由下划线字符表示。

价值


程序猿DD原创大约 10 分钟JavaJava
Java 21 虚拟线程如何限流控制吞吐量

Java 21 虚拟线程如何限流控制吞吐量

虚拟线程(Virtual Threads)是 Java 21 所有新特性中最为吸引人的内容,它可以大大来简化和增强Java应用的并发性。但是,随着这些变化而来的是如何最好地管理此吞吐量的问题。本文,就让我们看一下开发人员在使用虚拟线程时,应该如何管理吞吐量。

在大多数情况下,开发人员不需要自己创建虚拟线程。例如,对于 Web 应用程序,Tomcat 或 Jetty 等底层框架将为每个传入请求自动生成一个虚拟线程。

如果在应用程序内部需要自行调用来提供业务并发能力时,我们可以使用Java 21新特性:虚拟线程(Virtual Threads)中介绍的方法去创建和使用,比如较为常用的就是Executors.newVirtualThreadPerTaskExecutor()


程序猿DD原创大约 2 分钟JavaJavaJava 21虚拟线程
IntelliJ IDEA 2024.1:增强对Spring和Quarkus框架的支持、GitHub Action的支持、更新HTTP Client等

IntelliJ IDEA 2024.1:增强对Spring和Quarkus框架的支持、GitHub Action的支持、更新HTTP Client等

有段时间没有更新IDEA了,早上看到 IntelliJ IDEA 2024.1 EAP 5发布的邮件提示,瞄了一眼,发现真的是越来越强了,其中不少功能对我来说还是非常有用的。也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。

Spring、Quarkus等主流框架的支持增强

  1. Search Everywhere功能中增加Endpoints选项卡

程序猿DD原创大约 4 分钟IntelliJ IDEA前沿资讯IntelliJ IDEA
2
3
4
5
...
9