Nashorn 将 javascript 源代码直接翻译到内存中。是 有什么方法可以访问字节码只是为了阅读目的吗? (不需要进行操作)。如果有的话,请详细解释一下,因为我的经验有限...... 我知道 javap 但它只显示 Java 特定的字节码。我想看看 Nashorn 翻译的 javascript 字节码。
您可以使用 Nashorn 命令行选项“-pc”或“--print-code”。 Nashorn 将以类似 javap 的格式打印生成的字节码。例如:
jjs -pc hello.js
如果您想要 .class 文件(您想通过其他工具查看/分析),您可以使用“-d”或“--dump-debug-dir”来指定保存生成的类的目录。例如,
jjs -d=tmp hello.js
将在“tmp”目录下生成.class文件。请在您指定的目录下查找“jdk/nashorn/internal/script”目录。
请注意,您将无法在稍后的 nashorn 会话中离线操作和重新加载这些类。这只是一个调试工具。