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
Ïà¹ØÎĵµ£º
ÔÚDevoxx 2009£¨Ò»ÄêÒ»¶ÈµÄJavaÉçÇø´ó»á£¬½ñÄêÔÚ11ÔÂ16-20ÈÕ¾ÙÐУ©ÉÏ£¬SunÐû²¼½«ÔÚJDK 7ÖÐÔö¼Ó±Õ°ü¹¦ÄÜ¡£Õâ¸ö¹¦ÄܵÄÌí¼Ó½«´ÓFCM v0.5£¨First-Class Methods£¬µÚÒ»Àà·½·¨£©µÄÓï·¨ºÍÓïÒ⿪ʼ×ÅÊÖ¡£FCMÓëJCAÔ±¾Ò»Í¬±»Ìá½»£¬È»¶øSunÐû²¼JCA½«²»ÔÚJDK 7Öп¼ÂÇ¡£
ͬʱ£¬Sun±íʾJava 7µÄ·¢²¼Ê±¼ä½«±»ÍƳÙÖÁ2010Äêµ×¡£ ......
ÐòÁл¯µÄ¹ý³Ì¾ÍÊǽ«¶ÔÏóдÈë×Ö½ÚÁ÷ºÍ´Ó×Ö½ÚÁ÷ÖжÁÈ¡¶ÔÏó¡£½«¶ÔÏó״̬ת»»³É×Ö½ÚÁ÷Ö®ºó£¬¿ÉÒÔÓÃjava.io°üÖеĸ÷ÖÖ×Ö½ÚÁ÷ÀཫÆä±£´æµ½ÎļþÖУ¬¿ÉÒÔͨ¹ý¹ÜµÀ»òÏ̶߳ÁÈ¡£¬»òͨ¹ýÍøÂçÁ¬½Ó½«¶ÔÏóÊý¾Ý·¢Ë͵½ÁíÒ»Ö÷»ú¡£¶ÔÏóÐòÁл¯¹¦Äܷdz£¼òµ¥¡¢Ç¿´ó£¬ÔÚRMI¡¢Socket¡¢JMS¡¢EJB¶¼ÓÐÓ¦Ó᣶ÔÏóÐòÁл¯ÎÊÌâÔÚÍøÂç±à³ÌÖв¢²»ÊÇ×¶¯ÈË ......
»ù±¾Êý¾ÝÀàÐÍ
ÔÚ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£¬Õ¼Ó ......
Blog from http://forum.xda-developers.com/showthread.php?t=552846
I've just pushed new Hero Java app into my rogers build and it works fine.
What you basically need is:
Jbed.apk (install with adb install)
libjbedvm.so (adb push /system/lib) - remember to remount as RW.
I strongly suggest to ......
1. JavaÖгýÁËstaticºÍfinal·½·¨Í⣬ÆäËûËùÓеķ½·¨¶¼ÊÇÔËÐÐʱ°ó¶¨µÄ¡£private·½·¨¶¼±»Òþʽָ¶¨ÎªfinalµÄ£¬Òò´ËfinalµÄ·½·¨²»»áÔÚÔËÐÐʱ°ó¶¨¡£µ±ÔÚÅÉÉúÀàÖÐÖØÐ´»ùÀàÖÐstatic¡¢final¡¢»òprivate·½·¨Ê±£¬ÊµÖÊÉÏÊÇ´´½¨ÁËÒ»¸öÐµķ½·¨¡£
2.ÔÚÅÉÉúÀàÖУ¬¶ÔÓÚ»ùÀàÖеÄpr ......