JVM(一) 内存结构
2024-08-26 16:23:37
JVM内存结构
方法区(JDK8以上叫元空间)和堆为线程共享区,虚拟机栈、本地方法栈及程序计数器为线程独占区, 还有一个没有在下图中体现的叫做直接内存(Direct Memory),不受JVM GC 管理。
1.线程共享区域随虚拟机的启动而创建关闭而销毁。 2.线程独占区域生命周期与线程相同, 依赖用户线程的启动/结束而创建/销毁(在Hotspot VM内, 每个线程都与操作系统的本地线程直接映射, 因此这部分内存区域的存/否跟随本地线程的生/死对应)。
3. 直接内存并不是JVM运行时数据区的一部分,但也会被频繁的使用: 在JDK 1.4引入的NIO提供了基于Channel与Buffer的IO方式, 它可以使用Native函数库直接分配堆外内存,
然后使用DirectByteBuffer对象作为这块内存的引用进行操作(详见:Java I/O 扩展), 这样就避免了在Java堆和Native堆中来回复制数据, 因此在一些场景中可以显著提高性能。
最新文章
- 计算机程序的思维逻辑 (43) - 剖析TreeMap
- jsp实现简单的分页
- No.010:Regular Expression Matching
- mysql查询语句包含有关键字
- C#高级功能(四)扩展方法和索引
- JVM学习笔记(一)------基本结构
- Swift计算属性
- 本机Font字体
- OpenCV例程实现人脸检测
- Delphi Socket的最好项目——FastMsg IM(还有一些IM控件),RTC,RO,Sparkle等等,FileZilla Client/Server,wireshark,NSClient
- 使用C#和.NET 4编写的并行应用程序“多核并发编程的规则”
- SQL SERVER 2008 Hierarchyid数据类型
- Centos7网络配置-转载
- vue loadMore 上拉刷新不能实现的坑
- js之数组操作
- Java并发编程阅读笔记-锁和活跃性问题
- 自适应PC端网页制作使用REM
- PHP算法排序之快速排序、冒泡排序、选择排序、插入排序性能对比
- __PRETTY_FUNCTION__, __FUNCTION__, __func__
- Eclipse中复制项目重命名后重新发布,项目名在地址栏仍然是原来的项目名”的问题
热门文章
- 40、JSON数据源综合案例实战
- Ultra Edit中的数据对齐
- fgets()函数
- 《挑战30天C++入门极限》C++的iostream标准库介绍(3)
- eclipse快捷键及设置【转】
- 无法将“Scaffold-DbContext”项识别为 cmdlet、函数、脚本文件或可运行程序的名称...
- postgresql 字段sql语句 更改表名
- SpringBoot访问不了JSP但却能进入后台
- sass - for循环写法
- pip安装各种模块