title: Java为什么不自举？
desc: Golang也好，Rust也好很多高级语言都实现了自举。而很多人拿Java和C比较，我只想说：为什么Java不自举！！！
topic: Java
content: 先问是不是再问为什么系列。源自IBM的Jikes RVM与源自Oracle的Maxine VM都是当代典型的可自举的Java（JVM）实现。它们都通过自己实现从Java字节码到机器码的编译器，并使用这个编译器在一个宿主JVM上AOT编译自己来实现自举。完成自举步骤后，Jikes RVM与Maxine VM都可以独立运行，不需要继续在宿主JVM上运行。至于为什么主流的JVM实现，例如 Oracle HotSpot 与 IBM J9 不选用自举的方式来实现，这更多还是技术的历史发展的结果
answerer_tags: 软件工程师、主攻高级编程语言虚拟机的设计与实现