如何为单个 JVM 实例禁用反射

How to disable reflections for a single JVM instance

有什么方法可以禁用单个 JVM 实例的反射吗?我正在寻找类似 -XX: + DisableExplicitGC 的参数来禁用显式 GC 调用。

我找到了这个 answer ,但也许有更简单的解决方案。所以我可以在不重建应用程序的情况下启用或禁用反射。

我确定 Java class 库中的某些地方使用了反射,因此在 JVM 范围内禁用反射会破坏这些库。这就是为什么没有像 GC 参数这样的选项。 (调用显式 GC 不会影响应用程序行为,只会影响性能,因此禁用它不会破坏任何东西。)

就仅针对用户 classes 禁用反射而言,您指向的 java.policy 文件 and/or 和 java.security 文件引用可以在不修改您的文件的情况下完成应用程序。这些是 VM 配置文件,而不是应用内代码。我认为这是您能得到的最好的。