码迷,mamicode.com
首页 > 编程语言 > 详细

《Java虚拟机精讲》读书笔记-第二章 字节码的编译原理

时间:2016-06-08 10:53:23      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:读书笔记   java虚拟机精讲   字节码的编译原理   

jvm同样可以执行其它语言的代码,如ruby,js只要他们编译成符合规范的字节码

相关信息可以百度jruby等

而java本身编译字节码的工具也就是我们都知道的javac.exe

然而我们在eclipse中的编译工作并不是读取jdk执行javac实现的,而是使用了eclipse自带的ECJ编译器实现的,javac采用的是全量编译,而ecj使用的是增量编译,tomcat也使用ecj编译jsp页面

编译分为4部分

  1. 词法分析

    将源码中的关键字和标识符等内容转换为符合java语法规范的token序列,然后按照指定的顺序规则进行匹配校验(转换并校验关键字和标识符是否正确)

2.语法分析

  将token序列整合为一个语法树,如try后面要接catch(生成语法树并校验语法是否正确)

3.语义分析

 扩充语法树

4.生成字节码(后续详细讲解)


如何下载部署javac编译器源码

download.java.net/openjdk/jdk8

新建java项目,并将下载的压缩文件中的/langtools/src/share/classes文件夹下的文件导入或copy到代码区,注意设置你的eclipse编译器版本为1.5以上,同时jre尽量使用eclipse自带的

《Java虚拟机精讲》读书笔记-第二章 字节码的编译原理

标签:读书笔记   java虚拟机精讲   字节码的编译原理   

原文地址:http://newyoung.blog.51cto.com/8028763/1787168

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!