原创 分佈式通信協議RPC協議簡介

定義 RPC(Remote Procedure Call Protocol)遠程過程調用協議,使得我們客戶端在不知道調用細節的情況下去調用遠程計算機的某個程序中的某個函數時,就跟調用本地函數一樣。 RPC協議其實是一個規範,其實現

原创 Spring高級之註解@Bean詳解(超詳細)

定義/作用 當我們要使用第三方類實現組件註冊到IOC容器時,例如第三方數據庫連接池等,我們無法修改他們的代碼,所以我們不能通過@Component及其衍生註解來進行組件定義。這是,可以通過@Bean註解把第三方組件註冊到IOC容器

原创 Spring高級應用之bean的生命週期

簡介: 在spring世界中,一切皆爲bean,spring是面向bean編程的,bean也可以稱爲組件,是一個個java對象,多個組件間協調工作完成複雜的業務功能。 所以理解bean的生命週期,方便在每個時期可以執行一些特定的操

原创 Spring高級之註解@PropertySource詳解(超詳細)

定義/作用 @PropertySource註解用於指定資源文件讀取的位置,它不僅能讀取properties文件,也能讀取xml文件,並且通過YAML解析器,配合自定義PropertySourceFactory實現解析YAML文件。

原创 Java NIO學習篇之StandardOpenOption詳解

定義: StandardOpenOption是一個枚舉類,代表着文件連接時的標準選項。通常可以多個選項一起使用。 public enum StandardOpenOption implements OpenOption {

原创 Java NIO學習篇之通道Channel詳解

定義: Channel:通道,運輸的介質,可以大致比喻成鐵路的鐵軌,連接着兩個車站,而channel用於打開與IO設備的連接,比如磁盤,套接字等。 通道使用完需要關閉。 與傳統IO的Stream比較: NIO通道可以異步讀寫,而

原创 Java NIO學習篇之通道FileChannel詳解

定義: FileChannel是Java NIO對應於磁盤等存儲設備文件操作的通道。 常用API詳解: 獲取FileChannel的API /** * 打開一個與文件的連接通道,用於進行文件操作。 * path:path,文件的

原创 Java NIO學習篇之直接緩衝區和非直接緩衝區

定義 以上是書深入理解java虛擬機對直接內存的描述。直接緩衝區用的就是直接內存。 java nio字節緩衝區要麼是直接的,要麼是非直接的。如果爲直接字節緩衝區,則java虛擬機會盡最大努力直接在此緩衝區上執行本機的IO操作,

原创 Java網絡編程之Socket和ServerSocket詳解

Socket Socket是實現客戶端套接字的類,套接字是兩臺計算機之間進行通信的端點。 Socket的實際工作由SocketImpl類的實例執行 。通過更改用於創建套接字實現的套接字工廠,應用程序可以配置自身以創建適合於本地防火

原创 Java NIO學習篇之緩衝區CharSet詳解

定義: CharSet是對java nio編碼解碼的解決方案,專門負責字符的編碼和解碼。 編碼:字符數組、字符串 ===> 字節數組。 解碼:字節數組 ==> 字符數組、字符串 API詳解: 獲取CharSet的API: //創建

原创 Java NIO學習篇之PosixFilePermission詳解

定義: PosixFilePermission是一個枚舉類,代表着文件的基本權限。 public enum PosixFilePermission { /** * 文件所有者的讀權限 */ O

原创 Java NIO學習篇之緩衝區ByteBuffer詳解

定義: ByteBuffer是Buffer的實現類之一,是一個通用的緩衝區,功能要比其他緩衝區子類多。支持直接內存。是一個抽象類。子類實現是HeapByteBuffer(非直接緩衝區子類),DirectByteBuffer(直接緩

原创 Java NIO學習篇之NIO的基本認識

定義: NIO:是從jdk1.4提出的,本意是New IO(相對於傳統的IO),也叫 No Blocked IO(只相對於網絡IO),它的出現彌補傳統IO的不足,提出了更加高效的方式。 NIO對於網絡IO而言: jdk1.4:採用

原创 Java NIO學習篇之緩衝區Buffer詳解

定義 緩衝區Buffer在java nio中負責數據的存儲,緩衝區就是數組,用於存儲不同類型數據的數組。 jdk爲java七大基本類型數據都準備了響應的緩衝區(boolean值除外): ByteBuffer CharBuffer

原创 詳解Unix5種IO模型

定義: Unix網絡編程對IO模型進行了分類,共分爲5類,要在Unix系統的前提下才有效。 5種IO模型: 阻塞IO。 非阻塞IO。 IO多路複用。 信號驅動。 異步IO。 這些IO模型的改動的目的是爲了提高服務器能夠並行處理