Java面试问题之五十四
问题:请问在Java中本地直接内存(Direct Memory)和堆内存(Java Heap)之间有何关系与区别,并尝试分析一下直接内存有什么作用。
答:根据Java虚拟机规范,堆内存(Heap Memory)和直接内存(Direct Memory)是Java虚拟机中两种基本的内存空间类型。堆内存是一个标准内存池,用于存放绝大多数对象的实例;直接内存则是一块由程序本身管理的一块内存空间,它的效率要比标准内存池要高,主要用于存放网络通信时数据缓冲和磁盘数据交换时的数据缓冲。
DirectMemory容量可以通过 -XX:MaxDirectMemorySize指定,如果不指定,则默认为与Java堆的最大值(-Xmx指定)一样。但是,在OSX上的最新版本的JVM,对直接内存的默认大小进行修订,改为“在不指定直接内存大小的时默认分配的直接内存大小为64MB”,可以通过-XX:MaxMemorySize来显示指定直接内存的大小。
答:根据Java虚拟机规范,堆内存(Heap Memory)和直接内存(Direct Memory)是Java虚拟机中两种基本的内存空间类型。堆内存是一个标准内存池,用于存放绝大多数对象的实例;直接内存则是一块由程序本身管理的一块内存空间,它的效率要比标准内存池要高,主要用于存放网络通信时数据缓冲和磁盘数据交换时的数据缓冲。
DirectMemory容量可以通过 -XX:MaxDirectMemorySize指定,如果不指定,则默认为与Java堆的最大值(-Xmx指定)一样。但是,在OSX上的最新版本的JVM,对直接内存的默认大小进行修订,改为“在不指定直接内存大小的时默认分配的直接内存大小为64MB”,可以通过-XX:MaxMemorySize来显示指定直接内存的大小。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
mybatis开启MapperScannerConfigurer导致properties不生效
原創
2024-02-07 13:55:41
Java字符串的一些理解
原創
2023-10-31 09:11:32
(二)java版spring boot 社交电子商务平台-security简单使用
原創
2023-10-10 11:05:06
(三)java版spring cloud+spring boot+redis多租户社交电子商务平台-Spring Cloud实战随机端口
原創
2023-10-10 11:05:04
如何使用 Java 反射?反射的用法及案例
原創
2023-10-10 02:23:57
最新美团面试集合(一面+二面+三面+重点技术面试题)附面试解析
原創
2023-10-10 01:43:49
Java程序员不想被裁员困扰,应该怎样筑基、发展才能越走越远?
原創
2023-10-10 01:43:34
阿里巴巴Java开发手册 梳理笔记 - finally 块必须对资源对象、流对象进行关闭
原創
2023-08-02 10:29:06
java并发-CAS的理解
原創
2023-05-29 01:40:21
java并发-Timer类的使用和原理
原創
2023-03-28 01:52:22
java并发-ReadWriteLock代码理解
原創
2023-03-28 01:52:20
java并发-synchronized关键字
原創
2023-03-28 01:52:18
java并发-AQS总结-原理
原創
2023-03-28 01:52:16
java并发-缓存一致性协议和内存屏障的思考和理解
原創
2023-03-28 01:52:14