首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

察看NIO的direct memory使用量?(JDK7)

2012-10-25 
观察NIO的direct memory使用量?(JDK7)前一篇:观察NIO的direct memory使用量?前一篇说的是在当前的Oracle/S

观察NIO的direct memory使用量?(JDK7)
前一篇:观察NIO的direct memory使用量?

前一篇说的是在当前的Oracle/Sun JDK6上没啥好办法去监视NIO的direct memory使用量。不过这个问题在JDK7里其实已经有解决的。从JDK7 build 36开始就有了吧。
解决的方式就是:给NIO也带上JMX的监控API。这才是正道啊!
从JDK7版的java.nio.Bits源码里可以看到注册MXBean注册的代码。

相关的MXBean有以下两个:
1. objectName: java.nio:type=BufferPool,name=direct
2. objectName: java.nio:type=BufferPool,name=mapped
两个的接口都是java.lang.management.BufferPoolMXBean。
(注:在这个更新之前,该接口是叫做java.nio.BufferPoolMXBean。如果读到较老的JDK7介绍文看到包名不一样的话,java.lang.management这个才是正式版会使用的版本。)

用法参考上面链接里的JavaDoc就好。获取这两个MXBean的实例的办法也跟其它MXBean差不多:




热点排行