Java 特性 :
Java语言最显著的特性莫过于两个 :1.书写一次,到处执行 2.Java 通过垃圾收集器(Garbage Collector)
其他:
1.面向对象 (封装 、继承、多态)
2.平台无关性(JDK将源代码编译成.class 文件 。JVM运行.class。理论上只要符合JVM的字节码都可以运行在JVM上)
3.语言(面向对象、反射、泛型、Lambda等)
4.基础类库(集合、并发、网络、IO/NIO、安全等)
5.JRE(java运行环境、JVM、类库)
6.JDK(java开发工具,包括jre,编译器,诊断工具等)
"Java 是解释执行" 这句话正确吗 ?
对于“Java 是解释执行” 这个说法其实不太正确,我们开发的源代码,首先通过javac编译成字节码(bytecode) ,然后在运行时通过java虚拟机(JVM)内嵌的解释器将字节码转换成为最终的机器码。但是常见的JVM,比如我们大多数情况下使用的Oracle JDK 提供的Hotspot JVM 都提供了JIT(Just-In-Time)编译器,也就是我们所说的动态编译器,JIT能够在运行时将热点代码编译成为机械码,这种情况下部分热点代码就属于编译执行,而不是解释执行了。
本文内容全部摘要于 ”极客时间“ 杨晓峰的“Java核心技术36讲” ,文章纯属个人笔记,错误地方敬请提点 。