Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

JAVAµ÷ÓÃÍⲿ½ø³Ì×î¼Ñʵ¼ù°æ×é¼þ

package com.allywll.core.exec.base;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.TimeoutException;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import com.allywll.core.util.PeriodicalTask;
import com.gzit.core.util.ArrayUtil;
/**
* ¶ÔÒ»¸öÍⲿ½ø³ÌÖ´Ðйý³ÌµÄ³éÏó
*
* @author gzit team
*
*/
public class ProcessorExecutor implements CmdExecutor {
private static Logger logger = Logger.getLogger("PROCESSOR");
// ½ø³ÌµÄÖ´Ðз¾¶
protected String workingDirectory;
// ½ø³ÌÊä³öµÄ×Ö·û±àÂë
// ĬÈÏʹÓÃÆ½Ì¨µÄ×Ö·û±àÂë
private String outputEncoding = Charset.defaultCharset().name();
// ½ø³ÌµÄÖ´ÐÐÃüÁî
protected String cmd;
// ½ø³ÌµÄÖ´ÐвÎÊý
protected String[] args;
// ½ø³ÌÖ´Ðеij¬Ê±Ê±¼ä £ºµ¥Î»ÎªºÁÃ룬-1²»¿¼Âdz¬Ê±»úÖÆ£¬Óг¬Ê±µÄ»°½«Íⲿ½ø³Ìdestroyµô
protected long timeout = -1;
protected long beginTime;// ½ø³ÌÖ´ÐеĿªÊ¼Ê±¼ä
protected long endTime;// ½ø³ÌÖ´ÐеĽáÊøÊ±¼ä
protected Process process; // µ±Ç°Ö´ÐеĽø³Ì
protected boolean blocking;// µ±Ç°Ö´ÐеĽø³ÌÊÇ·ñÕý´¦ÔÚ×èÈûÖ®ÖÐ
protected boolean flagTimeout;// ÊÇ·ñ·¢Éú³¬Ê±Òì³£
/**
*
* ½ø³ÌÖ´Ðйý³ÌµÄ¼à¿Ø(³¬Ê±ÒÔ¼°ÆäËüµÄ״̬¼ì²â)
*
*/
private static class ExecutorMonitor extends PeriodicalTask {
private Logger elogger = Logger.getLogger("PROCESSOR");
private List<ProcessorExecutor> executors = new LinkedList<ProcessorExecutor>();
public ExecutorMonitor(int period) {
super(period);
}
public void reg(ProcessorExecutor exec) {
this.executors.add(exec);
}
public synchronized void deReg(ProcessorExecutor exec) {
if (exec != null) {
this.executors.remove(exec);
}
}
@Override
protected void doWork() throws Exception


Ïà¹ØÎĵµ£º

java´úÀíģʽ¼°¶¯Ì¬´úÀíÀà

  java´úÀíģʽ¼°¶¯Ì¬´úÀíÀà ÊÕ²Ø
 
¶Ô´úÀíģʽÓëJava¶¯Ì¬´úÀíÀàµÄÀí½â
1.      ´úÀíģʽ
´úÀíģʽµÄ×÷ÓÃÊÇ£ºÎªÆäËû¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖƶÔÕâ¸ö¶ÔÏóµÄ·ÃÎÊ¡£ÔÚijЩÇé¿öÏ£¬Ò»¸ö¿Í»§²»Ïë»òÕß²»ÄÜÖ±½ÓÒýÓÃÁíÒ»¸ö¶ÔÏ󣬶ø´úÀí¶ÔÏó¿ÉÒÔÔÚ¿Í»§¶ËºÍÄ¿±ê¶ÔÏóÖ®¼äÆðµ½ÖнéµÄ×÷Óá£
´úÀ ......

java»ù±¾Êý¾ÝÀàÐÍת»»

»ù±¾Êý¾ÝÀàÐÍ
ÔÚJAVAÖÐÒ»¹²ÓаËÖÖ»ù±¾Êý¾ÝÀàÐÍ£¬ËûÃÇ·Ö±ðÊÇ
byte¡¢short¡¢int¡¢long¡¢float¡¢double¡¢char¡¢boolean
ÕûÐÍ
ÆäÖÐbyte¡¢short¡¢int¡¢long¶¼ÊDZíʾÕûÊýµÄ£¬Ö»²»¹ýËûÃǵÄȡֵ·¶Î§²»Ò»Ñù
byteµÄȡֵ·¶Î§Îª-128~127£¬Õ¼ÓÃ1¸ö×Ö½Ú£¨-2µÄ7´Î·½µ½2µÄ7´Î·½-1£©£º¾ßÌåÇë¿´²¹Âë
shortµÄȡֵ·¶Î§Îª-32768~32767£¬Õ¼Ó ......

JAVA ·´Éä

   Äú²éѯµÄ¹Ø¼ü´ÊÊÇ£ºnewinstance object initargs  ¡£Èç¹û´ò¿ªËÙ¶ÈÂý£¬¿ÉÒÔ³¢ÊÔ¿ìËٰ棻Èç¹ûÏë±£´æ¿ìÕÕ£¬¿ÉÒÔÌí¼Óµ½ËѲء£
(°Ù¶ÈºÍÍøÒ³http://bbs.iaiai.com/forum/read.php?tid=2690µÄ×÷ÕßÎ޹أ¬²»¶ÔÆäÄÚÈݸºÔð¡£°Ù¶È¿ìÕÕ½÷ÎªÍøÂç¹ÊÕÏʱ֮Ë÷Òý£¬²»´ú±í±»ËÑË÷ÍøÕ¾µÄ¼´Ê±Ò³Ãæ¡£)
 Ö÷Ìâ : javaµÄ·´Éä ......

java±àÂë¹æ·¶_Ëõ½øºÍ×¢ÊÍ

1.       Ëõ½øÅŰæ(Indentation)
4¸ö¿Õ¸ñ³£±»×÷ΪËõ½øÅŰæµÄÒ»¸öµ¥Î»¡£Ëõ½øµÄÈ·ÇнâÊͲ¢Î´Ïêϸָ¶¨(¿Õ¸ñ vs. ÖÆ±í·û)¡£Ò»¸öÖÆ±í·ûµÈÓÚn¸ö¿Õ¸ñ(ÊÓ¾ßÌåµÄ±à¼­Æ÷¶ø¶¨£¬EclipseĬÈÏÒ»¸öÖÆ±í·ûΪ4¸ö×Ö·û)¡£
3.1    Ð㤶È(Line Length)
¾¡Á¿±ÜÃâÒ»Ðеij¤¶È³¬¹ý80¸ö×Ö·û£¬ÒòΪºÜ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ