jvm虚拟机教程

     

Java的Leyden项目引入Condenser

332 1 2K

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

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

840 3K

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

JITWatch: 优化JIT提高性能

270

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

未来AOT编译会取代JIT吗?

333

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

从Java迁移到GraalVM启动快10倍

591 2K

从 Java 迁移到 GraalVM Native,应用的启动时间从大约30秒缩短到大约3毫秒,更重要的是,内存使用量也从6.6 GB大幅减少到1 GB,而吞吐量和CPU利用率保持不变。作为一次性电子.

提高 opensearch-java 中的 JSON 解析性能

582 6K

作为一名开源爱好者,我相信协作的力量可以使开源项目更快、更高效。在这篇博文中,我将分享我的Linagora团队如何与 OpenSearch 社区合作,使用基准测试工具和火焰图识别并解决 OpenSea.

StringBuilder建议已死?

455

使用StringBuilder而不是String实现字符串连接已经只是一个古老的神话。在大多数情况下,它不再正确的。你可以在代码中安全地使用String 1 + String 2,并且不会注意到任何差.

JVM的开源大语言模型简介

1255 2K

下面介绍的四个项目,每个项目都与语言模型有一些联系:VertexAI-kt虽然OpenAI和ChatGPT经常主导公众的意识,但其他参与者也提供了他们独特的解决方案。谷歌的Vertex AI就是一个典.

Java中ZGC通过自动调整堆大小优化内存利用率

432

在这篇博客文章中,我们介绍了ZGC中堆大小调整的创新自动化策略,利用CPU利用率作为“调优旋钮”来优化性能和内存使用。有效的堆大小管理对于优化Java应用程序的内存利用率和性能至关重要。然而,手动配置.

Rust 如何在没有垃圾收集器的情况下解决内存管理问题?

571 5K

每个计算机程序都需要内存和管理内存的方法。传统的内存管理范式要么容易出错,要么性能很差。Rust的内存管理系统是独一无二的,因为它无需使用垃圾收集器就能提供内存安全和可预测的高性能。栈Stack和堆h.

Janino 是一个超小、超快的 Java 编译器

1274 2K

Janino 是一个超小、超快的 Java 编译器。Janino不仅可以像JAVAC一样将一组源文件编译成一组类文件,还可以在内存中编译 一个Java表达式、 一个块、 一个类体、 一个.java文件.

在浏览器中运行Java应用的JVM替代

474

CheerpJ是 Leaning Technologies 的解决方案,用于在浏览器中运行大规模、未修改的 Java 应用程序和小程序。执行完全在客户端进行,除了标准 HTTP 服务器之外不需要任何服.

Java最新垃圾回收器ZGC升级:世代ZGC

526

ZGC ( JEP 333 ) 专为低延迟和高可扩展性而设计。自 JDK 15 ( JEP 377 )以来,它已可用于生产。ZGC 在应用程序线程运行时完成大部分工作,只是短暂地暂停这些线程。ZGC .

在 Kubernetes 中选择哪个 JDK?

757 2K

在本文中,我们将对运行在 Kubernetes 上的应用程序的几种最流行的 JDK 实现进行性能比较。这次我将通过多次重复进行非常准确的比较以获得可重现的结果。我将测试以下 JVM 实现: Adopt.

Quarkus Native 采用 Adaptive GC 策略

760 3K

从 Quarkus 2.13.6.Final 开始,本机Native运行时垃圾收集策略已切换,以提供更一致和可预测的运行时性能。在 2022 年的某个时候,在进行一些本机运行时性能基准测试时,我们观察.

甲骨文再次更改Java许可规则:基于员工数量收费

1347 2 2K

甲骨文再次更改Java收费规则:将 Java 许可收费更改为按用户而不是按处理器 ,价格可能因此会上涨很多。甲骨文Oracle 自 1 月 23 日起启用新的 Java SE 通用订阅:这意味着每家公.

使用jlink交叉编译实现最小的JRE - Jake

1092 4K

jlink是一个 JDK 工具,用于为您的应用程序创建定制的最小 JRE。让我们用“Hello, world!”来试试吧 程序:class Main {  public static void mai.

为什么我要实现一个安全的Rust并发循环收集器

805 3K
Rust是一种伟大的语言。它在对象和分配的内存布局方面给了你很大的控制权,但是通过它的借用检查系统,你对这些对象寿命的使用被正确管理:如果你拿了一个对象的指针,你必须向编译器静态地证明这个指针寿命永远.

Java神话与WebAssembly

2376 1 8K

当许多 Java 开发人员听到 WebAssembly 这个词时,他们首先想到的是“浏览器技术”。第二件事:“又是 JVM”。毕竟,对于 Java 开发人员来说,浏览器中的应用程序是史前的。在过去的几.

GraalVM、Galahad 和新的发布时间表

1136

在拉斯维加斯举行的 JavaOne 2022 主题演讲期间,甲骨文就 GraalVM 的未来发布了一些激动人心的公告。除了 GraalVM 的 Java 技术的适用部分将贡献给 OpenJDK 的消息.

Galahad项目开始着手将GraalVM引入Java

1168 2K

在最近的JavaOne大会上,有消息称 Oracle正在发布针对Java的GraalVM CE版本,该项目将被转移到JDK的 wings (和许可)之下。到目前为止,关于整个计划将如何实施的细节还缺乏.

Spring Boot 3和GraalVM测试

2387 2K

随着 Spring Boot 3.0 的发布,我们获得了对 GraalVM 原生构建的官方支持。这是否意味着我们终于可以摆脱 JVM 的开销?本机构建如何提高应用程序的性能?权衡在哪里,值得吗?在这篇.

Java 18:Vector API自动加速

1453 2K

我们需要了解提前机器代码生成AOT和即时机器代码生成JIT之间的根本区别:提前机器代码生成:提前 (AoT) 机器代码生成发生在编译时。这种技术用于 C++ 等语言。在编译过程中,源代码被转录为机器代.

在K8s中调整JVM提高CPU和内存利用率 - Anurag

3008 4K

JVM 是有史以来最古老但功能最强大的虚拟机之一。每当一个新的 JVM 进程启动时,所有需要的类都会被ClassLoader的一个实例加载到内存中。这个过程分三个步骤进行:Bootstrap 类加载:.

AWS Lambda SnapStart提高Java冷启动10倍

1369 1

Amazon Web Services(AWS)发布了Lambda SnapStart,这是对Lambda 无服务器计算服务的更新,可大大减少应用程序启动延迟。SnapStart旨在通过使用可运行多个.

为什么Go语言垃圾回收机制不好? - Reddit

863

有两个主要的批评阵营:Rust/C++的人就是不相信GC;他们认为GC太浪费了,尽管他们99%的软件会对free()内存进行O(n)次调用,而不是一次大的free()调用--关键是他们*可以*控制他们.

Jvm日志记录 :java的sip

1229 3K

VM 日志记录长期以来一直是 JDK 的一部分。它可以成为执行根本原因分析和找出性能怪癖的绝佳工具。在 JDK 9 中,对 VM 日志记录的处理方式进行了一些更改,使其更加用户友好和可配置。让我们看看.

Java JIT与AOT性能比较 - foojay

2569 1

Java代码在运行时被编译Just-In-Time (JIT) 与运行前被编译Ahead-Of-Time (AOT) 区别是什么?为什么与本机编译的 AOT 应用程序相比,JIT 性能更好?在这篇文章.

分代ZGC早期访问构建版本发布

1154 1

经过对 Generational(分代/世代) ZGC 的大量努力,第一个 Early Access 版本已在 jdk.java.net/genzgc 上发布并可供测试。分代ZGC具有更高分配率和更大.

三个新JEPs提案:字符串模板、 顺序集合和Project Liliput

980 2K

JEP 431:Sequenced Collections:一个可能会引起广大读者兴趣的候选JEP是JEP 431:有顺序的集合顾名思义,它为保留元素顺序的集合提供了一个通用接口。新的接口旨在提供一种.