JVM(Java Virtual Machine),Java虚拟机,Java程序运行环境,由C++语言的jvm.dll构建,在各个操作系统环境都会构建相对应的虚拟机,使能够在软件层面操作不同的硬件与指令,这就是Java跨平台的体现。
一、JVM的整体结构图
(1)堆内存:存放了线程间共有的资源,包括对象实例对象、数组等,常见的OOM就是指的这块区域出的问题;堆内存数据以完全二叉树的结构存储
相关参数:-Xms100M(初始内存100M) -Xmx100M(最大内存100M)
(2)方法区:存放了class对象(java.lang.Class,代表xx类)、常量、静态变量等,其中JDK1.7之前,方法区叫永久代(PermGen),JDK1.8之后叫元空间(MetaSpace)
相关参数:(jdk1.7以前)-XX:PermSize=100M -XX:MaxPermSize=100M