【转帖】47.直接内存

直接,内存 · 浏览次数 : 0

小编点评

**1.直接内存概述** 直接内存是指在Java堆外,直接向系统申请的内存空间。它不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域。 **2.IO与NIO对比** | 特征 | 传统IO | NIO | |---|---|---| | 用户态与内核态切换 | 涉及内核态和用户态的切换 | 不涉及内核态和用户态的切换 | | 数据读取/写入效率 | 低效 | 高效 | | 内存使用效率 | 高 | 低 | | 内存大小设置 | 系统内存大小受限 | 默认值与堆的最大值-Xmx参数值一致 | **3.直接内存的OOM与内存大小设置** 1. 直接内存存在于堆外,它的大小受限于系统内存的大小。 2. 直接内存回收成本高,不受JVM内存回收管理。 3.可以通过MaxDierctMemorySize设置直接内存大小。如果不指定,则默认值与堆的最大值-Xmx参数值一致。

正文

1.直接内存概述

1.直接内存不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域。
2.直接内存是在Java堆外,直接向系统申请的内存空间
3.JavaNIO库允许使用直接内存,用于数据缓冲区
4.直接内存的读写性能比堆高
在这里插入图片描述

2.IONIO对比

1.使用传统IO读写文件,涉及到了用户态和内核态的切换,每次读数据,需要将数据线读取到操作系统内核态的地址空间的内存中,然后在读取到JVM用户态的地址空间的内存中;写数据的时候需要先写到JVM用户态的地址空间内存中,然后再写到操作系统内核态的内存中。内存中需要存储两份一样的数据,效率低下。
在这里插入图片描述
2.NIO使用本地内存,不涉及到内核态与用户态的切换,读写文件都是直接操作的本地内存,读写效率更高。
在这里插入图片描述

3.直接内存的OOM与内存大小设置

1.直接内存存在于堆外,它的大小受限于系统内存的大小,如果超过系统内存的大小,就会出现OOM
2.直接内存回收成本高,不受JVM内存回收管理。
3.可以通过MaxDierctMemorySize设置直接内存大小。如果不指定,则默认值与堆的最大值-Xmx参数值一致
在这里插入图片描述

更多JVM文章请访问我的JVM专栏:
https://blog.csdn.net/u011069294/category_10113093.html

</article>

与【转帖】47.直接内存相似的内容:

【转帖】47.直接内存

目录 1.直接内存概述2.`IO`与`NIO`对比3.直接内存的`OOM`与内存大小设置 1.直接内存概述 1.直接内存不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域。 2.直接内存是在Java堆外,直接向系统申请的内存空间 3.Java的NIO库允许使用直接内存,用于数据

[转帖]zookeeper三节点集群搭建

https://www.jianshu.com/p/1dcfbf45383b 下载zookeeper Apache源 http://archive.apache.org/dist/zookeeper/zookeeper-3.4.7/ wget http://archive.apache.org/di

[转帖]Linux下用dd命令测试硬盘的读写速度

一、测试写速度: time dd if=/dev/zero of=/tmp/test bs=8k count=1000000 测试结果:565 MB/s 二、测试读速度: time dd if=/tmp/test of=/dev/null bs=8k 测试结果:4.7GB/s 三、测试读写速度: t

[转帖]yum提示Error: rpmdb open failed 报错处理

Linux 下,在使用yum 安装时,可能会报以下错误: [root@localhost tmp]# yum --di sab1 erepo=* erase 1ibX11 rpmdb: Program version 4.7 doesn't match environment version 720

[转帖]【压测】通过Jemeter进行压力测试(超详细)

文章目录 背景一、前言二、关于JMeter三、准备工作四、创建测试4.1、创建线程组4.2、配置元件4.3、构造HTTP请求4.4、添加HTTP请求头4.5、添加断言4.6、添加察看结果树4.7、添加Summary Report4.8、测试计划创建完成 五、执行测试计划总结 背景 通过SpringC

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防