一、获取堆外内存
@GetMapping("/panama")
public Map<String, Object> panama() {
ByteBuffer buffer = ByteBuffer.allocateDirect(1 * 1024 * 1024);
Map<String, Object> map = new HashMap<>();
try {
MBeanServer mbs = ManagementFactory. getPlatformMBeanServer() ;
ObjectName objectName = new ObjectName("java.nio:type=BufferPool,name=direct" ) ;
MBeanInfo info = mbs.getMBeanInfo(objectName) ;
for(MBeanAttributeInfo i : info.getAttributes()) {
map.put(i.getName(), mbs.getAttribute(objectName , i.getName()));
}
} catch (Exception e) {
map.put("error", e);
}
return map;
}
输出结果
Name:direct
Count:1
TotalCapacity:1048576
MemoryUsed:1048576
ObjectName:java.nio:type=BufferPool,name=direct
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。