是否有用javascript实现的Java字节码读取器?

是否有用javascript实现的Java字节码读取器?,javascript,java-bytecode-asm,bcel,Javascript,Java Bytecode Asm,Bcel,我知道有很多库读取用Java编写的字节码。有人知道用Javascript实现的字节码库吗?由于Javascript通常在浏览器中运行,它通常无法从文件中读取实际字节,这使得它不太适合读取java字节。如果您以某种方式将字节码编码成javascript可以读取的形式,那么您希望库如何处理它?你能提供更多关于你想做什么的细节吗 如果您希望能够用Java编写代码,并让它在浏览器中运行,请参阅。它使用Java将字节码重新编译成优化的javascript 编辑 根据您添加的评论,您希望“找到本地磁盘上ja

我知道有很多库读取用Java编写的字节码。有人知道用Javascript实现的字节码库吗?

由于Javascript通常在浏览器中运行,它通常无法从文件中读取实际字节,这使得它不太适合读取java字节。如果您以某种方式将字节码编码成javascript可以读取的形式,那么您希望库如何处理它?你能提供更多关于你想做什么的细节吗

如果您希望能够用Java编写代码,并让它在浏览器中运行,请参阅。它使用Java将字节码重新编译成优化的javascript

编辑


根据您添加的评论,您希望“找到本地磁盘上jar文件中使用的类和方法”:

由于javascript无法访问本地磁盘上的文件(至少在不使用ActiveX的情况下),该技术根本不允许这种情况。您为什么要使用javascript而不是java来实现这一点


如果听起来我怀疑你的动机,请接受我的道歉。我真的只是想得到足够的信息来充分回答你的问题。

有一些编译器可以将Java编译成JavaScript。作为最后的手段,您可以使用其中一个编译器获取用Java编写的JVML字节码反汇编程序,并将其编译为JavaScript。这种编译器的一个例子是


类似地,也有编译器可以将JVML字节码编译成JavaScript。同样,您可以使用上面用Java编写的JVML字节码反汇编程序之一,使用任何Java-to-JVML编译器(
javac
ecj
gcj
,…)将其编译为JVML(即
.class
文件),然后将这些
.class
文件编译为JavaScript。

更新:

我试图链接到下面的日本项目似乎早已过时。 在任何情况下,时间已经过去,现在谷歌上出现了一些“jvm In javascript”的点击率。即:


看看我发现了什么:

这有用吗

编辑:不幸的是,原来项目的站点似乎已经死了。
你可以尝试通过网络档案(日语,试图用谷歌翻译,但我猜这太间接了:)

看在上帝的份上,如果你点击了这个链接,请通过防病毒软件运行你的下载。

我不知道它是否可靠。

你想用它做什么?读取字节码并将其转储?分析它们?找出我本地磁盘上jar文件中使用的类和方法…+1用于提出一个完全有效的问题,似乎没有人能够在不质疑你动机的情况下处理这个问题。质疑动机和质疑意图之间有区别(“你想做什么?”与“你为什么想做?”)动机:扩展类似于jarfinder.com、findjar.com和其他的东西,以快速回答这样的查询:。将整个罐子运送到站点进行分析似乎是浪费。javascript无法执行简单html输入type=“file”每天在web上执行的任务,这似乎是假的。被否决的投票者是否愿意解释他们对这个答案的反对意见?我不是被否决的人,但我只想说,在浏览器的上下文之外运行javascript是完全可能的,我投了反对票,因为你当时输入的内容与op发布的非常明确的问题不符。你的问题属于评论部分。你关于javascript在浏览器中的归属的声明是过时的,并且具有误导性。Javascript不需要浏览器(参见v8、node.js、rhino等)。我可能已经放弃了,但是你有5000+分,我期望你这样一个有才干的人能得到更多。@z5h:谢谢你的解释。我不介意投票,只要他们被解释了,我就可以从中学习。即使是“像我这样有才干的人”也不是无所不知的。不过,在这种情况下,我并不觉得我错了。Javascript通常在浏览器中运行,因此除非OP计划使用您提到的特殊框架,否则他所要求的是不可能的。在这种情况下,我经常建议采取变通办法。如果他试图读取特定的字节码以便计算/运行它,那么GWT可能是一个合适的解决方法。@z5h:如果不是,我需要更多的信息来更好地回答这个问题,所以我询问了更多细节。就连乔恩·斯基特(Jon Skeet)在他的回答中也做过类似的事情()。事实证明,他并没有试图运行字节码,而是试图在浏览器中检查字节码,因此恰当的答案是“不能单独使用javascript完成”