jvm之直接内存的影响

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm之直接内存的影响相关的知识,希望对你有一定的参考价值。

  直接内存

  直接内存是一个重要的问题,首先它不是运行数据区的部分也不是java虚拟机规范的一部分,这个的出现主要和java1.4后出现的NIO相关,一个基于通道和缓冲区的io方式,它可以使用Native函数库来直接分配堆外内存,然后通过一个存在java堆中的DirectByteBuffer这个对象来对这个java堆外的内存的引用来进行操作,可以提高相关性能,因为避免了java堆和native堆中的来回复制数据。 

  那个那么重点来了,既然这个直接内存不归java堆管理,但是也会受到总内存的限制,如果管理员设置课动态扩展的javajvm时,如果忽略了这个直接内存的,最后实际内存总和大于实际内存,当jvm要动态扩展内存时,就会出现这个outofmemoryerror错误。

以上是关于jvm之直接内存的影响的主要内容,如果未能解决你的问题,请参考以下文章

java jvm之直接内存释放过程

java jvm之直接内存释放过程

堆外内存 jvm

堆外内存 jvm

堆外内存 jvm

堆外内存 jvm