2013-02-07 25 views
1

我正在用JVM语言(如Clojure和Scala)试验(与一些朋友)。我们最近发现了一种算法的功能解决方案,它在Scala中的执行速度比Java中快30倍。使用这些函数式语言,有没有人使用过字节码分析工具来查看JVM字节码中的这些函数变成了什么?什么是用于此目的的最佳工具?用于理解JVM语言的字节码分析工具

对于这个问题,我刚开始看字节码检测和分析产品,哪个工具最适合使用?我在Stackoverflow上看到了一些建议,但我不确定他们是否专门针对希望了解两个代码之间存在哪些机器实现差异,或者纯粹是为了代码覆盖的目的,这不是我的兴趣。

回答

3

从工具的角度来看,JVM语言不会给普通Java字节码造成任何不同的分析问题。你需要的是了解事物如何在你的幻想函数结构背后工作,以便正确地读取你的分析器的结果。

YourKitvisualVM将再次成为你的朋友。

+0

那么我真正需要的是一个反编译器来查看构造映射到java中的东西,对吧? –

+0

这可能有帮助,那么你应该看看手边的JVM语言的细节。 Clojure具有相当固定的结构来将fns,协议和数据类型转换为Java类,您将习惯它并能够“读取”探查器结果中涉及的类名称。 – skuro

+0

谢谢,这证实了我的怀疑。 –