01 2022 档案
摘要:问题 代码转换需要越来越多的库 JDT 用于Eclipse相关开发 read, generate, analyse and transform source code API和meta model难以理解 APT(Annotation Processing Tool) SUN,之后由Oracle开发
阅读全文
摘要:https://docs.oracle.com/javase/tutorial/essential/environment/paths.html 以下内容基于java8, 一些地方与后面的版本不一致。 本文介绍PATH和CLASSPATH环境变量。 jdk安装目录中,bin文件夹下包含compile
阅读全文
摘要:常见缩写 CtClass: compile-time class Spoon: Structural elements 编程语言具有不同的meta model。 一个抽象语法树(AST)或者模型,是meta model的一个实例。每一个meta model——以及相应的AST——都或多或少的取决于需
阅读全文
摘要:https://stackoverflow.com/questions/5745721/automatically-generating-java-source-code https://www.cs.odu.edu/~zeil/cs330/latest/CS382/translating/inde
阅读全文
摘要:为什么要手动生成代码? 当生成代码是最优选择的时候,那么整个系统必然在某些地方有问题。 可能是开发者的代码水平缺陷 可能是编程语言设计缺陷 可能是框架缺陷 开发者的代码水平缺陷 你的代码的维护者只拥有平均的技能水平。 语言缺陷 比如java的equals和hashCode方法,重写它们实在太标准了以
阅读全文
摘要:第二章. Java虚拟机的结构 这篇文章定义了一个抽象的java虚拟机。不包含任何的具体实现。 为了正确地实现一个java虚拟机,你只需要正确地解析class文件并且正确地执行文件定义的操作。不属于java虚拟机定义的实现细节将不必要地限制实现者的创造力。比如,运行时数据区的内存布局,使用的垃圾回收
阅读全文