Java SE
在面试中10个面试9个问JVM的问题,在网上也一大批的博客,篇章讲述JVM,但始终觉得一篇传一篇也不知道传的是什么版本下的VM,技术的更新点似乎都没有或很少讲诉,看的我怀疑人生,就打算自己去oracle官网学习一番---耐心很重要
怎么选择这次学习的题目呢,也不自定义了,选择官方的标题---Java SE - Technologies | HotSpot VM
Java SE是Java开发中的核心基础,其他还有EE、ME、SE Subscription、Embedded、Card、TV、Community、Magazine等等
Java SE主要包含6个组件,也不翻译成中文了,觉得原汁原味更好,附带文档信息链接
Java 概念图描述SE产品的组件,下图不一定一下就看懂,也是也学习以上组件内容过程,一点一点累计成形的结果
Java Virtual Machine从上图可以看出来,其由 Java HotSpot Client and Server VM 组成工作流
有安装文件洁癖的我,自然习惯的把JDK和JRE安装在同一个文件夹内,配置了JRE环境,打打有的代码可以用,有的引入就不行,出现问题,看看上面的概念图就明白了
HotSpot VM
Java HotSpot虚拟机是Java SE平台的核心组件。它实现了Java虚拟机规范,并作为Java运行时环境中的共享库提供。作为Java字节码执行引擎,它在各种操作系统和体系结构上提供Java运行时工具,例如线程和对象同步。它包括动态编译器,可自动将Java字节码编译为优化的机器指令,并使用垃圾收集器高效管理Java堆,并针对低暂停时间和吞吐量进行了优化。它为分析,监视和调试工具和应用程序提供数据和信息
HotSpot是一个“工效学”的JVM。基于平台配置, 它包括动态编译器,可自动将Java字节码编译为优化的机器指令,并使用(Garbage Collectors)垃圾收集器有效的管理Java堆,并针对暂停时间短和吞吐量进行了优化(如果对GC有了解应该会明白这两点的意思)。但是在特殊情况下,可能需要进行特定调整才能获得最佳性能
通过收购Sun,Oracle有两个主要的Java虚拟机(JVM)实现,即Java HotSpot VM和Oracle JRockit JVM
官方提供内容主要以下点 :
Technology (技术)
HotSpot Engine Architecture HotSpot 引擎架构
HotSpot Thread Implementation (Solaris) HotSpot 线程实现 (Solaris)
HotSpot Garbage Collection HotSpot 垃圾收集
HotSpot Ergonomics HotSpot 工效学
HotSpot Performance and Tuning HotSpot 性能和调优
HotSpot Publications HotSpot 出版产品
Documentation (文档)
HotSpot VM Command Line Options HotSpot VM命令行选项
Frequently Asked Questions (常见问题)
Forums (论坛)
常见问题和论文附上链接,主要学习技术栈和文档上面的内容,学习过程中遇到问题可以去常见问题和论坛寻找答案
和之前的微服务学习方式一样,做好学习的备录点,然后开始逐一的学习,加油
------------------------------------------------------------------------