注:本系列的文章参考杨晓峰在极客时间的课程<<Java核心技术36讲>>
谈谈Java平台的理解? “Java是解释执行”,这句话正确吗?
Java特性:
面向对象(封装、继承、多态)
平台无关性(JVM运行.class文件)
语言特性(泛型,Lambda)
Java的类加载机制(BootStrap、Application和Extension Class-loader 加载、验证、连接、初始化)
GC机制(最常见的垃圾收集器)
类库(集合,并发,网络,IO/NIO)
JRE(Java运行环境,JVM,类库)
JDK(Java开发工具,包括JRE,javac,诊断工具)
Java是解析运行吗?
不正确!
1、Java源代码经过Javac编译.class文件
2、.class文件经JVM解析或编译运行
(1)解析:.class文件经过JVM内嵌的解析器解析执行
(2)编译:存在JIT编译器把经常运行的代码作为“热点代码”编译与本地平台相关的机器码,并进行各种层次的优化
(3)AOT编译器:Java 9提供的直接将所有代码编译成机器码执行
网友评论