繁体   English   中英

Java字节码操作库建议

[英]Java Bytecode Manipulation Library Suggestions

我正在寻找一个维护良好的Java字节码操作库和一个直观的API。 那里似乎有很多人。 有关哪些尝试的建议?

您问题的最佳答案将取决于您的具体需求和目标; 如果你可以扩展你想要实现的目标,我或许可以提供更加量身定制的响应。

然而,根据我的经验, ASM可能提供成熟度,灵活性和易用性的最佳组合:

  • 它处于相对活跃的开发阶段:即使最新版本是从2009年6月开始,开发人员也会定期对其VCS进行提交。
  • 它已广泛用于许多着名的Java产品,例如AspectJ,Groovy,Cobertura和许多其他产品,这些产品承诺广泛的用户群,因此广泛的社区支持。
  • 它有相当详尽的文档,并且OW2联盟和整个社区都提供了许多教程,用户指南和参考文档。

NB下面留下的@Yuri评论描述了我个人尚未遇到但可能构成重大障碍的情况。 在评估各种字节码操作库时,记住他的观察/经验。

这实际上取决于你如何定义直观 ;-)我两周前开始使用ASM来完成我当前项目的某项任务,它就像一个魅力。 它只花了我几个小时来理解它并能够使用它,但我不会直接称之为API。 但是,如果您对Java字节码有一点了解并熟悉访问者模式,那么学习曲线就不是很高,IMO。

ASM的另一个优点是,它显然与标准API捆绑在一起,至少在Sun JDK中,尽管在不同的包中(com.sun.xml.internal.ws.org.objectweb.asm和子包)。

看一下这篇文章: http//www.pabrantes.net/blog/space/start/2008-03-24/1

有点旧但仍然相关。

ASM和Javassist现在是最常用的。 Bcel正在死去。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM