我正在使用 Java 开发一个需要低延迟处理(不到 1 秒)的消息传递系统。但是,JVM 需要预热时间来处理导致延迟增加的第一个输入数据(大约 2~3 秒)。延迟增加的主要原因是类加载。我知道最简单的解决方案是使用虚拟消息提前调用方法。但是,由于系统要求,我不能使用虚拟消息来预热 JVM 。所以我想知道在JVM启动时预加载所有使用的类的方法。
我尝试了强制加载方法的属性
-XX:CompileThreshold=0 -XX:TieredCompilation
但是,它似乎运行得并不好。JVM 在调用类时仍会加载它们。
我还阅读了其他线程,但没有人指定在 JVM 启动时预加载类的方法。