原创 redis之jedis命令綜合

jedis.set("Hello", "worl");--插入值  System.out.println("hellor"+jedis.get("H

原创 AOP源碼解析(一)實現動態代理

動態AOP使用示例 面向對象編程有一些弊端,當需要爲多個不具有繼承關係的對象引入同一個公共行爲時,例如日誌,安全檢測等,我們只有在每個對象裏引入公共行爲,這樣程序中就產生了大量的重複代碼,所以有了面向對象編程的補充,面向切面編程(AOP'

原创 redis構建分佈式鎖

分佈式鎖 分佈式鎖是redis非常強大的功能,而且許多許多的公司都是採用redis的分佈式鎖,所以看好這一章,無論對你工作,還是面試都是有極大好處的

原创 遠程服務HttpInvoker源碼解析(五)客戶端實現

客戶端實現 分析了服務端的解析以及處理後,我們接下來分析客戶端的調用過程,在服務端調用的分析中我們反覆提到需要從HttpServletRequest中提取從客戶端傳來的RemoteInvocation實例,然後進行相應解析。所以客戶端,一

原创 垃圾收集器,詳解jdk參數配置

Java虛擬機規範中對垃圾收集器應該如何實現並沒有任何規定,因此,不同廠商,不同版本的虛擬機所提供的垃圾收集器都可能會有很大的差別,並且一般都會提供參數供用戶根據自己的應用特點和要求組合出各個年代所使用的收集器。這裏討論的收集器基於Sun

原创 遠程服務RMI源碼解析(一)

Java遠程方法調用,即JavaRMI(Java Remote Method Invocation),是Java編程語言裏一種用於實現遠程過程調用的應用程序編程接口。它使客戶機上的運行的程序可以調用遠程服務器上的對象。遠程方法調用特性使J

原创 SpringMVC(五)DispatcherServlet的邏輯處理

前面我們聊了關於Dispatcher邏輯處理大致步驟,下面我們進行詳細的每個步驟分析 MultipartContent類型的request處理 對於請求的處理,Spring首先考慮的是對於Multipart的處理,如果是Multipart

原创 虛擬機的類加載機制

1.概述 我們知道Class文件中描述的各種信息,最終都需要加載到虛擬機中之後才能被運行和使用。而虛擬機如何加載這些Class文件?Class文件中的信息進入到虛擬機後會發生什麼變化?這些都是後面講到的重點。 虛擬機把描述類的數據從Cla

原创 SpringMVC(四) DispatcherServlet的邏輯處理

HttpServlet提供了不同的服務方法,它們是doDelete(),doGet(),doOptions(),doPost(),doPut(),和

原创 java中volatile關鍵字的含義

在java線程併發處理中,有一個關鍵字volatile的使用目前存在很大的混淆,以爲使用這個關鍵字,在進行多線程併發處理的時候就可以萬事大吉。 Java語言是支持多線程的,爲了解決線程併發的問題,在語言內部引入了 同步塊 和 volat

原创 git常用命令

查看分支:git branch 創建分支:git branch <name> 切換分支:git checkout <name> 創建+切換分支:git checkout -b <name> 合併某分支到當前分支:git merg

原创 遠程服務RMI源碼解析(三)客戶端實現

RMI客戶端源碼解析: 根據客戶端配置文件,鎖定入口類爲RMIProxyFactoryBean, 客戶端配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w

原创 遠程服務HttpInvoker源碼解析(四)服務端實現

Spring開發小組意識到在RMI服務和基於HTTP的服務(如Hessian如Burlap)之間的空白。一方面,RMI使用Java標準的對象序列化,很難穿越防火牆;另一方面,Hessian/Burlap能很好地穿過防火牆工作,但使用自己私

原创 遠程服務RMI源碼解析(二)

 //初始化以及緩存到處的Object  //此時通常情況下是使用RMIInvocationWrapper封裝的JDK代理類,切面爲RemoteIn

原创 java web項目各個模塊學習地址合集

myBatis學習:http://blog.csdn.net/techbirds_bao/article/details/9233599/ git使用教程:http://www.liaoxuefeng.com/wiki/001373951