Java使用ConcurrentLinkedQueue实现简易数据库连接池
2018-02-07 16:24
483 查看
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.concurrent.ConcurrentLinkedQueue; public class Main { private static String user="trans"; private static String password="oracle"; private static String url="jdbc:oracle:thin:@xx.xxx.xx.xxx:1521:Cxxx"; public static ConcurrentLinkedQueue<Connection> pool = new ConcurrentLinkedQueue<Connection> (); public static void init () { for (int i = 0; i < 5; i++) { Connection con = getConnection(); pool.add(con); } } public static Connection getConnection () { Connection conn = null; try { long start = System.currentTimeMillis(); Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(url, user, password); long end = System.currentTimeMillis(); System.out.println(end- start); System.out.println("success"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void closeConnection(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) { init(); long start = System.currentTimeMillis(); Connection con = pool.poll(); long end = System.currentTimeMillis(); System.out.println("pool:" + (end- start)); //dosomething try { con.clearWarnings(); } catch (SQLException e) { e.printStackTrace(); } pool.add(con); //getConnection(); } }
相关文章推荐
- 深入Java集合学习系列:ConcurrentLinkedQueue及其实现原理
- java 非阻塞算法在并发容器中的实现(ConcurrentLinkedQueue源码)
- java-ConcurrentLinkedQueue 简单使用
- Java Thread&Concurrency(13): 深入理解ConcurrentLinkedQueue及其实现原理
- Java中使用LinkedList实现Queue
- Java多线程--并发中集合的使用之ConcurrentLinkedQueue
- 如何正确的使用java.util.ConcurrentLinkedQueue
- java队列ConcurrentLinkedQueue的使用
- 使用zmq,probuf,缓冲池实现序列化和反序列化框架(一)-使用ConcurrentLinkedQueue实现缓冲池
- java多线程-专题-聊聊并发(六)ConcurrentLinkedQueue的实现原理分析
- 使用Java在Web上实现简易干特图之四
- 使用Java在Web上实现简易干特图之一
- 使用JAVA中的动态代理实现数据库连接池
- 使用JAVA中的动态代理实现数据库连接池
- 使用Java实现简易的HTTP服务器
- 使用JAVA中的动态代理实现数据库连接池
- 使用JAVA中的动态代理实现数据库连接池
- 使用java.util.concurrent实现的线程池、消息队列功能
- 使用Java在Web上实现简易干特图之二
- 使用Java在Web上实现简易干特图之六