什么是JVM
定义:
- Java Virtual Machine - java 程序的运行环境
JVM内存结构

好处:
- 一次编写,到处执行(跨平台)
- 拥有自动内存管理机制,垃圾回收机制
- 数组下表越界检查(C++数组越界,会导致覆盖其他内存)
- 多态
JDK、JRE、JVM比较:

常见的JVM

我们为什么要对jvm做优化?
在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求:
- 运行的应用“卡住了”,日志不输出,程序没有反应
- 服务器的CPU负载突然升高
- 在多线程应用下,如何分配线程的数量?