当前位置: 首页 > 面试题库 >

以编程方式检查.class文件

刘博文
2023-03-14
问题内容

我正在做一个项目,我们在Java服务和以其他各种语言编写的html" target="_blank">客户端之间进行大量的远程对象传输。考虑到我们当前的限制,我决定查看基于现有Java类生成代码所需要的内容。基本上,我需要获取一个.class文件(或它们的集合)来解析字节码,以确定所有数据成员,甚至可能是getter
/ setter,然后编写一些可以输出不同语言代码的内容,以创建具有相同结构的类。

我不是在寻找像JAD这样的标准反编译器。我需要能够获取一个.class文件并创建其数据成员和方法的对象模型。这有可能吗?


问题答案:

我使用了BCEL,发现它确实很尴尬。ASM更好。它非常广泛地使用访问者(这可能会造成一些混乱),并且不会创建对象模型。事实证明,不创建对象模型是一种好处,因为您想要创建的任何模型都不太可能看起来像对所有数据的字面解释。



 类似资料:
  • 问题内容: 我目前正在从事一个项目,该项目要求我以编程方式将.class文件反编译为Java文件。IE我有一个程序,应该读取一个类文件并对其进行反编译,并将生成的Java源代码写入文件中。请帮我做。 编辑:我是反编译器世界的全新手。我已经看过一些API,但是我不知道到底该如何使用以及使用哪个API。任何形式的帮助将是非常可观的 编辑: 我尝试使用: 但是上面的代码只是在指定的目录中创建了一个名为“

  • 问题内容: 我想为Java的玩具语言编写一个编译器。我想生成可运行的.class文件。我想知道执行此操作的最佳库或工具是什么?我知道我可以学习所有指令的二进制格式并建立自己的常量池等,但这似乎应该已经完成​​:没必要重新发明轮子,对吗? 在线搜索我发现了两种不同的Java汇编语言Jasmin和Jamaica,但是只有Jasmin看起来有所维护。 是否存在用于将字节码写入流的Java库?这是Apac

  • 问题内容: 目标 :在计算机上检查Java的版本(我可以从中获取)。将其与Java网站上提供的最新版本进行比较 我想知道是否可以通过某种方法检查最新的Java版本,前提是我已在计算机上安装了JRE / JDK。 如果我可以通过Java本身做到这一点,那么我的解决方案将变得与平台无关。我可以使用类向Java网站发送请求并获取HTML,但是响应会是动态的,因为Oracle可以更改其网站和样式,并且从长

  • 我需要检查我的手机的Android版本,如果版本低于4.0.0,我应该执行以下代码,否则不应该执行。我怎么能这么做?我用这句台词弄到了安卓版。 我如何检查是否低于4.0.0。建议我一个解决方案。

  • 我能够从照片中捕捉颜色的RGB值,但我希望能够通过编程检测该颜色是红色、橙色、黄色、绿色、蓝色、紫色、棕褐色还是白色或黑色。 所以我需要指定返回的RGB范围,例如,红色的值。。。或者蓝色。。。等等我现在有类似的东西,但它不包括所有可能的RGB品种。 红色 R=255,克 R=255,G=0,B 橙色 R=255,克 R=240,G=255,B=0 等等 有人知道如何获取任何RGB值,并检测它是红色

  • 问题内容: 如标题所述,我想以编程方式检查域的DNS响应是否受DNSSEC保护。 我该怎么办? 如果有Pythonic解决方案,那就太好了。 更新:更改了响应请求,对于您的困惑感到抱歉 问题答案: 使用DNS解析器(例如),您可以查询域的DNSKEY RRset并打开(dnssec OK)查询标志。如果查询成功,则答案将设置(已认证数据)标志,并将包含区域的RRSIG签名(如果已签名)。 更新:使