Java与JVM(Java Virtual Machine 简称:Java虚拟机)
Java与JVM
JVM运行时数据区
线程共享: 所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁。
线程独占: 每个线程都会有它独立的空间,随线程生命周期而创建和销毁。
方法区
作用:存储加载类信息,常量,变量,JIT编译后的代码等数据.
GC:
- 方法区的垃圾回收,但回收效率低
- 回收主要针对常量池,和类型的卸载
- 当方法去无法满足内存的时候,报OOM.
堆内存
作用:存在对象实例,几乎所有的对象,数组都在这里存放
- 对于大多数应用来说,堆是JVM管理的内存中最大的一块内存区域,