<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2011年9月2日

    ibatis分頁(yè)<一>

    package com.lxy.dialect;
    public abstract interface Dialect {
    public boolean supportLimit();
    public String getLimitString(String sql,boolean hasoffset);
    public String getLimitString(String sql,int offset,int limit);
    }


    package com.lxy.dialect;
    public class MyDialect implements Dialect {
    protected static final String SQL_END_DELIMITER = ";";
    public String getLimitString(String sql, boolean hasoffset) {
    return new StringBuffer(sql.length() + 20).append(trim(sql)).append(
    hasoffset ? "limit ?,?" : "limit ?").append(SQL_END_DELIMITER)
    .toString();
    }
    public String getLimitString(String sql, int offset, int limit) {
    sql = trim(sql);
    StringBuffer sb = new StringBuffer(sql.length() + 20);
    sb.append(sql);
    if (offset > 0) {
    sb.append("limit").append(offset).append(',').append(limit).append(
    ";");
    } else {
    sb.append("limit").append(limit).append(";");
    }
    return sb.toString();
    }
    public boolean supportLimit() {
    return true;
    }
    private String trim(String sql) {
    sql = sql.trim();
    if (sql.endsWith(";")) {
    sql = sql.substring(0, sql.length() - 1 - ";".length());
    }
    return sql;
    }
    }

    posted @ 2011-09-14 19:11 crazy-李陽(yáng) 閱讀(215) | 評(píng)論 (0)編輯 收藏

    線程池代碼

    ThreadPoolManager

    package com.threadpool.test;
    import java.util.LinkedList;
    import java.util.Queue;
    import java.util.concurrent.ArrayBlockingQueue;
    import java.util.concurrent.Executors;
    import java.util.concurrent.RejectedExecutionException;
    import java.util.concurrent.RejectedExecutionHandler;
    import java.util.concurrent.ScheduledExecutorService;
    import java.util.concurrent.ScheduledFuture;
    import java.util.concurrent.ThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;

    import org.omg.CORBA.TIMEOUT;

    import com.nio.test.ReadFileThread;

    public class ThreadPoolManager {

        private static ThreadPoolManager tpm = new ThreadPoolManager();

        // 線程池最小線程數(shù)
        private final static int MIN_SIZE = 4;
        // 線程池最大線程數(shù)
        private final static int MAX_SIZE = 10;
        // 線程池維護(hù)線程允許的空閑限制
        private final static int KEEP_ACTIVE_TIME = 0;
        // 線程池用的緩沖隊(duì)列大小
        private final static int WORK_QUEUE_SIZE = 10;
        // 消息緩沖隊(duì)列
        Queue queue = new LinkedList();
        
        final Runnable accessBuffeThread = new Runnable()
        {

            public void run() {
                
                if( hasMoreAcquire() ){
                    
                    String msg = ( String ) queue.poll();
                    Runnable task = new AccessDBThread( msg );
                    threadpool.execute( task );
                }
            }
            
        };
        // 無(wú)法由 ThreadPoolExecutor 執(zhí)行的任務(wù)的處理程序
        final RejectedExecutionHandler handler = new RejectedExecutionHandler()
        {

            public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
                // TODO Auto-generated method stub
                System.out.println(((AccessDBThread )r).getMsg()+"消息放入隊(duì)列中重新等待執(zhí)行");
                queue.offer((( AccessDBThread ) r ).getMsg() );
            }
            
        };
        
        final ThreadPoolExecutor threadpool = new ThreadPoolExecutor(MIN_SIZE, MAX_SIZE, KEEP_ACTIVE_TIME, TimeUnit.SECONDS, new ArrayBlockingQueue(WORK_QUEUE_SIZE),this.handler);
        
        // 調(diào)度線程池

        final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool( 1 );

        final ScheduledFuture taskHandler = scheduler.scheduleAtFixedRate(accessBuffeThread, 0, 1, TimeUnit.SECONDS);
        
        public static ThreadPoolManager newinstance()
        {
            return tpm;
        }
        
        private ThreadPoolManager (){}
        
        
        private boolean hasMoreAcquire()
        {
            return !queue.isEmpty();
        }
        
        public void addLogMsg(String msg)
        {
         Runnable task = new AccessDBThread(msg);
         threadpool.execute(task);
        }
    }
    AccessDBThread
    package com.threadpool.test;

    public class AccessDBThread implements Runnable{

        private String msg;
        public String getMsg() {
            return msg;
        }
        public void setMsg(String msg) {
            this.msg = msg;
        }
        
        public AccessDBThread(){
            super();
        }
        
        public AccessDBThread(String msg)
        {
            this.msg=msg;
        }
        public void run() {
            // TODO Auto-generated method stub
            System.out.println("Added the message: "+msg+" into the Database");
        }

        
    }

    測(cè)試類:
    package com.threadpool.test;


    public class TestDriver {

        ThreadPoolManager tpm = ThreadPoolManager.newinstance();
        
        public void addMsg(String msg)
        {
            tpm.addLogMsg(msg);
        }
        public static void main(String[] args) {
            for(int i=0;i<100;i++)
            {
                new TestDriver().addMsg(Integer.toString(i));
            }
        }
    }



    posted @ 2011-09-02 15:20 crazy-李陽(yáng) 閱讀(422) | 評(píng)論 (0)編輯 收藏

    <2011年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 无码毛片一区二区三区视频免费播放 | 久久久久久免费一区二区三区| 国产成人自产拍免费视频| 免费黄网站在线看| 亚洲精品色午夜无码专区日韩| 亚洲小视频在线播放| 亚洲码欧美码一区二区三区| 一级成人a做片免费| 曰批全过程免费视频在线观看| 国产大片线上免费看| 亚洲国产精品嫩草影院在线观看| 亚洲一级免费毛片| 国产成人精品免费大全| 国产亚洲美女精品久久久| 亚洲一区中文字幕在线电影网| 日韩免费a级毛片无码a∨| 亚洲中文字幕在线观看| 亚洲精品又粗又大又爽A片| 国产精品美女自在线观看免费| 免费的黄色网页在线免费观看| AA免费观看的1000部电影| 亚洲熟妇AV日韩熟妇在线| 很黄很污的网站免费| 亚洲综合综合在线| 高清永久免费观看| 免费观看的毛片手机视频| 亚洲国产综合无码一区| 99免费视频观看| 国产亚洲精品久久久久秋霞| 久久国产精品免费专区| 亚洲一区二区三区AV无码| 色吊丝免费观看网站| 韩国欧洲一级毛片免费| 一级毛片在播放免费| 亚洲一区二区成人| 三年片免费观看大全国语| 91亚洲国产成人久久精品网站| 青柠影视在线观看免费| 亚洲毛片av日韩av无码| jizzjizz亚洲日本少妇| 日韩免费毛片视频|