原创 mysql批量導入數據遇到的問題

最近項目中有一個需求,需要把大概150W條數據導入mysql數據庫中,一共六張表,數據最多的表大概有100W條數據。 因爲是一次性導入,不會經常使用,因此計劃寫成一個小程序,使用原生JDBC,打成jar包,放到服務器上運行。 第

原创 Timer類jdk文檔翻譯及源碼分析

Timer是進行任務調度的工具類,用來執行任務。Task可以被執行一次,也可以按照一個固定的時間間隔重複執行。 每個定時器對象都維護一個single後臺線程,它用於順序執行該定時器對象的所有任務。因此提交給Timer對象的任務應當

原创 commons pool2對象池入門

apache commons pool,官方稱之爲 Generic object pooling component,即通用的對象池組件。 The Apache Commons Pool open source software

原创 tomcat源碼中用到的設計模式

原文: https://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/ 概覽 門面設計模式 觀察者設計模式 命令設計模式 責任鏈模式 門面設計模式 門面設計模式在 Tomca

原创 深入理解Java之線程池

在前面的文章中,我們使用線程的時候就去創建一個線程,這樣實現起來非常簡便,但是就會有一個問題:   如果併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁創建線程就會大大降低系統的效率,因爲頻繁創

原创 謎題3:Long Division 長整除

public class LongDivision { public static void main(String[] args) { final long MICROS_PER_DAY = 24 * 6

原创 CountDownLatch的簡單理解

CountDownLatch的概念 CountDownLatch是一個同步工具類,用來協調多個線程之間的同步,或者說起到線程之間的通信(而不是用作互斥的作用)。 CountDownLatch能夠使一個線程在等待另外一些線程完成各自

原创 謎題2:Time for a change 找零時刻

public class Change { public static void main(String args[]) { System.out.println(2.00 - 1.10); } }

原创 謎題4:It's Elementary 初級問題

public class Elementary { public static void main(String[] args) { System.out.println(12345 + 5432l);

原创 tomcat線程池的配置及源碼實現

tomcat中線程池的配置是哎server.xml中: <Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Executo

原创 謎題1:奇偶性

以下爲一個判斷int類型變量是否爲奇數的方法 public static boolean isOdd(int i) { return i % 2 == 1; } 存在的問題:當i爲負奇數時,方法返回的結果錯誤。 對於jav

原创 CyclicBarrier的簡單理解

CyclicBarrier的概念 字面翻譯爲迴環柵欄,同CountDownLatch一樣,也是concurrent包中提供的多線程之間通信的一種方式。它允許一組線程在等待某個狀態後再全部同時執行。它允許一組線程互相等待對方,直到到

原创 關於Integer類和Long類對值的緩存問題

這是個老生常談的問題了,在此不展開細說,具體細節大家看下jdk源碼就可以了。 1. Integer和Long都默認緩存值從-128到127的對象,緩存工作在靜態塊完成,在類生命週期(loading verify prepare

原创 commons pool2 之GenericObjectPool(未完)

commons pool2 的org.apache.commons.pool2.impl包下提供了一個對象池的具體實現GenericObjectPool。 類內部使用一個ConcurrentHashmap存儲所有的objects:

原创 Callable和Future

原文: http://blog.csdn.net/ghsau/article/details/7451464 接着上一篇繼續併發包的學習,本篇說明的是Callable和Future,它倆很有意思的,一個產生結果,一個拿到結果。