2024年5月15日
摘要: 直接内存(Direct Memory) 并不是虚拟机运行时数据区的一部分。为何存在呢?观察下两图进行对比: 有没有似曾相识?!很多架构的设计都基于这种思想,提高性能和效率。NIO的Buffer提供一个可以直接访问系统物理内存的类——DirectBuffer。 普通的ByteBuffer仍在JVM堆上 阅读全文
posted @ 2024-05-15 15:35 池塘里洗澡的鸭子 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 接上JVM运行时内存管理之线程私有继续分享JVM运行时内存管理中线程共享部分: 一、堆 对于Java应用程序来说, Java堆(Java Heap) 是虚拟机所管理的内存中最大的一块。 Java堆是被所 有线程共享的一块内存区域, 在虚拟机启动时创建。 此内存区域的唯一目的就是存放对象实例, Jav 阅读全文
posted @ 2024-05-15 14:57 池塘里洗澡的鸭子 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 在JVM初识中提到之所以在程序和操作系统之间增加JVM,就是JVM有些内存管理的特性直接在操作系统上实现有些费劲。那么JVM的内存管理是怎样的呢?其中内存部分分运行时数据区和非运行时数据区,即虚拟机的内存结构。具体可参考下图: 其中线程私有的:1)程序计数器 2)虚拟机栈 3)本地方法栈 线程共享的 阅读全文
posted @ 2024-05-15 10:06 池塘里洗澡的鸭子 阅读(36) 评论(0) 推荐(0) 编辑