JVM内存模型(云原生,中台比较喜欢问JVM多一点) 堆:保存对象实例属性值,属性类型,对象本身的标记,不会保存对象的方法(在栈里面) 方法区:类的版本,方法,字段,接口。 虚拟机栈:存放方法本身和操作数。 本地方法栈:存放native方法。 程序计数器:字节码的内置解释器。 JDK1.8用元空间替换了永久代,静态变量和常量池就会放在元空间里面;元空间会产生OOM,元空间虽然用的是机器的内存,但元空间大小可以配置,如果元空间太小,加载的类多,这时候就会出现OOM,不是一定不会出现OOM。