原创 Spring IOC以及DI

Spring的IoC(控制反轉) 與DI(依賴注入) IOC:  控制反轉,所謂控制反轉就是把創建對象(bean)和維護對象(bean)之間的關係的權利轉移到器Sqring容中去了(ApplicationContext.xml)而程序本身

原创 java動態代理中的invoke方法是如何被自動調用的(轉)

一、動態代理與靜態代理的區別。 (1)Proxy類的代碼被固定下來,不會因爲業務的逐漸龐大而龐大; (2)可以實現AOP編程,這是靜態代理無法實現的; (3)解耦,如果用在web業務下,可以實現數據層和業務層的分離。 (4)動態代理的優勢

原创 適配器模式

軟件設計中可能出現,需要開發的具有某種業務功能的組件在現有的組件庫中已經存在,但它與當前系統的接口規範不兼容,如果重新開發這些組件的成本又很高,這時使用適配器模式就可以很好的解決這個問題。 定義與特點 適配器模式(Adapter)定義:將

原创 數據庫索引

索引概述 所有 MySQL 列類型都可以被索引,對相關列使用索引是提高 SELECT 操作性能的最佳途徑。 MySQL 中索引的存儲類型目前只有兩種(BTREE 和 HASH),具體和表的存儲引擎相關:MyISAM 和 InnoDB 存儲

原创 Hibernate二級緩存

因爲項目中經常出現,由於使用了hibernate生成的方法,會從二級緩存中拿取數據,導致數據不一致的問題,甚至導致出現髒數據的問題,所以總結以下hibernate的緩存機制。 什麼是二級緩存 我們知道一級緩存,並且一級緩存的作用範圍就在s

原创 建造者模式

建造者模式 建造者(Builder)模式的定義:指將一個複雜對象的構造與它的表示分離,使同樣的構建過程可以創建不同的表示,這樣的設計模式被稱爲建造者模式。它是將一個複雜的對象分解爲多個簡單的對象,然後一步一步構建而成。它將變與不變相分離,

原创 Jcrop實現圖片裁剪

功能需求 “在上傳照片的時候能進行裁剪” Jcrop是一個jQuery插件,它能爲你的WEB應用程序快速簡單地提供圖片裁剪的功能。Jcrop官網,以下是Jcrop的一些特性: 對所有圖片均unobtrusively(無侵入的,保持DOM簡

原创 Executor框架

在Java中,使用線程來異步執行任務。Java線程的創建與銷燬需要一定的開銷,如果我們爲每一個任務創建一個新線程來執行,這些線程的創建與銷燬將消耗大量的計算資源。同時,爲每一個任務創建一個新線程來執行,這種策略可能會使處於高負荷狀態的應用

原创 MySQL存儲引擎

插件式存儲引擎是MySQL數據庫最重要的特性之一,用戶可以根據應用的需要選擇如何存儲和索引數據,是否使用事物等。 MySQL支持的存儲引擎包括MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE等等,其中InnoD

原创 Java中的阻塞隊列

一、什麼是阻塞隊列 阻塞隊列(BlockingQueue)是一個支持兩個附加操作的隊列。這兩個附加的操作支持阻塞的插入和移除方法。 1.支持阻塞的插入方法:意思是當隊列滿時,隊列會阻塞插入元素的線程,直到隊列不滿。 2.支持阻塞的移除方法

原创 Fork/Join框架

Fork/Join框架 Fork/Join框架是Java7提供的一個用於並行執行任務的框架,是一個把大任務分割成若干個小任務,最終彙總每個小任務結果後的到大任務結果的框架。 工作竊取算法 工作竊取(work-stealing)算法是指某

原创 Java中的線程池

線程池 合理的使用線程池可以帶來3個好處 1:降低資源消耗。通過重複利用已創建的線程降低線程創建和銷燬造成的消耗。 2:提高響應速度。當任務到達時,任務可以不需要等到線程創建就能立即執行。 3:提高線程的可管理性。線程是稀缺資源,如果無限

原创 ConcurrentHashMap的實現原理與使用

ConcurrentHashMap是線程安全且高效的HashMap,那麼它是如何在保證線程安全的同時又能保證高效的操作。 一、線程不安全的HashMap 在併發編程中使用HashMap可能導致程序死循環,而使用線程安全的HashTable

原创 Java鎖機制詳解

Lock接口 JavaSE5之後,併發包中新增了Lock接口來實現鎖功能,雖然它缺少了(通過synchronized塊或者方法所提供的)隱式獲取釋放鎖的便捷性,但是卻擁有了鎖獲取與釋放的可操作性、可中斷的獲取鎖以及超時獲取鎖等多種sync

原创 Tomcat架構詳解

一、Tomcat的頂層架構 Tomcat中最頂層的容器是Server,代表着整個服務器,從上圖中可以看出,一個Server可以包含至少一個Service,用於具體提供服務。 Service主要包含兩個部分:Connector和Conta