JVM可以使用的内存分外2种:堆内存和堆外内存,堆内存完全由JVM负责分配和释放,如果程序没有缺陷代码导致内存泄露,那么就不会遇到java.lang.OutOfMemoryError这个错误。使用堆外内存,就是为了能直接分配和释放内存,提高效率。JDK5.0之后,代码中能直接操作本地内存的方式有2种:使用未公开的Unsafe和NIO包下ByteBuffer。C语言的内存分配和释放函数malloc/free,必须要一一对应,否则就会出现内存泄露或者是野指针的非法访问。java中我们需要手动释放获取的堆外内存吗...
分类:
编程语言 时间:
2014-09-16 22:08:51
阅读次数:
380
Centralized Cache Management inHDFS
Overview
HDFS中的集中式缓存管理是一个显式的管理缓存的机制,它允许用户指定被HDFS缓存的路径。NameNode将与磁盘上有所需的Block的DataNode通信,命令其在堆外缓存里缓存Block。
HDFS中的集中式缓存管理有许多重要的优势。
1. 明确地防止频繁使用的数据被赶出内存。当工作集的...
分类:
其他好文 时间:
2014-08-21 15:07:24
阅读次数:
346
直接内存并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,但是这部分内存也被频繁的使用,而且也可能导致OutOfMemoryError异常出现,在JDK1.4中新加入了NIO类,引入了一种基于通道与缓冲区的I/O方式,它可以使用Native函数库直接分配堆外内存,然后..
分类:
其他好文 时间:
2014-07-23 21:15:26
阅读次数:
228
官方地址
Jvm gcih
出自Jvm
跳转到:
导航,
搜索
目录
[隐藏]
1
GC-Invisible Heap
1.1
什么是GCIH1.2
为什么要用GCIH
1.2.1
GCIH + Hesper + Forest线上测试结果对比
2
GCIH内存共享
2.1
有关GCIH内存共享2.2
GC...
分类:
编程语言 时间:
2014-05-01 17:39:58
阅读次数:
320