码迷,mamicode.com
首页 >  
搜索关键字:堆外    ( 104个结果
Java进程堆外内存(off heap)大小
使用ByteBuffer.allocateDirect分配的off heap内存大小本机进程 在Jvisualvm中安装 Mbeans插件,然后查看java.nio/BufferPool/direct 进程内使用代码获取 MBeanServer mbs = ManagementFactory. getPlatformMBeanServer() ; ObjectName objectName = ne...
分类:编程语言   时间:2015-07-21 17:06:15    阅读次数:339
直接内存和堆内存的性能比较
背景知识 在JDK 1.4中新加入了NIO(New Input/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆里面的DirectByteBuffer对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能,因为避免了在Java堆和Native堆中来回复制数据。 显然...
分类:其他好文   时间:2015-05-27 15:55:07    阅读次数:150
TI OMAPL处理器介绍(三)
个人认为,学TI的OMAP也好,学Samsung的arm也好,学MIPS也好。最好的上手的方法就是忘了他是什么。(对于应用开发人员用操作系统下的驱动开发人员适用) 只要有操作系统, 不管他是什么处理器,其本质都只是处理器的核 + 一堆外设 那么对于做应用的人来说,没有任何本质的区别。 对于做驱动的人来说,只是在不同的器件上pinmux设置等东西有所不同。但本质都是为某一个操作系统写驱动。 ...
分类:其他好文   时间:2015-05-15 13:41:05    阅读次数:96
调优案例分析
堆外内存导致的溢出除了java堆和永生代之外,西面这些区域还会占用较多的内存,这里所有内存总和受到操作系统进程最大内存的限制。 Direct Memory 线程堆栈 Socket缓存区:每个socket连接都receive和send两个缓存区,分别占大约37k和25k内存,连接多的话这块内存也很客观,如果无法分配则绘抛出IOException:Too many open files异常。 JNI代码...
分类:其他好文   时间:2015-02-09 16:08:49    阅读次数:127
【博弈论】BZOJ 1115-石子游戏
题意:有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作 每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件 谁没有石子可移时输掉游戏。问先手是否必胜。这个题是一个阶梯博弈的问题。一开始没有接触过,各种度娘然后搞懂了,赶快记下来。何为阶梯博弈?简单...
分类:其他好文   时间:2015-01-27 00:11:45    阅读次数:319
Netty 4(一) zero copy
Netty的“零拷贝”主要体现在如下三个方面:1) Netty的接收和发送ByteBuffer采用DIRECT BUFFERS,使用堆外直接内存进行Socket读写,不需要进行字节缓冲区的二次拷贝。如果使用传统的堆内存(HEAP BUFFERS)进行Socket读写,JVM会将堆内存Buffer拷贝...
分类:Web程序   时间:2014-11-05 06:58:50    阅读次数:239
BZOJ1115: [POI2009]石子游戏Kam
1115: [POI2009]石子游戏KamTime Limit:10 SecMemory Limit:162 MBSubmit:500Solved:308[Submit][Status]Description有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从...
分类:其他好文   时间:2014-10-04 11:35:06    阅读次数:220
Netty4底层用对象池和不用对象池实践优化
随着JVM虚拟机和JIT即时编译技术的发展,对象的分配和回收是个非常轻量级的工作。但是对于缓冲区Buffer,情况却稍有不同,特别是对于堆外直接内存的分配和回收,是一件耗时的操作。为了尽量重用缓冲区,Netty提供了基于内存池的缓冲区重用机制。性能测试表明,采用内存池的ByteBuf相比于朝生夕灭的ByteBuf,性能高23倍左右(性能数据与使用场景强相关)。 在4.x版本中,UnpooledB...
分类:Web程序   时间:2014-09-23 20:56:15    阅读次数:425
Effective Java Item7:Avoid Finalizers,解释为什么finalize是不安全的,不建议使用
在讨论如何回收堆外内存的时候,提到“NIO中direct memory的释放并不是通过finalize(),因为finalize不安全而且影响能”。Effective Java一书中也提到:Avoid Finalizers。人都有潜在的叛逆意识,别人给的结论或者制定的规范,除非有足够的理由说服你,除非懂得这么做背后的原因,否则只能是死记硬背,没有形象深入的理解,不能学到真正的东西。本文通过自己的理解和一些实际的例子,和大家一起更形象的理解finalize。还是那句经典的话“talking is cheap,...
分类:编程语言   时间:2014-09-21 18:46:11    阅读次数:322
System.gc()和-XX:+DisableExplicitGC启动参数,以及DirectByteBuffer的内存释放
我们知道java代码无法强制JVM何时进行垃圾回收,也就是说垃圾回收这个动作的触发,完全由JVM自己控制,它会挑选合适的时机回收堆内存中的无用java对象。代码中显示调用System.gc(),只是建议JVM进行垃圾回收,但是到底会不会执行垃圾回收是不确定的,可能会进行垃圾回收,也可能不会。什么时候才是合适的时机呢?一般来说是,系统比较空闲的时候(比如JVM中活动的线程很少的时候),还有就是内存不足,不得不进行垃圾回收。我们例子中的根本矛盾在于:堆内存由JVM自己管理,堆外内存必须要由我们自己释放;堆内存的...
分类:其他好文   时间:2014-09-19 22:32:26    阅读次数:492
104条   上一页 1 ... 8 9 10 11 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!