jvm 之 java源码编译机制-感想
2012-02-24 18:30
260 查看
读了林 昊的《分布式java应用 基础与实践》 对于里面的java源码编译机制有了一感触,
错把常识当知识。
比如java 的编译机制,先将源文件编译成语法树,再由语法树这个中间状态生成目标文件class文件,认为是特有的一种方式,其实不然,大脑里面没有和大学里面学的 《编译原理》联系起来。
使用语法树 这种中间状态的好处是能够主要是两点
1 能生成不同目标平台与不同语言的编辑器,灵活性相当高。
2 有中间形式,自然就能做不同的优化。
那现在想想 这个class 文件 与jvm 与源程序之间也是中间状态,而且跟平台无关,java语法不断增加新功能,比如什么注解啊,但class文件这个中间状态的产品组成原子没有变,但组合变了,使相应的平台不需要为之改变什么,jvm 可能不断改进,对class文件转换成目标代码时,不断的进行优化。呵呵,这些都可以和编译原理相联系,相通.这种状态,并不是什么新发明,只是对原素之间组合成不同表现形式的东西。
错把常识当知识。
比如java 的编译机制,先将源文件编译成语法树,再由语法树这个中间状态生成目标文件class文件,认为是特有的一种方式,其实不然,大脑里面没有和大学里面学的 《编译原理》联系起来。
使用语法树 这种中间状态的好处是能够主要是两点
1 能生成不同目标平台与不同语言的编辑器,灵活性相当高。
2 有中间形式,自然就能做不同的优化。
那现在想想 这个class 文件 与jvm 与源程序之间也是中间状态,而且跟平台无关,java语法不断增加新功能,比如什么注解啊,但class文件这个中间状态的产品组成原子没有变,但组合变了,使相应的平台不需要为之改变什么,jvm 可能不断改进,对class文件转换成目标代码时,不断的进行优化。呵呵,这些都可以和编译原理相联系,相通.这种状态,并不是什么新发明,只是对原素之间组合成不同表现形式的东西。
相关文章推荐
- JVM之java源码编译机制
- 深入JVM【1】java源码编译机制
- JVM之---Java源码编译机制
- JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)
- 【总结】深入JVM之源码编译机制
- JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)
- jvm详解-java源码编译
- Java JVM:编译加载机制与自定义类加载器
- Java源码编译机制、类加载机制、类执行机制
- JAVA源码编译机制
- JVM详解之Java垃圾回收机制详解和调优
- Java的JVM运行的原理机制详解
- Java虚拟机jvm学习一:认识jvm的运行机制
- JVM详解之Java垃圾回收机制详解和调优
- java中的异常机制(编译时异常)
- JVM学习笔记(二)------Java代码编译和执行的整个过程
- java-原生爬虫机制源码
- Java NIO——Selector机制源码分析---转
- Java基础---JVM内存管理以及垃圾回收机制
- java编译静态常量的机制