给定一个考虑性能而编写的 Java 应用程序(即在源代码中故意未将方法声明为“strictfp”),是否可以允许用户以 strictfp 模式运行整个应用程序?
看起来一种粗略的方法是使用使用 javassist 编写的自定义类加载器将“strictfp”属性简单地添加到所有类的所有方法中。这将类似于:
http://www.verious.com/qa/no-strictfp-in-scala-workarounds/
但是,类加载器需要将 strictpf 属性添加到应用程序中的所有类方法,包括私有方法。(应用程序太大太复杂,无法明确列出所有可能需要 strictfp 属性的方法。)
javassist 中的反射 API 似乎不支持列出私有方法:
http://www.csg.ci.iu-tokyo.ac.jp/~chiba/javassist/html/javassist/CtClass.html#getMethods()
我想在 javassist 中做些什么(或者完全通过自定义类加载器方法)?