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