2013-06-26 6 views
6

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)?

+0

Hai provato 'getDeclaredBehaviors()'? – Antimony

risposta

Problemi correlati