JVM学习(一)虚拟机简介和术语描述
JAVA特点
- 一门结构严谨,面向对象的编程语言
- 摆脱了硬件平台的束缚,实现了"一次编写,到处运行"的理想
- 提供了一种相对安全的内存管理和访问机制
Java运行过程
运行过程: java编译器(编译)->虚拟机(解释执行)->解释器(翻译)->机器码
跨平台性:
- java源码编译后会生成.class文件,称为字节码文件。
- jvm负责讲字节码文件翻译成特点平台下的机器码然后运行。
- 因此
- 字节码文件不能直接运行,必须通过jvm翻译;不同平台下的字节码是一样的,但是jvm翻译的机器码却不一样
- 跨平台的是java程序,不是jvm,jvm是用C开发的,不能跨平台,不同平台需要安装不同版本的jvm。
java不是最强大的语言,jvm是最强大的虚拟机
jvm组成
jvm的组成包括 类加载器,字节码执行引擎,运行时数据区。(并不是只有内存模型)
Java术语
虚拟机是有很多种类
Sun Classic:世界上第一款商用Java虚拟机
HotSpot VM:OracleJDK和OpenJDK中默认java虚拟机,也是目前使用最广的虚拟机