MemoryControler.java 文件源码

java
阅读 28 收藏 0 点赞 0 评论 0

项目:Lucee 作者:
public synchronized static void init(ConfigServer cs){
      if(init) return;
        // set level
      for (MemoryPoolMXBean pool : ManagementFactory.getMemoryPoolMXBeans()) {
          types.put(pool.getName(), pool.getType());
        // I don't know whether this approach is better, or whether
        // we should rather check for the pool name "Tenured Gen"?
          if (pool.getType() == MemoryType.HEAP && pool.isUsageThresholdSupported()) {
              long maxMemory = pool.getUsage().getMax();
              long warningThreshold = (long) (maxMemory * 0.9);
              //long warningThreshold = maxMemory -(10*1024*1024);
              pool.setUsageThreshold(warningThreshold);
          }
      }

      MemoryMXBean mbean = ManagementFactory.getMemoryMXBean();
      NotificationEmitter emitter = (NotificationEmitter) mbean;
      MemoryNotificationListener listener = new MemoryNotificationListener(types);
      emitter.addNotificationListener(listener, null, cs);
      init=true;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号