jvm虚拟机教程

     

10个常用流行 Kotlin 库介绍

29 5K

Kotlin 由 JetBrains开发,是一种现代编程语言,于 2011 年作为 Java 的替代语言推出,针对Java 虚拟机 (JVM)。它最初是作为 Android Studio 中的插件使用.

Java 22中三种垃圾回收GC性能获得了大提升

51 3K

 JDK 22 GA 即将到来,本文介绍该版本中 OpenJDK 的垃圾收集器GC的最新更改,主要是提升了效率和性能。 JDK 22 GA 这个版本在 stop-the-world 收集器领域提供了相.

Netflix使用ZGC实现低延迟

35

由于并发垃圾收集的显着优势,Netflix 在 JDK 21 及更高版本上默认从 G1 切换到分代 ZGC。超过一半的关键流视频服务现在都在带有 Generational ZGC 的 JDK 21 上.

什么是GraalVM、AOT 和 JIT?

40 5K

用本指南来了解 GraalVM 是什么、它的工作原理以及即时 (JIT) 编译与提前 (AOT) 编译的比较。如果 Graal 的本机可执行文件几乎立即启动、更小并且消耗更少的资源 , 为什么您会想在.

FireflyD:基于 JVM 的键值存储引擎

51 2K

FireflyDB 是一种快速、线程安全、基于 JVM 的键值存储引擎,具有微秒级延迟。FireflyDB 的读取速度比具有类似架构的Bitcask快 20 倍,写入速度快 10 倍。FireflyD.

Java中捕获OutOfMemoryError

72 2K

在本教程中,我们将学习如何在发生OutOfMemoryError时显式停止应用程序。在某些情况下,如果没有正确的处理,我们可能会在不正确的状态下继续处理应用程序。什么是OutOfMemoryError.

Java中如何设置与改变运行时的环境变量

159 10K

Java 提供了一种与环境变量交互的简单方法。我们可以访问它们,但不能轻易更改它们。然而,在某些情况下,我们需要对环境变量有更多的控制,特别是对于测试场景。在本教程中,我们将学习如何解决此问题并以编程.

Java中Valhalla项目提升近10倍性能

119 2K

Valhalla 项目是针对 JVM 性能的重要项目,旨在优化内存布局和提高性能。该项目旨在支持自定义“基元”或值对象的创建,以获得更好的内存局部性和更高的性能。在测试中,Valhalla 项目展现出.

Spring Boot中启用虚拟线程的四个场景和源码

154 5K

Spring Boot 3和Spring Framework 6正式支持Virtual Thread。本文总结了如何使用虚拟线程替换基于 Spring Boot 的项目中处理Spring Web MV.

JDK21垃圾收集性能比JDK8快了10%

370

这篇文章主要介绍了JDK 21和其他版本的GC性能比较。作者通过使用SPECjbb® 20151基准测试来展示不同GC的性能提升。他比较了G1、Parallel和ZGC三种GC,发现它们在吞吐量、延迟.

Java 21和Spring Boot 3.2增强监控可观察性指南

159 1 7K

本文介绍了Spring Boot 3.2和Java 21中增强的可观察性支持。通过利用Java 21和Spring Boot 3.2的高级功能,开发人员可以增强系统的可观察性,有效监控各种指标和日志。.

Java中标记清除垃圾收集算法

68 5K

垃圾收集算法(例如标记和清除)在后台运行,以管理 C++ 和 Java 等编程语言中的内存。当动态创建对象时,它们会占用堆中的内存。但是,如果我们继续创建对象而不释放内存,则可能会导致内存不足错误。为.

Docker容器与JVM比较

133 3K

Java 的一大卖点是 Java 虚拟机带来的可移植性。 但是,由于在 [Docker] 容器中捆绑后端服务已成为常见做法,那么与本机编译语言相比,Java 有哪些优势呢?Docker 容器Docke.

Java和核心Java之间的区别

92 2K

Java是一种以其简单性、面向对象特性和平台独立性而闻名的编程语言。它由三个主要版本组成:Java 标准版(JSE)、Java 企业版(JEE)和 Java 微型版(JME)。另一方面,Core Ja.

Spring 6.1类数据共享 (CDS) 可提高启动速度

260 2K
GraalVM 原生镜像和Project CRaC都允许 Spring Boot 应用程序在几十毫秒内启动,类数据共享CDS是第三种代价最小的方法类数据共享(CDS)通过将类元数据缓存在存档文件中,以.

SpringBoot 3.2中CRaC测试演示

168 3K

CRaC 是一个 OpenJDK 项目,可以对运行中的 JVM(Java 虚拟机)进行 "快照",并将其状态(包括应用程序)存储到磁盘中。然后,在另一个时间点,您可以将 JVM 从保存的检查点恢复到内.

Spring Boot 3.2:虚拟线程和CRAC

435 2 5K

 Spring Framework 6.1.0和Spring Boot 3.2.0已经相继发布,亮点是:从高性能应用程序的角度出发,推出了对两项非常重要的创新的支持:虚拟线程(Virtual Thre.

Jactl:适合嵌入式的JVM脚本语言

142 2K

Jactl 是一种功能强大的脚本语言,适用于基于 Java 的应用程序,其语法是从 Java 和 Groovy 借用的位的组合,并添加了一些 Perl 以实现良好的效果。这是一种用于嵌入实时 Java.

将GC编程语言引入WebAssembly的新方法

135 4K

本文讨论了一种名为 WasmGC 的新方法,用于将垃圾收集编程语言有效地引入 WebAssembly。WasmGC 定义了新的 GC 类型,例如结构和数组,与之前编译为线性内存的方法 (WasmMVP.

Java 并行 GC 调优

185 3K

并行垃圾收集器(Parallel GC)是 JVM 中引入的最古老的垃圾收集算法之一,旨在利用现代多核系统的处理能力。并行GC旨在通过利用多个线程并行执行垃圾收集来减少GC暂停的影响。什么时候使用并行.

简短比较三个 Java现代垃圾回收器

121

最新版本的 Java 中引入了三个现代垃圾收集器,以下是三个场景比较:G1 收集器专为以下应用而设计: 可以与应用程序线程并发操作。 紧凑的可用空间,没有长时间的 GC 引起的暂停时间。 需要更可预测.

如何加快Kubernetes中Java启动速度?

388 6K

本文阐述如何解决 Kubernetes 中与 CPU 限制相关的 Java 应用启动缓慢的问题。使用一个新的 Kubernetes 功能,称为“In-place Pod Vertical Scalin.

JEP 草案:Java 虚拟机的提前编译

274

增强 Java 虚拟机,能够加载编译为本机代码的 Java 应用程序和库,以实现更快的启动和基线执行。Java 应用程序、库(包括 Java 标准库)和任何用 Java 编写的可插入 Java 虚拟机.

从JVM/C角度看Rust特性

354 2K

Rust 是一种相对较新的(与 C 或 Java 等相比)静态类型语言。这带来了一些机遇和挑战。从头开始创建新的生态系统时,您不必保持任何向后兼容性。它可以根据其他平台的经验教训来创建,引入更彻底的变.

JDK外部函数Panama API性能超过了JNI

531 5K

Java 本地调用 API 的 JMH 性能基准:JNI(通过JavaCpp)、JNA、JNR、Bridj和JDK JEP-424外部函数/内存 API(预览版)。结论:Java的外部函数接口现在在一.

用JBang一步生成Java性能火焰图

568 1 2K

火焰图是查找 Java 代码中的瓶颈和性能问题的绝佳工具。分析性能的一种常用技术是 火焰图。简而言之,火焰图是一种可视化代码的哪些部分消耗更多时间的技术。火焰图提供了两个有趣的提示:堆栈越高,代码中的.

Java的Leyden项目引入Condenser

315 1 2K

Java为了提高启动时间性能,在Leyden项目中引入Condenser冷凝器。Condenser冷凝器专注于最小化或转移计算以提高性能,或者说未来将是允许将基于 Java 的程序直接打包为静态独立可.

fury:由jit和零拷贝支持的超快序列化框架

814 3K

阿里alipay的Fury是一个极快的多语言序列化框架,由jit(即时编译)和零拷贝提供支持,提供高达 170 倍的性能和终极易用性。仅用于序列化通过使用fury将Java对象转换为字节流,您可以获得.

JITWatch: 优化JIT提高性能

254

HotSpot JVM 可以通过多种方式输出有关 JIT 优化决策的信息:  PrintCompilation提供有关编译和内联的基本信息。 LogCompilation生成详细的 XML 格式,还描.

未来AOT编译会取代JIT吗?

320

AOT 编译器变得越来越流行,尽管它们在某些领域仍然不如 JIT 编译器。然而,必须指出的是,Graal 的本机编译器尤其变得越来越复杂。这只是一时的炒作还是JIT将来会被取代?首先,AOT 会花费编.