哪些网站可以做推广,什么是网络营销传播,wordpress 内容采集,阿里云做的网站怎么样目录 感觉也看了这么多#xff0c;说一些乱七八糟的内容#xff0c;完全没有实质的收获#xff0c;那么现在让我们正式来预热下JVM 吧#xff1f;
一、程序的执行方式
二、为什么使用 JVM
三、字节码和机器码的区别
四、JDK、JRE与JVM的关系
五、OracleJDK和OpenJDK
…目录 感觉也看了这么多说一些乱七八糟的内容完全没有实质的收获那么现在让我们正式来预热下JVM 吧
一、程序的执行方式
二、为什么使用 JVM
三、字节码和机器码的区别
四、JDK、JRE与JVM的关系
五、OracleJDK和OpenJDK
1. 查看JDK的版本
2. OpenJDK 的来历
3. Oracle JDK的来历
4. Oracle JDK与OpenJDK的区别
六、JVM和Hotspot的关系
1. JVM和Java的关系
2. JVM的运行模式 感觉也看了这么多说一些乱七八糟的内容完全没有实质的收获那么现在让我们正式来预热下JVM 吧
一、程序的执行方式
主要有三种静态编译执行、动态编译执行和动态解释执行。
注意此处所说的编译指的是编译成可让操作系统直接执行的机器码。
二、为什么使用 JVM 三、字节码和机器码的区别
机器码是电脑CPU直接读取运行的机器指令运行速度最快但是非常晦涩难懂也比较难编写一般 从业人员
接触不到。
字节码是一种中间状态中间码的二进制代码文件。需要直译器转译后才能成为机器码。
四、JDK、JRE与JVM的关系 五、OracleJDK和OpenJDK
1. 查看JDK的版本
java -version
(1) 如果是SUN/OracleJDK 显示信息为
[rootlocalhost ~]# java -version
java version 1.8.0_162
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12 mixed mode)
说明
Java HotSpot(TM) 64-Bit Server VM 表明 此JDK的JVM是Oracle的64位HotSpot虚拟 机 运行在Server
模式下(虚拟机有Server和Client两种运行模式).
Java(TM) SE Runtime Environment (build 1.8.0_162-b12) 是Java运行时环境(即JRE)的 版本信息.
(2) 如果OpenJDK 显示信息为
[rootlocalhost ~]# java -version
openjdk version 1.8.0_144
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01 mixed mode)
2. OpenJDK 的来历
Java由SUN公司(Sun Microsystems 发起于美国斯坦福大学 SUN是Stanford University Network的
缩写)发明 2006年SUN公司将Java开源 此时的JDK即为OpenJDK.
也就是说 OpenJDK 是Java SE的开源实现 它由SUN和Java社区提供支持 2009年Oracle收购了 Sun公
司 自此 Java 的维护方之一的 SUN 也变成了 Oracle .
大多数 JDK 都是在 OpenJDK 的基础上编写实现的 比如IBM J9 Azul Zulu Azul Zing和Oracle JDK.
几乎现有的所有JDK都派生自OpenJDK 它们之间不同的是许可证:
OpenJDK根据许可证GPL v2发布;
Oracle JDK根据Oracle二进制代码许可协议获得许可。
3. Oracle JDK的来历
Oracle JDK之前被称为SUN JDK 这是在2009年Oracle收购SUN公司之前 收购后被命名为Oracle JDK。 实际上 Oracle JDK是基于OpenJDK源代码构建的 因此Oracle JDK和OpenJDK之间没有重大的技 术差异。 Oracle的项目发布经理Joe Darcy在OSCON 2011 上对两者关系的介绍也证实了OpenJDK 7和Oracle JDK 7在
程序上是非常接近的 两者共用了大量相同的代码(如下图)
注意图中提示了两者共同代码的占比要远高于图形上看到的比例 所以我们编译的OpenJDK基 本上可以认为
性能、功能和执行逻辑上都和官方的Oracle JDK是一致的. 4. Oracle JDK与OpenJDK的区别
OpenJDK使用的是开源免费的FreeType 可以按照GPL v2许可证使用.GPL V2允许在商业上使 用;
Oracle JDK则采用JRL(Java Research LicenseJava研究授权协议) 放出.JRL只允许个人研 究使用要获得
Oracle JDK的商业许可证 需要联系Oracle的销售人员进行购买。
六、JVM和Hotspot的关系
JVM是《JVM虚拟机规范》中提出来的规范。
Hotspot是使用JVM规范的商用产品除此之外还有Oracle JRockit、IBM的J9也是JVM产品
JRockit是Oracle的JVM 从Java SE 7开始 HotSpot和JRockit合并为一个JVM。
1. JVM和Java的关系 2. JVM的运行模式
JVM有两种运行模式Server模式与Client模式。
两种模式的区别在于
Client模式启动速度较快Server模式启动较慢但是启动进入稳定期长期运行之后Server模式的程序运行速度比Client要快很多。因为Server模式启动的JVM采用的是重量级的虚拟机对程序采用了更多的优化而Client模式 启动的JVM采用的是轻量级的虚拟机。所以Server启动慢但稳定后速度比Client远远要快。