⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memorymoscalar.java

📁 一个SNMP4J开发的agent端程序
💻 JAVA
字号:
package com.poson.nmi.mo;

import org.apache.log4j.Logger;
import org.snmp4j.agent.MOAccess;
import org.snmp4j.agent.mo.MOScalar;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.OID;

import com.poson.common.LogManager;


public class MemoryMOScalar extends MOScalar {
	
	
	public final static int TOTAL_SIZE = 1 ;
	public final static int USED_SIZE = 2 ;
	public final static int FREE_SIZE = 3 ;
	public final static int USAGE = 4 ;
	
	
	protected static Logger logger = LogManager.getLogger(MemoryMOScalar.class) ;
	//protected static HashMap<String,MOBean> MOMap ;
	private int  mmParam ;
	
	public MemoryMOScalar(OID oid, MOAccess access,int mmParam) {
	super(oid, access, new OctetString());
	this.mmParam = mmParam ;
    setValue();
    setVolatile(true);
  }

  public int setValue() {
	  
	  String newValue = "0" ;
	  newValue = getMMParam() ;
	  return super.setValue(new OctetString(newValue));
  }
  
  private String getMMParam()
  {
	  String cmd = "" ;
	  String retVal = "-1" ;
	  switch( mmParam )
	  {
	  case TOTAL_SIZE:
		  retVal = String.valueOf(Runtime.getRuntime().totalMemory()) ;
		  break ;
	  case USED_SIZE:
		  retVal = String.valueOf(Runtime.getRuntime().totalMemory() - 
				  Runtime.getRuntime().freeMemory()) ;
		  break ;
	  case FREE_SIZE:
		  retVal = String.valueOf(Runtime.getRuntime().freeMemory()) ;
		  break;
	  case USAGE:
		  retVal = String.valueOf(100*(float)(Runtime.getRuntime().totalMemory() - 
				  Runtime.getRuntime().freeMemory())/Runtime.getRuntime().totalMemory()) +"%";
		  break; 
	  default:
			  break;
	  }
	  
	  return retVal ;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -