虚拟机
HotSpot虚拟机,在JDK1.3及之后,一直被当成是所有SUN JDK的默认虚拟机
.NET Framework
JDK1.7的频繁跳票,期间Oracle收购了Sun
三大主流JDK虚拟机
主流的只有Hotspot。其他都是非主流吧。JRockit(BEA公司)基本上已经死了。oracle收购sun后 会把hotsopt和JRockit整合。ibm j9 一般只有ibm的产品用。称不上主流。
HotSpot 准确式GC
HotSpot和JRocket 的整合
Jrocket 服务器端JVM
J9 多用途虚拟机 IBM公司
Android平台上的虚拟机,Dalvik VM
Android Dalvik虚拟机初识
Dalvik虚拟机是Android程序的虚拟机,是Android中Java程序的运行基础。其指令集基于寄存器架构,执行其特有的文件格式——dex字节码来完成对象生命周期管理、堆栈管理、线程管理、安全异常管理、垃圾回收等重要功能。它的核心内容是实现库(libdvm.so),大体由C语言实现。依赖于Linux内核的一部分功能——线程机制、内存管理机制,能高效使用内存,并在低速CPU上表现出的高性能。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。
然而:Dalvik VM ≠Java VM
dalvik基于寄存器,而JVM基于stack
Dalvik执行的是特有的DEX文件格式,而JVM运行的是*.class文件格式。
优势:1、在编译时提前优化代码而不是等到运行时
2、 虚拟机很小,使用的空间也小;被设计来满足可高效运行多种虚拟机实例。
3、常量池已被修改为只使用32位的索引,以 简化解释器
Java技术的未来
1、Java的模块化
OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范
2、混合语言
3、多核运行
Lamdba,解决Java不适合函数式编程的问题
4、 64位虚拟机
天生具备并行计算能力的语言:Scala、Clojure、Erlang
Hadoop
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。