学习本文是为了jvm 调优做准备,为什么需要调优?目的是为了发挥机器性能、更高效地运行程序。(简述)
JVM 运行时数据区主要由五大部分组成:方法区、堆、虚拟机栈、本地方法栈和程序计数器
1、方法区
线程共享,存放常量、静态变量、类信息
2、堆(jvm调优主要操作的地方)
线程共享,存放对象。
堆分为新生代 和老年代,清理新生代称为Minor GC ,清理老年代称为Major GC ,清理整个堆空间称为 Full GC (包括年轻代和永久代)。
(所谓调优,是手动地合理地分配内存,以便减少full gc 次数,因为full gc 特别耗费系统资源)
3、虚拟机栈
线程私有,存储局部变量表、操作数栈、动态链接、方法出口等信息
4、本地方法栈
通过执行引擎在jvm外面执行程序,内存不归jvm关,这内方法 前面有native 关键字
5、程序计数器
程序所执行到 的 java 字节码 的当前位置