原创 Java併發——ReentrantLock的公平鎖與非公平鎖

一、鎖的公平性含義所謂公平鎖,就是在絕對時間上,先對鎖發起獲取請求的一定先被滿足,那麼這個鎖是公平的,反之,則是非公平的。因爲ReentrantLock的實現是通過自定義的靜態內部類sync實現的,sync繼承了AbstractQueue

原创 Java併發——Executor框架詳解(Executor框架結構與框架成員)

一、什麼是Executor框架?我們知道線程池就是線程的集合,線程池集中管理線程,以實現線程的重用,降低資源消耗,提高響應速度等。線程用於執行異步任務,單個的線程既是工作單元也是執行機制,從JDK1.5開始,爲了把工作單元與執行機制分離開

原创 Spring單元測試總結

之前自己跟着網上做項目的時候,因爲是從下到上都是自己開發的,測試也是從下到上一層層的集成測試,一直沒有理解單元測試的精華,實習以後接手的都是一些基於其他項目的小需求,如果會用單元測試就會輕量很多,方便很多,這裏主要總結了單元測試常用的東西

原创 集合框架——LinkedList詳解

List接口是Collection接口下的子接口List中的元素是有序的,可以重複的,List接口的主要實現類有三個:ArrayList、LinkedList和Vector。三者的相同之處:三者都是List接口的實現類,因此他們具有Lis

原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)錯誤原因分析

一般的原因 Mapper interface和xml文件的定義對應不上,需要檢查包名,namespace,函數名稱等能否對應上。 按以下步驟一一執行: 1、檢查xml文件所在的package名稱是否和interface對應的package

原创 集合框架——ArrayList詳解

List接口是Collection接口下的子接口List中的元素是有序的,可以重複的,List接口的主要實現類有三個:ArrayList、LinkedList和Vector。三者的相同之處:三者都是List接口的實現類,因此他們具有Lis

原创 Java併發——Java中的併發類工具

在JDK的併發包裏面提供了幾個非常有用的工具類:CountDwonLatch、CyclicBarrier、Semaphore、Exchanger。其中CountDwonLatch、CyclicBarrier、Semaphore工具類提供了

原创 Java併發——Synchronized關鍵字和鎖升級,詳細分析偏向鎖和輕量級鎖的升級

一、Synchronized實現原理1、Synchronized鎖的3中形式:Synchronized修飾普通同步方法:鎖對象當前實例對象;Synchronized修飾靜態同步方法:鎖對象是當前的類Class對象;Synchronized