原创 Comparator 與 Comparable
說道Comparator 與 Comparable接口,就不得不說一下Collections和Arrays這兩個類,他們分別爲集合和數組提供一些查找、排序的操作。那麼就以Collections爲例,它有一個sort(),方法可以試下集合
原创 'Building workspace' has encountered a problem.
每次MyEclipse工作空間報錯如下:'Building workspace' has encountered a problem. 解決方法:刪除工程目錄下\.metadata\.plugins\org.eclipse.core
原创 當singlon遇到Serializable
上面一篇文章中提到了單例模式,那麼當單例模式遇到了序列化,會怎樣呢? 首先我們看一下,要生成一個新的對象有幾種方式: 1. 通過new 創建實例 2. 調用clone() 3. 通過反射 4.
原创 Spring中的AOP配置
Spring中的配置文件,一般情況下命名爲applicationContext.xml,myeclipse會自動用spring編輯器進行編輯。 加載順序: 1、首先讀取配置配置文件,掃描所有的配置的bean對象,將其實例化。(因爲懶加載
原创 有意思的位運算
筆試的時候遇到的幾個比較有意思的關於位運算的題。 問題一 請編寫一個算法,不用任何額外變量交換兩個整數的值。 給定一個數組num,其中包含兩個值,請不用任何額外變量交換這兩個值,並將交換後的數組返回。 測試樣例: [1,2] 返回
原创 動態規劃算法(後附常見動態規劃爲題及Java代碼實現)
一、基本概念 動態規劃過程是:每次決策依賴於當前狀態,又隨即引起狀態的轉移。一個決策序列就是在變化的狀態中產生出來的,所以,這種多階段最優化決策解決問題的過程就稱爲動態規劃。 二、基本思想與策略 基本思想與分治法類似,也是
原创 併發之事務隔離
1.數據庫的併發問題 數據庫帶來的併發問題包括: (1)丟失更新 (2)髒讀 (3)非重複讀 (4)覆蓋更新 (5)幻象讀 丟失更新 撤銷一個事務時,把其他事務已提交的更新數據覆蓋(A
原创 共享鎖與排它鎖
共享鎖【S鎖】 又稱讀鎖,若事務T對數據對象A加上S鎖,則事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。 排他鎖【X鎖】
原创 Java transient關鍵字
最近看JDK源碼,發現很多的變量用 transient修飾,竟然不知道這個 transient到底是什麼意思,不覺讓我這個自認爲精通Java的人驚出一身冷汗,趕緊查了一下有關 transient的只是,總是又長知識了,活到老學到老
原创 Synchroniazed和Lock實現生產者--消費者
使用Synchroniazed、wait、notify()實現 代碼如下:public class Test { private static int count = 10; private static Object l
原创 數據庫之三大範式
第一範式(1NF):屬性不可分 在前面我們已經介紹了屬性值的概念,我們說,它是“不可分的”。而第一範式要求屬性也不可分。那麼它和屬性值不可分有什麼區別呢?給一個例子: name address age 小明 山東省濟寧市 13 小紅 遼寧
原创 Struts2 框架的簡單實現——輕鬆理解Struts原理
Struts2因該算是目前JavaWeb中MVC框架中最火的一個了,我第一次接觸框架是在大學時期,那時候第一次學的還是Struts1框架,當時想的是:既然有1和2那就從低版本的開始學吧!當時自己想當然的將Struts2當成
原创 java中PriorityQueue優先級隊列的使用
PriorityQueue是在Java SE 5.0中,引入了的Collection API,他與傳統queue不同的是,PriorityQueue並非是FIFO的隊列,PriorityQueue會對裏面的元素按照優先級進行排序。他是如
原创 單例模式
單例模式,顧名思義就是在內存中只有一個類的對象實例,對於要佔用重要系統資源的對象,我們常採用單例模式,比如Web中的Servlet,Hibernate中的sessionFectory等都是採用的單例模式。 單例模式有多重實現方式,但這些實
原创 JAVA多態的實現方式
多態從實現的角度分爲:靜態多態和動態多態 靜態多態也叫做編譯時多態 動態多態也叫做運行時多態 1.靜態的多態: 函數重載是靜態的多態的一種實現形式: 舉例說明: class MethodOverloading