Java中内存不足的通知
发布时间:2020-12-14 06:03:09 所属栏目:Java 来源:网络整理
导读:Java中是否有任何已发布的功能通知应用程序中的内存不足(或通知它已达到预定义级别)? 我想知道是否可以在某处注册一个监听器(或类似的东西)?我知道Runtime类中的内存方法.我可以自己创建一个计划任务检查剩余内存,但我想知道是否已经有一个现有的解决方案.
Java中是否有任何已发布的功能通知应用程序中的内存不足(或通知它已达到预定义级别)?
我想知道是否可以在某处注册一个监听器(或类似的东西)?我知道Runtime类中的内存方法.我可以自己创建一个计划任务检查剩余内存,但我想知道是否已经有一个现有的解决方案. 我不这么认为,但我正在寻找确认. 对于记录 MemoryMXBean mbean = ManagementFactory.getMemoryMXBean(); NotificationEmitter emitter = (NotificationEmitter) mbean; NotificationListener listener = new NotificationListener() { @Override public void handleNotification(Notification notif,Object handback) { String notifType = notif.getType(); if (notifType.equals(MemoryNotificationInfo.MEMORY_THRESHOLD_EXCEEDED) || notifType.equals(MemoryNotificationInfo.MEMORY_COLLECTION_THRESHOLD_EXCEEDED)) { // Retrieve the memory notification information CompositeData cd = (CompositeData) notif.getUserData(); MemoryNotificationInfo info = MemoryNotificationInfo.from(cd); MemoryUsage mu = info.getUsage(); System.out.println("Maximum memory = " + mu.getMax()); System.out.println("Used memory = " + mu.getUsed()); } } }; emitter.addNotificationListener(listener,null,null); 解决方法
我相信你可以使用
MemoryMXBean为内存使用阈值设置一个监听器.示例代码在javadoc链接中提供.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – Spring Hateoas,PathVariable和SaxSerialization
- Spring循环依赖的三种方式(推荐)
- JavaScipt中的Math.ceil() 、Math.floor() 、Math.round()
- java – gradle idea插件:标记为“未解析的依赖项”的库
- java – Android ui元素动画
- java – 从另一种异步方法调用的Spring异步方法
- Java运算符优先级
- java – 为什么Android会忽略READ_SMS权限?
- java – Jersey REST Client:发布MultiPart数据
- java – 无法在Play 2中使用多个ebean数据库