跳到主要内容

FAQ

提示

FAQ 常见问题速查表

VM Options - IDEA

启动时,需要添加 VM Options 参数,否则会报错。

Exception in thread "main" java.lang.IllegalAccessError: class org.agrona.UnsafeApi (in unnamed module @0x6576fe71) cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module
at org.agrona.UnsafeApi.getUnsafe(UnsafeApi.java)
at org.agrona.UnsafeApi.<clinit>(UnsafeApi.java)
at org.agrona.BufferUtil.<clinit>(BufferUtil.java:43)

在工具中添加 VM Options 参数

Edit Configurations step1

Add VM options step1

step1

VM options parameters

--add-opens java.base/jdk.internal.misc=ALL-UNNAMED
--enable-native-access=ALL-UNNAMED

step1

Run step1

VM Options - JAR

启动 jar 时,需要添加 VM Options 参数,否则会报错。

java \
--add-opens java.base/jdk.internal.misc=ALL-UNNAMED \
--enable-native-access=ALL-UNNAMED \
-jar target/ionet-quick-demo.jar

为什么需要添加 VM Options

这个参数是让 Aeron 能够使用 Unsafe API,实现高性能的堆外内存操作。

Aeron 是一个追求零拷贝和低延迟的系统,它在内部使用 Java 的 Unsafe 类来直接操作内存(如堆外内存/Direct Buffer),以避免垃圾回收器的影响并提高数据处理速度。

--add-opens java.base/jdk.internal.misc=ALL-UNNAMED
--enable-native-access=ALL-UNNAMED