Java技术体系
如果仅从传统意义上来看,Sun官方所定义的Java技术体系包括以下几个组成部分:
Java程序设计语言
各种硬件平台上的Java虚拟机
Class文件格式
Java API类库
来自商业机构和开源社区的第三方Java类库
我们可以把Java程序设计语言、 Java虚拟机、 Java API类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境
可以把Java API类库中的Java SE API子集[1]和Java虚拟机这两部分统称为JRE(Java Runtime Environment),JRE是支持Java程序运行的标准环境。
思考:日常说的JDK源码,指的是哪一部分?
Java虚拟机
Java制定了比较宽松的虚拟机规范,各个厂商都可以做自己的虚拟机。
默认的是已经被Oracle收购的Hotspot
但IBM等公司在专业硬件上有性能更加优秀的专业商业虚拟机。
64位虚拟机
优势:突破32位虚拟机最多4G内存的限制。
劣势:
1、JVM优化不够好,导致性能一定下降,不过这是暂时的,早晚被解决。
2、内存大,导致的GC时间长。