Java泛型和编译优化的一个例子

2018-09-03
阅读 4 分钟
2k
这两个例子唯一的区别是后者的new ArrayList<String>(){}初始化strList的时候带了{}执行了赋初值,虽然语法层面没有什么区别,但是在编译之后的结果却完全不一样。而且执行的结果也完全不一样,前者执行结果:

Java编译期优化思维导图

2018-09-02
阅读 2 分钟
1.8k
本文参考自来自周志明《深入理解Java虚拟机(第2版)》,拓展内容建议读者可以阅读下这本书。 文字版如下: 编译期优化 javac的编译过程 解析和填充符号表 解析 Parse 词法分析 源代码字符流 -> 标记Token 源代码字符是程序编写的最小单位,Token是编译过程的最小元素不可再分 语法分析 Token序列 -> 抽象语法树AS...