docs: protected void execute(final String[] args) throws Exception {
  		// Process command-line.
  		if (args.length == 0 || args.length == 1) {
  			usage();
  		}
  		String userpass = args[0];
  		String hostportOrPid = args[1];
  		String beanname = null;// vGCutil
  		String[] command = null;
  		if (args.length > 2) {
  			beanname = args[2];
  		}
  		if (args.length > 3) {
  			command = new String[args.length - 3];
  			for (int i = 3; i < args.length; i++) {
  				command[i - 3] = args[i];
  			}
  		}
  		String[] loginPassword = parseUserpass(userpass);
  
  		// 模拟GC Util命令的扩展
  		if (V_GCUTIL_BEAN_NAME.equalsIgnoreCase(beanname)) {
  			// 支持配置interval 固定事件间隔连续输出
  			int interval = 0;
  			if (command != null && command.length > 0) {
  				try {
  					interval = Math.abs(Integer.parseInt(command[0]));// 拿绝对值, 避免负数的情况
  				} catch (NumberFormatException e) {// NOSONAR
  				}
  			}
  
  			ExtraCommand extraCommand = new ExtraCommand();
  			extraCommand.execute(hostportOrPid, ((loginPassword == null) ? null : loginPassword[0]),
  					((loginPassword == null) ? null : loginPassword[1]), beanname, interval);
  			return;
  		}
  
  		Object[] result = execute(hostportOrPid, ((loginPassword == null) ? null : loginPassword[0]),
  				((loginPassword == null) ? null : loginPassword[1]), beanname, command);
  		if (result != null) {
  			for (int i = 0; i < result.length; i++) {
  				if (result[i] != null && result[i].toString().length() > 0) {
  					if (command != null) {
  						logger.info(command[i] + ": " + result[i]);
  					} else {
  						logger.info("\n" + result[i].toString());
  					}
  				}
  			}
  		}
  	}