FAQ
tip
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

Add VM options


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

Run

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