Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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¹ØÓÚ23ÖÖÉè¼ÆÄ£Ê½Ö®ÅÝMM°æ£¨ÍƼö£©[ת]


´´½¨ÐÍģʽ
1¡¢FACTORY——×·MMÉÙ²»ÁËÇë³Ô·¹ÁË£¬Âóµ±À͵靈áºÍ¿ÏµÂ»ùµÄ¼¦³á¶¼ÊÇMM°®³ÔµÄ¶«Î÷£¬ËäÈ»¿ÚζÓÐËù²»Í¬£¬µ«²»¹ÜÄã´øMMÈ¥Âóµ±ÀÍ»ò¿ÏµÂ»ù£¬Ö»¹ÜÏò·þÎñԱ˵“À´Ëĸö¼¦³á”¾ÍÐÐÁË¡£Âóµ±ÀͺͿϵ»ù¾ÍÊÇÉú²ú¼¦³áµÄFactory
¹¤³§Ä£Ê½£º¿Í»§ÀàºÍ¹¤³§Àà·Ö¿ª¡£Ïû·ÑÕßÈκÎʱºòÐèҪijÖÖ²úÆ·£¬Ö»ÐèÏò¹ ......

javaÖжÔÏóµÄÐòÁл¯


ÐòÁл¯µÄ¹ý³Ì¾ÍÊǽ«¶ÔÏóдÈë×Ö½ÚÁ÷ºÍ´Ó×Ö½ÚÁ÷ÖжÁÈ¡¶ÔÏó¡£½«¶ÔÏó״̬ת»»³É×Ö½ÚÁ÷Ö®ºó£¬¿ÉÒÔÓÃjava.io°üÖеĸ÷ÖÖ×Ö½ÚÁ÷ÀཫÆä±£´æµ½ÎļþÖУ¬¿ÉÒÔͨ¹ý¹ÜµÀ»òÏ̶߳ÁÈ¡£¬»òͨ¹ýÍøÂçÁ¬½Ó½«¶ÔÏóÊý¾Ý·¢Ë͵½ÁíÒ»Ö÷»ú¡£¶ÔÏóÐòÁл¯¹¦Äܷdz£¼òµ¥¡¢Ç¿´ó£¬ÔÚRMI¡¢Socket¡¢JMS¡¢EJB¶¼ÓÐÓ¦Ó᣶ÔÏóÐòÁл¯ÎÊÌâÔÚÍøÂç±à³ÌÖв¢²»ÊÇ×¶¯ÈË ......

JavaÈý´óÌØÕ÷£º·â×°¡¢¼Ì³Ð¡¢¶à̬

javaÖеķâ×°
     ·â×°£¬Ò»¸ö¶ÔÏóºÍÍâ½çµÄÁªÏµÓ¦µ±Í¨¹ýÒ»¸öͳһµÄ½Ó¿Ú£¬Ó¦µ±¹«¿ªµÄ¹«¿ª£¬Ó¦µ±Òþ²ØµÄÒþ²Ø¡££¨¶ÔÏóµÄÊôÐÔÓ¦µ±Òþ²Ø£©£¬Ò»¸ö¶ÔÏóµÄÄÚ²¿ÊÇ͸Ã÷µÄ£¬¾ÍÊǰѶÔÏóÄÚ²¿µÄ¿É͸Ã÷ÐÔºÍÒþ²ØµÄÌØÐÔÇø·Ö¿ª£¬¸Ã͸Ã÷µÄ͸Ã÷£¬¸ÃÒþ²ØµÄÒþ²Ø¡£
    £¨·â×°µÄÊôÐÔ£©javaÖÐÀàµÄÊôÐԵķÃÎÊȨÏÞ ......

java±àÂë¹æ·¶_Îļþ×éÖ¯

     ×î½ü£¬¶Ô²¿ÃŵÄjava±àÂë¹æ·¶½øÐÐÁËÕû¶Ù£¬Ð´Á˱¾Îĵµ¹©´ó¼Ò²Î¿¼£¬ÇëÖ¸Õý¡£
1.       ÎªÊ²Ã´ÒªÖÆ¶©±àÂë¹æ·¶
ºÃµÄ´úÂë·ç¸ñ²»½öÄÜÌá¸ß¿É¶ÁÐÔ£¬¶øÇÒ»áʹ´úÂë¸ü½¡×³£¬¸üÎªÖØÒªµÄÊÇÔÚÐÞ¸Äʱ²»ÈÝÒ׳ö´í¡£ÔÚÏÖ´úÈí¼þ¿ª·¢ÖУ¬Î¬»¤¹¤×÷»áÕ¼ÓÃ80%µÄʱ¼ä£¬¶øÇÒ¿ª·¢ÕߺÍά»¤ÕßÍ ......

java±àÂë¹æ·¶_ÉùÃ÷ºÍÓï¾ä

1.       ÉùÃ÷(Declarations)
5.1  ÿÐÐÉùÃ÷±äÁ¿µÄÊýÁ¿(Number Per Line)
ÍÆ¼öÒ»ÐÐÒ»¸öÉùÃ÷£¬ÒòΪÕâÑùÒÔÀûÓÚдעÊÍ¡£Ò༴£¬
int level; // indentation level
int size; // size of table
ÒªÓÅÓÚ£¬
int level, size;
²»Òª½«²»Í¬ÀàÐͱäÁ¿µÄÉùÃ÷·ÅÔÚͬһÐУ¬ÀýÈ磺
int foo, foo ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ