fac*_*_14 36 java jvm bytecode low-level-code
在最近提出的一个问题中,我简单的回答强调了我对Java,JVM以及代码如何编译和运行的许多误解.这使我产生了将我的理解提升到较低水平的愿望.像汇编这样的低层次理解我没有问题字节码和JVM如何让我感到困惑.面向对象的代码如何在低级别上分解对我来说是丢失的.我想知道是否有人对如何了解JVM,字节码和Java的低级功能有任何建议.是否有任何实用程序允许您直接编写和运行字节码,因为我相信亲身体验某些东西是理解它的最佳方式?此外,我们将不胜感激地阅读有关该主题的建议.
编辑:次要问题.所以我有一个小问题,答案给了我一个有趣的想法来了解jvm,写一个非常简单的语言如brainf**k或Ook的合理性只是用一种可读的语法(也许我甚至可以开发它)最终支持oo)编译成字节码是什么?这会是一个很好的学习经历吗?
Bri*_*new 12
在Apache的BCEL将允许你从字节码分析和手工工艺的.class文件.
javap将允许您反汇编现有的.class文件.这对于敲击快速测试类来理解幕后真正发生的事情特别有用.
我通过阅读ASM 教程和对库本身的了解来学习。
恕我直言,ASM 比 BECL 好。
BCEL 已经在多个项目中成功使用,例如编译器、优化器、混淆器、代码生成器和分析工具。不幸的是,过去几年并没有太多的发展。随时提供帮助,或者您可能想在 objectweb 上查看 ASM 项目。 - http://jakarta.apache.org/bcel/
| 归档时间: |
|
| 查看次数: |
10824 次 |
| 最近记录: |