首先说世界上没有完美的程序,Java的长寿性说明其独特的优点
而且其打出的口号,一次编写,处处运行
为了满足这个特点,Java提供了一个相对安全的内存管理和访问机制(JVM虚拟机)
避免了绝大多数的内存泄漏和指针越界问题
实现了热点代码检测和运行时的编译及优化
常见的技术体系包括
Java程序设计语言
Java虚拟机
Class文件的格式
第三方JavaAPI类库
自身的JavaAPI
将Java程序设计语言,Java虚拟机,JavaAPI统称为JDK
将JavaSEAPI字迹和Java虚拟机成为JRE
接下来,我们聊一聊Java虚拟机的发展史
从最初的的Sun Classic和ExactVM之间的竞争来看
最初是只能用解释器的方式来执行代码,不能使用编译器
所以效率极低
后来多出了ExactVM,可以做到GC 精准式内存管理,性能有了极大的提升
再后来就推出了HotSpotVM,一种范围最广的Java虚拟机
支持了热点探测技术,对使用率高的热点进行相关的编译工作
现在乃至未来的发展趋势,必然是模块化的趋势
就例如SpringBoot中的各种模块的集成
这也是无法阻挡的变革潮流
而且现在很多语言都推出了运行在JVM上的版本,方便跨平台运行
在JDK1.5之后,亦推出了高并发的思路,也就是java.util.concurrent包
在1.7后,推出了java.util.concurrent.forkjoin包,对整个高并发进行了一次重要扩充
而且后来又对Java语法进行了扩充,加入了自动装箱,泛型,注解等语法
是的Java具有了很多高级语法糖