• Java Development Kit (JDK) 21 将于 9 月作为 Oracle 标准 Java 实现的下一个长期支持版本发布,现在正式为其提议了 16 个特性,最近几天又增加了三个特性。
  • Project Loom将虚拟线程的概念引入了 Java 运行时,并将在 9 月份作为JDK 21中的稳定功能提供。Loom 项目旨在将异步编程的性能优势与直接“同步”编程风格的简单性结合起来。 为了实现性能目标,任何阻塞操作都需要由 Loom 的
  • Java 虚拟线程是 JDK 19 提供的一项新功能。它有可能在减少内存消耗的基础上提高应用程序的可用性、吞吐量和代码质量。 在本文中,让我们了解从 Java 平台线程切换到虚拟线程时应避免的陷阱:避免同步块/方法 icon
  • 使用基于虚拟线程的执行器是 Tomcat 标准线程池的可行替代方案。就容器开销而言,切换到虚拟线程执行器的好处是微不足道的。 Tomcat 的标准线程池和基于虚拟线程的执行器之间性能差异的主要驱动因素是在线程池队列中添加和删除任务的争用。通过优化 icon
  • hella-http是一个用于 Java 的 hella 快速 HTTP 库,它使用nio_uring进行 I/O。它具有非常小的代码库,是当今 icon
  • 随着9月份#JDK21 的发布越来越近,让我们开始全面了解这个版本为Java生态系统带来的突破性功能和改进。 JEP 444 引入了虚拟线程,是高吞吐量并发应用程序的游戏规则改变者。它们轻量且高效,可以以显着减少的开销处理大量任务。 icon
  • 需要Java的最低版本现在是Java 21,这是包含内置虚拟线程支持的第一个里程碑。 点击标题下载 icon
  • 将虚拟线程引入Java 平台。虚拟线程是轻量级线程,可显着减少编写、维护和观察高吞吐量并发应用程序的工作量。 目标 使以简单的每个请求一个线程的方式编写的服务器应用程序能够随着接近最佳的硬件利用率进行扩展。 使使用java. icon
  • 现在可以从repo.spring.io/milestone获得第一个 Spring Framework 6.1 里程碑版本。 icon
  • 使用现代Java 21 Vanilla构建PostgreSQL Wire协议服务器 这是一个教程,旨在显示如何用途: - PostgreSQL Wire 显示自 JDK 17 以来的大部分新功能的实际示例,包括: 记录 (JEP 395) 密封 icon
  • 如果你想在Kotlin中运行异步或非阻塞代码,你必须在CoroutineScope中运行它。如果你要处理回调,你必须用suspendCancellableCoroutine将其转换为一个暂停的函数,这样你就可以在CoroutineScope中调用它。 icon
  • 配置 Tomcat 以在 Spring Boot 应用程序中使用虚拟线程: icon
  • 投入时间和精力学习领先的反应式框架(如 Webflux、RxJava 等)是否是个好主意? 鉴于虚拟线程(Project Loom)在几次迭代后将在 JVM 中成为 GA。甚至 Spring 也引入了虚拟线程友好的 RestClient。< icon
  • 虚拟线程作为 Java 19 的一部分于 2022 年 9 月作为预览功能发布,它们是平台线程的轻量级版本,与传统平台线程不同,虚拟线程的内存占用很小。虚拟线程支持为每个工作单元模型创建一个线程,无论我们要处理多少任务,虚拟线程与 I/O 请求一起大放异彩,以支持并发高吞吐量 icon
  • Java 19 中引入的虚拟线程旨在加速并发网络请求。在这篇文章中,我想比较发出 HTTP 请求的常规线程和虚拟线程的吞吐量。为此,我在谷歌云中使用了两个虚拟机。每台机器有 8 个 CPU 和 16 GB 内存。一台机器将作为服务器,另一台作为客户端。 icon
  • 在Java 19中引入的虚拟线程在Jetty 12中已经得到了支持。 当虚拟线程被JVM支持并在Jetty中启用时(见嵌入式使用和独立使用),应用程序会被使用虚拟线程调用,这使得它们可以使用简单的阻塞API,但具有虚拟线程的可扩展性优势。 icon
  • io_uring — 是 Linux 内核中相对较新的 API,在版本 5.1 中引入。io_uring 的构建理念是为文件和网络套接字提供高性能异步输入/输出 (IO)。 io_uring 基于内核和用户空间内存之间共享的两个队列,即提交队列 ( icon
  • 这篇博文旨在强调将代码库转向协程(例程)所带来的一些风险,我相信持续不良的协程使用可能会导致更不安全和更慢的程序。即使没有多线程,协程也应该像编写多线程代码一样受到怀疑,它仍然是异步的。 普通函数和堆栈如何工作 icon