Nashorn将JavaScript源代码直接转换为内存。 有没有什么方法可以用来读取字节码? (不需要操作)。如果有,请详细解释,因为我的经验有限...... 我知道javap,但它只显示Java特定的字节码。我想看看Nashorn翻译的javascript字节码。访问Nashorn生成的字节码
回答
您可以使用Nashorn命令行选项“-pc”或“--print-code”。 Nashorn将以javap-like格式打印生成的字节码。例如:
jjs -pc hello.js
如果你想拥有的.class文件(你想看看/其他工具分析),您可以使用“-d”或“自卸调试目录”指定保存生成的类的目录。例如,
jjs -d=tmp hello.js
将在“tmp”目录下生成.class文件。请在您指定的目录下查找“jdk/nashorn/internal/script”目录。
请注意,您将无法离线操作并在稍后的nashorn会话中重新加载这些类。这只是一个调试工具。
我认为这会解决我的目的。谢谢。 – Stradm
我认为'-pc'选项已被删除(至少在1.8.0_25-b17中不可用)。 '--print-code'仍然有效。 'jjs -xhelp'得到了一个完整的无证书选项列表。 – RichardTowers
嗯..嗯,-pc仍然存在afaik。刚刚检查jdk1.8.0u60早期访问构建。 –
- 1. 访问由ruby生成的样例程序的字节码
- 2. 生成访问代码
- 3. CGLIB AspectJ的字节代码生成
- 4. 访问代码生成的TextView资源
- 5. 将字节[]转换为Nashorn中的ArrayBuffer
- 6. Java中的访问对象变量Nashorn
- 7. 访问字节
- 8. Nashorn的`eval`函数可以用来解释字节码吗?
- 9. 从WSDL生成的java代码中生成访问器方法
- 10. 使用JCodeModel生成java字节码
- 11. 从Nashorn引擎中的js代码访问静态Java变量
- 12. Javassist似乎生成无效的字段访问代码
- 13. 访问类字节?
- 14. Django的xhtml2pdf - 生成PDF(编解码器不能解码字节)
- 15. 生成PDF字节数组
- 16. 访问界面生成器
- 17. 生成LinkedIn访问令牌
- 18. 访问字节元素
- 19. 部分字节访问
- 20. 关于Nashorn的问题 - JSObject
- 21. 最终字段值在字节码生成中不起作用
- 22. 在Python中生成的字节码是确定性的吗?
- 23. 如何转储ASM生成的类的字节码?
- 24. scala生成的字节码如何丢弃检查的异常?
- 25. 使用节点JS生成Twillio访问令牌
- 26. 字节码指令成本
- 27. 如何重新组装由javap生成的java字节码?
- 28. 从Eclipse的编译单元生成字节码
- 29. 动态生成的java字节码是否需要优化?
- 30. 当调用多处理池时生成的Python字节码
您是否尝试过查看Nashorn的文档和源代码? – Antimony