博客

来自 ej-technologies 的产品新闻、更新与见解。

通过 RSS 阅读,通过 电子邮件 订阅,或在 上关注我们。

HotSpot 的反击:JEP 544 会终结 GraalVM 的启动性能垄断吗?

2026-09-21
作者:Ingo Kegel
HotSpot JVM 迎来了激动人心的时刻:JEP 544: Ahead-of-Time Code Compilation 刚刚被提议纳入 Java 28。它有望让 HotSpot AOT 缓存获得足以媲美 GraalVM 的启动性能,而且完全不必承受 GraalVM 的种种艰辛。但训练 AOT 缓存与 GraalVM 的预编译并不相同,那么两者究竟孰优孰劣?

15 个月后 SBOM 将成为强制要求,而你的 SBOM 很可能是错的。

2026-09-09
作者:Ingo Kegel

2027 年 12 月 11 日,《欧盟网络弹性法案》(EU Cyber Resilience Act)中的 SBOM 义务将开始生效。这意味着,如果你想在欧盟发行软件,很快就需要一份 SBOM。这不仅是欧盟的要求,更是一场以这种声明式方法强化供应链安全的全球性趋势:美国自 2021 年起就要求联邦软件供应商提供 SBOM,CISA/NSA/FBI 也在今年 7 月发布了更新版的 SBOM 最低要素。

把 SBOM 做对并不容易,而当你还需要为软件交付安装程序时,难度更会进一步加大。现在该怎么办?让我们一起来看一看。

推出 jvmguard:生产环境自动化剖析

2026-08-03
作者:Ingo Kegel

JProfiler 背后的团队推出了一款全新的开源工具:jvmguard 可帮助您的公司对生产环境中的 JVM 进行剖析。

在生产环境中进行剖析存在风险,但这往往也是理解问题的唯一途径。借助 jvmguard,剖析采集会经过授权与审计,并且可以由人工、自动触发器或 AI 智能体启动。

jvmguard 可以与 JProfiler 配合使用,但并不局限于这一集成。它还可以记录 JFR 快照、HPROF 堆转储和线程转储,您可以使用其他工具对其进行分析。jvmguard 的基本理念是:轻量级信号始终开启,而深度采集只在特定条件下才会进行。

Website refresh: Visual updates, dark mode, and semantic search for docs

2025-07-07
作者:Ingo Kegel

We have just rolled out significant changes to our website. They include many visual updates and important infrastructure updates that speed up loading times in many locations across the globe.

In addition, there are three functional changes that we would like to highlight:

All our artifacts are now published on Maven Central

2025-06-06
作者:Ingo Kegel

We have migrated all of our public Maven artifacts to Maven Central. Previously, these artifacts were available from our own Maven repository, which will remain online for older releases. New releases will be published exclusively on Maven Central.

Why JVMTI sampling is better than async sampling on modern JVMs

2024-02-01
作者:Ingo Kegel

In recent years, "async sampling" has been hyped as a better way of CPU profiling on the JVM. While this has been true for some time, it is no longer the case. This blog post explains the history of sampling and the current state of the art.

How invokedynamic makes lambdas fast

2024-01-10
作者:Ingo Kegel

Recently, we have been at work rewriting our website in Kotlin. Instead of a view technology that uses string templates with embedded logic, we now use the Kotlin HTML builder to develop views as pure Kotlin code. This has a number of advantages, like being able to easily refactor common code. Also, the performance of such views is much better than that of string templates, which contain interpreted code snippets.

When measuring the performance, we noticed that a lot of anonymous classes were created for our views and their loading time was significant. Code that uses the Kotlin HTML builder is very lambda-heavy and as of Kotlin 1.9, lambdas are implemented as anonymous classes. The JVM has a sophisticated mechanism to avoid creating classes at compile time that was introduced in Java 8 - the LambdaMetafactory and invokedynamic. The JVM developers also claimed that the performance would be better than anonymous classes. So why does Kotlin not use that?

Improved Kubernetes authentication handling in JProfiler

2023-03-17
作者:Ingo Kegel

Since version 13, JProfiler supports profiling on Kubernetes clusters with no extra configuration.

JProfiler 13.0.6 added an important improvement for profiling a JVM in Kubernetes clusters where authentication is set up in such a way that the authentication plugin prints instructions on stdout.

New web license service and improvements for the on-premises server

2021-06-24
作者:Ingo Kegel

Customers with floating licenses now have more flexibility: Starting with with the most recent releases of JProfiler and install4j, we now offer a web license service, so you do not have to install a license server yourself. If you choose that option, you will receive a license key that can be distributed to all developers and is entered just like a single license key. This option requires the ability to make an outgoing HTTP request to our license server.

Going forward, we will be offering both the web as well as the the on-premises solution. For the time being, the on-premises option remains the default and you can contact us if you would like to switch to the web option.

Support for macOS Apple Silicon

2020-11-26
作者:Ingo Kegel

Please note: Several JDK providers now offer the macos-aarch64 architecture and there is no need anymore to create the bundle yourself, install4j can do this for you automatically.

(Edited on 2021-01-07 to include changes for install4j 8.0.10)

Apple machines with the new ARM architecture are now available. While you can run existing x64 binaries for on ARM machines through Rosetta, the performance may be impacted significantly. install4j 8.0.9 addresses this concern with support for native ARM binaries.