Java是解析运行的吗?
不正确!
1. Java源代码经过JAVAC编译成.class字节码文件。
2. .class文件经JVM解析或编译执行。
1)解析:.class字节码文件经过JVM内嵌的解析器解释执行。(这种方式执行速度会相对比较慢,所以引入了下面2的缓存技术)
2)编译:存在JIT编译器(Just In Time Compie 即时编译器)把经常运行的代码作为“热点代码”编译为本地平台相关的机器码,并进行各种层次的优化。
3)AOT编译器:Java9提供的直接将所有代码编译成机器码执行。