JVM
定义:
Java Virtual Machine - java 程序的运行环境(java二进制字节码的运行环境)
好处:
- 一次性编写,到处运行
- 自动内存管理,垃圾回收功能
- 数组下标越界检查(如果没有此检查,数组新元素可能会覆盖内存中别的信息)
- 多态
比较:
jdk(Java Development Kit)、jre(Java Runtime Environment)、jvm
常见的JVM
JVM组成部分
一个java源代码编译为java二进制字节码,经过类加载器,才能被加载到JVM里运行
Method Area(方法区):类放在此处。
Heap(堆):类创建的实例对象放在此处。
堆里面的对象在调用方法时会用到虚拟机栈(JVM Stacks)、程序计数器(PC Register)、本地方法栈(Native Method Stacks)。
方法执行时每行代码,是由执行引擎中的解释器(Interpreter) 逐行进行执行的;方法里的热点代码(被频繁调用的代码)会由即时编译器(JIT Compiler) 做编译(优化后的执行)
GC(garbage collection垃圾回收):会对堆中不再被引用的对象进行垃圾回收。
本地方法接口:可以调用操作系统提供的功能方法。