学习java过程中有三个概念,分别是jvm内存结构、java内存模型、java对象模型。我们系统的学习完之后,如果不加以总结对比,很容易混淆,相信不光是自己有时候会搞混,好多人应该也同样的困惑,所以这里对这三个知识点做一个总结和对比。希望能帮到大家。
参考文档:
https://docs.oracle.com/javas... (Java虚拟机规范(Java SE 8))
《java并发编程的艺术》
《HotSpot实战》
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机的进程启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据![《Java虚拟机规范(Java SE 8)》](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5.4)
JVM运行时内存区域结构如下: