原创 cglib動態代理實現原理詳細分析

在之前Java代理模式中大致的分析了下代理模式的類型及對每種代理類型簡單的舉例了下。在上篇JDK動態代理實現原理詳細分析中,對其JDK代理的流程做了一個詳細的分析。而本文,將介紹另一種動態代理模式:cglib動態代理。閱讀完本文,你將對c

原创 JDK動態代理實現原理詳細分析

在之前Java代理模式中大致的分析了下代理模式的類型及對每種代理類型簡單的舉例了下。本文將對JDK動態代理進行詳細的分析。讀完本文,你將對JDK的動態代理的運行流程,生成的代理類結構以及實現的原理有一個更加深入的認識。 本文將從以下幾個方

原创 Spring源碼分析之BeanFactory初始化

在上一篇Spring源碼分析之IOC容器創建過程中,大致梳理了一下IOC容器初始化的流程。在初始化的過程中,會調用模板方法refresh(),在刷新工廠方法中,首先會獲取beanFactory,即以下這行代碼: Configurable

原创 Spring源碼分析之IOC容器創建過程

我們知道,Spring框架基於IOC容器能夠實現依賴注入,使代碼之間不在具有高度的耦合關係.解耦給問我們帶來很多的好處,不僅會使我們的代碼更加容易擴展維護,同時也更加方便測試。 在Spring中,我們常使用ClassPathXmlAp

原创 SpringMVC+Spring+Mybatis基於Maven的整合

其整合工程的目錄結構如下: 首先是pom.xml文件中的內容: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/

原创 排序算法之快速排序

快速排序每趟排序的結果是:在選取的基準值得左邊全部比其小,而右邊都比其大。 下面的採用快速排序第一遍的演示: 其代碼(Java)如下: import java.util.Arrays; /** * 快速排序 * * @

原创 互聯網協議入門(二)

上一篇分析了互聯網的總體構思,從下至上,每一層協議的設計思想。 這是從設計者的角度看問題,今天我想切換到用戶的角度,看看用戶是如何從上至下,與這些協議互動的。 互聯網協議入門(二) (接上文) 七、一個小結 先對前面的內容,做一個小結。

原创 Java代理模式

本文將從以下幾個方面進行闡述: 靜態代理: 其類圖如下: 真實角色與代理類同時實現一個接口,真實角色只處理與它核心業務相關的,其他的全部由代理角色完成。 /** * 抽象接口 * @author sg */ public

原创 Java併發編程之CountDownLatch

在Java.util.concurrent包下,有一個CountDownLatch類。 官方定義:A synchronization aid that allows one or more threads to wait untila s

原创 Java併發編程之CAS算法

在多線程環境下,我們要實現對一個變量自增的話,往往會使用java.util.concurrent.atomic包下的相關實現類。 如下: public class TestAtomic { public static void m

原创 Java NIO的非阻塞式網絡通訊

之前說過NIO與傳統IO不同有一點是NIO是非阻塞的,當線程從某通道進行讀寫數據時,若沒有數 據可用時,該線程可以進行其他任務。線程通常將非阻塞 IO 的空閒時間用於在其他通道上執行 IO 操作,所以單獨的線程可以管理多個輸入和輸出通道

原创 Java NIO的Channel

NIO中通道由 java.nio.channels 包定義的。Channel 表示 IO 源與目標打開的連接。Channel 類似於傳統的“流”。只不過 Channel本身不能直接訪問數據,Channel 只能與Buffer 進行交互。

原创 MAVEN工程JAR包丟失問題

問題背景: Tomcat 服務器運行一個Maven工程後,重新加入另一個之前能夠運行的Maven工程一直失敗,並報一下錯誤. java.lang.ClassNotFoundException: org.springframewo

原创 Spring之創建bean的方式

學習Spring有一段時間了,這裏會把一些知識點給梳理一遍。 這裏要說到的是-Spring創建bean的四種方式: 整個工程的目錄結構,用maven進行了管理: 配置文件applicationContext.xml: <?xml v

原创 互聯網協議入門(一)

我們每天使用互聯網,你是否想過,它是如何實現的? 全世界幾十億臺電腦,連接在一起,兩兩通信。上海的某一塊網卡送出信號,洛杉磯的另一塊網卡居然就收到了,兩者實際上根本不知道對方的物理位置,你不覺得這是很神奇的事情嗎? 互聯網的核心是一系列協