jvm基本常识
JVM基本常识
程序的执行方式
主要有三种:静态编译执行、动态编译执行、动态解释执行

字节码和机器码的区别
机器码是电脑cpu直接读取运行的机器指令,运行速度最快,但是非常晦涩难懂,编写起来也比较难。
字节码是一种中间状态(中间码)的二进制代码(文件)。需要直译器后才能成为机器码
JDK、JRE、JVM的关系

Oracle JDK与OpenJDK
查看JDK版本

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, 它们之间不同的是许可证:

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在程序上是非常接近的, 两者共用了大量相同的代码
Oracle JDK与OpenJDK的区别

JVM和Java的关系

JVM的运行模式
JVM有两种运行模式:Server模式与Client模式。
两种模式的区别在于:
Client模式启动速度较快,Server模式启动较慢;
但是启动进入稳定期长期运行之后Server模式的程序运行速度比Client要快很多。
因为Server模式启动的JVM采用的是重量级的虚拟机,对程序采用了更多的优化;
而Client模式启动的JVM采用的是轻量级的虚拟机。所以Server启动慢,但稳定后速度比Client远远要快。
想要了解更多关于编程的知识可以点击视频了解一下: