java - 系统运行多个小时后的 java.lang.NoSuchMethodError
问题描述
假设一个公共 A 类
public class A {
public boolean test(Object a) {
return true;
}
}
让这个方法通过调用
java.lang.Class.forName("A").getMethod(test, Object.class).invoke(new A(), new Object());
此例程在应用程序的运行时 24/7 期间有效,但似乎无法确定。它抛出一个 NoSuchMethodError。
你有什么想法,为什么这种方法会从一个时间点到另一个时间点失败?
我们使用 open jdk 项目中的 java 8 版本并在 SUSE enterprise 14.0.4 中运行该应用程序,该服务器已启动并运行,没有任何中断迹象。
在没有对 JAR 进行任何更改的情况下重新启动应用程序后,函数调用再次完美运行。
解决方案
推荐阅读
- mysql - 如何在 Plesk 上将 MySQL 过滤器添加到 fail2ban?
- python - Numba 无法使用完整的 GPU
- node.js - 无法将一些参考资料推送到 git.heroku.com/myproject.git
- c - 有符号整数溢出
- c# - 我的简单 Lockbits Image 类中有一个错误
- git - Git 推送到 Heroku 永远不会从写入和总计对象消息的步骤传递
- angular - NGXS Select Observable上的RxJS超时?
- python - 使用 pybind11 在 C++ 之间传递 Python 大整数(>256 位)
- r - 在R中的模式之间粘贴字符串
- python - 即使尝试除了代码块,错误也会不断出现