Data un'applicazione Java scritta con le prestazioni in mente (ovvero, i metodi non sono dichiarati deliberatamente 'strictfp' nel codice sorgente), è possibile consentire agli utenti di eseguire l'intera applicazione in modalità strictfp?Forza tutta l'aritmetica Java a strictfp in fase di runtime, usando javassist?
Sembra un approccio approssimativo sarebbe semplicemente aggiungere l'attributo "strictfp" a tutti i metodi di tutte le classi utilizzando un caricatore di classe personalizzato scritto utilizzando javassist. Questo potrebbe essere simile a:
http://www.verious.com/qa/no-strictfp-in-scala-workarounds/
Tuttavia, il caricatore di classe avrebbe bisogno di aggiungere l'attributo strictpf a tutti metodi della classe nell'applicazione, comprese quelle private. (L'applicazione è semplicemente troppo grande e complesso per elencare in modo esplicito tutti i metodi possibili che potrebbero requre l'attributo strictf.)
L'API riflessione in javassist non sembra supportare messa in vendita di metodi privati:
http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/html/javassist/CtClass.html#getMethods()
È ciò che voglio fare in javassist (o per niente tramite l'approccio custom class loader)?
Hai provato 'getDeclaredBehaviors()'? – Antimony