1.Java的优点:
- 摆脱了硬件平台的束缚,实现了一次编写,到处运行的理想。(虚拟机)
- 提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄漏和指针越界问题。(GC,垃圾回收机制)
- 实现了热点代码检测和运行时编译及优化。(虚拟机)
- 鞍山的程序接口,很多第三方类库--
2.JDK和JRE关系
这里说明一下2个JRE的区别。
首先与JDK并行的JRE,是非开发人员使用的JRE,我们都知道JRE是java程序的运行环境,假如我们不是开发者,我们是用户,我们只是使用这些程序,那么我们关注的不是程序性能,我们更关注的可能是程序启动时间,因此这个JRE启动更快,这个JRE我们也称其为client端的JRE。
然后是JDK目录下的JRE,这个是针对开发者而言的。比如我们是java语言的学习者,我们学习java开发,因此我们只需要下载一个JDK就够了,其目录底下存在我们调试程序使用的JRE,这个JRE注重的是程序性能,因此我们称其为server端的JRE。可能启动速度不如上一个JRE快。
在安装JDK的时候,会提示你是否需要安装client的JRE。
3.OpenJDK介绍
https://www.zhihu.com/question/19646618
4.关于虚拟机的一些概念:
解释器:能够执行用其他计算机语言编写的程序的系统软件
编译器:用编译程序,将源程序编译成目标程序的过程