亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

用于App服務端的MySQL連接池(支持高并發)

2024-07-24 13:08:40
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了用于App服務端的MySQL連接池,并支持高并發,感興趣的小伙伴們可以參考一下
 

本文向大家介紹了簡單的MySQL連接池,用于App服務端比較合適,分享給大家供大家參考,具體內容如下

/** * 連接池類 */package com.junones.test; import java.sql.Connection;import java.sql.SQLException;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; public class MySQLPool {  private static volatile MySQLPool pool;  private MysqlDataSource ds;  private Map<Connection, Boolean> map;   private String url = "jdbc:mysql://localhost:3306/test";  private String username = "root";  private String password = "root1234";  private int initPoolSize = 10;  private int maxPoolSize = 200;  private int waitTime = 100;     private MySQLPool() {    init();  }     public static MySQLPool getInstance() {    if (pool == null) {      synchronized (MySQLPool.class) {        if(pool == null) {          pool = new MySQLPool();        }      }    }    return pool;  }     private void init() {    try {      ds = new MysqlDataSource();      ds.setUrl(url);      ds.setUser(username);      ds.setPassword(password);      ds.setCacheCallableStmts(true);      ds.setConnectTimeout(1000);      ds.setLoginTimeout(2000);      ds.setUseUnicode(true);      ds.setEncoding("UTF-8");      ds.setZeroDateTimeBehavior("convertToNull");      ds.setMaxReconnects(5);      ds.setAutoReconnect(true);      map = new HashMap<Connection, Boolean>();      for (int i = 0; i < initPoolSize; i++) {        map.put(getNewConnection(), true);      }    } catch (Exception e) {      e.printStackTrace();    }  }     public Connection getNewConnection() {    try {      return ds.getConnection();    } catch (SQLException e) {      e.printStackTrace();    }    return null;  }     public synchronized Connection getConnection() {    Connection conn = null;    try {      for (Entry<Connection, Boolean> entry : map.entrySet()) {        if (entry.getValue()) {          conn = entry.getKey();          map.put(conn, false);          break;        }      }      if (conn == null) {        if (map.size() < maxPoolSize) {          conn = getNewConnection();          map.put(conn, false);        } else {          wait(waitTime);          conn = getConnection();        }      }    } catch (Exception e) {      e.printStackTrace();    }    return conn;  }     public void releaseConnection(Connection conn) {    if (conn == null) {      return;    }    try {      if(map.containsKey(conn)) {        if (conn.isClosed()) {          map.remove(conn);        } else {          if(!conn.getAutoCommit()) {            conn.setAutoCommit(true);          }          map.put(conn, true);        }      } else {        conn.close();      }    } catch (SQLException e) {      e.printStackTrace();    }  }} /** * 測試類 */package com.junones.test; import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement; public class TestMySQLPool {  private static volatile int a;   private synchronized static void incr() {    a++;  }   public static void main(String[] args) throws InterruptedException {    int times = 10000;    long start = System.currentTimeMillis();    for (int i = 0; i < times; i++) {      new Thread(new Runnable() {         @Override        public void run() {           MySQLPool pool = MySQLPool.getInstance();          Connection conn = pool.getConnection();          Statement stmt = null;          ResultSet rs = null;          try {            stmt = conn.createStatement();            rs = stmt.executeQuery("select id, name from t_test");            while (rs.next()) {              System.out.println(rs.getInt(1) + ", "                  + rs.getString(2));            }          } catch (SQLException e) {            e.printStackTrace();          } finally {            incr();            if (rs != null) {              try {                rs.close();              } catch (SQLException e) {                e.printStackTrace();              }            }            if (stmt != null) {              try {                stmt.close();              } catch (SQLException e) {              }            }            pool.releaseConnection(conn);          }        }      }).start();    }    while (true) {      if (a == times) {        System.out.println("finished, time:"            + (System.currentTimeMillis() - start));        break;      }      Thread.sleep(100);    }  }}

測試結果:1萬個并發,5秒完成。

以上就是為大家分享的MySQL連接池類,希望大家喜歡,謝謝大家的關注。



注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美另类交人妖| 欧美多人乱p欧美4p久久| 久久在精品线影院精品国产| 精品一区二区三区四区| 在线视频亚洲欧美| 色老头一区二区三区| 人人澡人人澡人人看欧美| 成人av电影天堂| 91视频国产精品| 欧美日韩亚洲一区二| 欧美色另类天堂2015| 91夜夜揉人人捏人人添红杏| 97视频在线观看免费高清完整版在线观看| 欧美在线观看视频| 亚洲第一精品福利| 欧美肥老太性生活视频| 欧美激情精品久久久久久变态| 成人在线观看视频网站| 黑人极品videos精品欧美裸| 国产精品91久久久| 欧美午夜精品久久久久久人妖| 欧美一级黄色网| 亚洲国产欧美一区| 国产精品自产拍在线观看| 一区二区在线视频播放| 国产这里只有精品| 精品性高朝久久久久久久| 欧美成人激情在线| 在线电影欧美日韩一区二区私密| 国产精品白丝jk喷水视频一区| 国产99久久精品一区二区永久免费| 成人国产精品久久久久久亚洲| 欧美黑人xxxx| 欧美香蕉大胸在线视频观看| 91国偷自产一区二区三区的观看方式| 九九热视频这里只有精品| 中文字幕视频在线免费欧美日韩综合在线看| 日韩精品视频在线| 成人综合国产精品| 欧洲s码亚洲m码精品一区| 日韩在线视频播放| 久久精品免费电影| 欧美日韩在线免费观看| 97在线免费观看| 午夜欧美大片免费观看| 日韩av成人在线观看| 中文字幕在线国产精品| 91久久久在线| 97国产真实伦对白精彩视频8| 国产精品美女久久| 97视频在线观看成人| 亚洲系列中文字幕| 日韩免费在线观看视频| 日韩女优人人人人射在线视频| 欧美国产精品日韩| 欧美亚州一区二区三区| 国语自产精品视频在线看抢先版图片| 91亚洲国产精品| 国产一区二区三区视频免费| 国产免费观看久久黄| 国产午夜精品全部视频在线播放| 91久久久久久久| 欧美日韩一区二区三区| 欧美另类第一页| 日本电影亚洲天堂| 欧美成人精品xxx| 亚洲精品美女在线观看播放| 亚洲女人天堂网| 久久久综合av| 国产精品a久久久久久| 亚洲国产精品久久91精品| 午夜精品一区二区三区av| 国产日韩精品在线播放| 精品成人69xx.xyz| 最近免费中文字幕视频2019| 精品亚洲一区二区三区在线播放| 91精品国产91久久久久久吃药| 国产精品高清在线| 欧美成人精品在线观看| 欧美整片在线观看| 欧美日本国产在线| 亚洲精品美女网站| 欧美日韩人人澡狠狠躁视频| 日韩一级裸体免费视频| 日韩视频免费观看| 欧美精品午夜视频| 精品中文字幕乱| 91精品国产色综合久久不卡98| 91高清视频免费| 在线播放国产一区二区三区| 午夜伦理精品一区| 午夜精品一区二区三区在线播放| 亚洲激情视频网| 久久久久久久亚洲精品| 国产一区二区av| 69久久夜色精品国产69| 亚洲福利影片在线| 日韩成人激情影院| 久久久久久国产三级电影| 国产91露脸中文字幕在线| 97高清免费视频| 国产精品入口福利| 中文字幕综合一区| 欧美激情一二三| 国产亚洲精品激情久久| 欧洲日韩成人av| 亚洲大胆美女视频| 性日韩欧美在线视频| 日韩a**中文字幕| 国产做受69高潮| xxx成人少妇69| 精品一区二区亚洲| 国产精品专区一| 91精品久久久久久久久久久久久久| 国产精品久久久久久久久影视| 久久精品国产欧美亚洲人人爽| 日韩免费观看网站| 国内揄拍国内精品少妇国语| 欧美亚洲国产另类| 97**国产露脸精品国产| 欧美成人性生活| 亚洲码在线观看| 亚洲成av人片在线观看香蕉| 久久6免费高清热精品| 国产不卡精品视男人的天堂| 国产成人精品电影久久久| 亚洲黄页网在线观看| 久久久亚洲影院你懂的| 国产精品视频内| 久久精品视频免费播放| 日本精品久久久| 亚洲爱爱爱爱爱| 久久躁日日躁aaaaxxxx| 久久精品国产电影| 色婷婷久久av| 激情久久av一区av二区av三区| 青草热久免费精品视频| 国产精品美女视频网站| 精品国产福利在线| 久久成人亚洲精品| 亚洲福利视频网| 国产精品久久久久久久久久免费| www.久久久久| 欧洲成人免费aa| 久久天天躁狠狠躁夜夜av| 91精品成人久久| 亚洲欧美另类中文字幕| 日韩国产高清视频在线| 51视频国产精品一区二区| 国产在线拍偷自揄拍精品| 久久69精品久久久久久久电影好| 欧美综合国产精品久久丁香| 91免费精品国偷自产在线| 国产在线观看精品一区二区三区| 91精品久久久久久久久久入口| 亚洲人成五月天| 国产精品极品美女粉嫩高清在线| 国产日韩精品视频| 夜夜嗨av色综合久久久综合网| 欧美精品在线免费| 少妇高潮久久久久久潘金莲| 欧美亚洲在线观看| 日韩免费av在线| 91视频国产高清|