原创 網絡傳輸 相關概念

單工 如果在通信過程的任意時刻,信息只能由一方A傳到另一方B,則稱爲單工。 例如: 無線廣播,數據只能從發送到傳輸到接收端。 半雙工 如果在任意時刻,信息既可由A傳到B,又能由B傳A,但只能由一個方向上的傳輸存在,稱爲半

原创 java 序列化 原理解析

序列化相關文章: * Java 序列化 之 Serializable * Java 序列化之 Externalizable * Java 序列化 之 單例模式。 閱讀本文章之前,務必要閱讀上面的三篇文章。 這篇文章是圍繞

原创 Java IO 之 SequenceInputStream 原理解析

概述 今天給大家分享一個比較有意思的 IO 流。SequenceInputStream ,聽名字顧名思義。 SequenceInputStream 流可以把多個 InputStream 合併爲一個 InputStream . 按照

原创 NIO 之 Channel

可參考之前寫過的文章:NIO 之 Channel實現原理 概述 通道( Channel)是 java.nio 的主要創新點。它們既不是一個擴展也不是一項增強,而是全新、極好的 Java I/O 示例,提供與 I/O 服務的直接連接

原创 window 查找 java 進程中佔用cpu比較高的線程

概述 公司內部的一個產品 (java 開發的) 運行在 window 虛擬機上,運行一段時間後CPU飆升,然後想查看是哪個線程佔用。 折騰了一下午,終於定位到該線程。 下面我們通過兩種方式定位到佔用cpu比較高的線程。 * 1

原创 Java 序列化 之 單例模式

序列化相關文章: * Java 序列化 之 Serializable * Java 序列化之 Externalizable 當我們使用Singleton模式時,應該是期望某個類的實例應該是唯一的,但如果該類是可序列化的,那麼

原创 NIO 之 Buffer 圖解

可參考之前的文章:NIO 之 ByteBuffer實現原理 下面是對之前文章的一個補充 Buffer 類 結構 對於每個非布爾原始數據類型都有一個緩衝區類。儘管緩衝區作用於它們存儲的原始數據類型,但緩衝區十分傾向於處理字節。

原创 Spring 事務傳播行爲

如果對事務不瞭解的可以先看下,我的上一篇文章: 數據庫事務詳解 概述 一般SSH的項目都是使用三層架構即Controller、Services、DAO。 Spring 的事務一般都在Services定義,而Controller、

原创 Java IO 之 管道流 原理分析

概述 管道流是用來在多個線程之間進行信息傳遞的Java流。 管道流分爲字節流管道流和字符管道流。 字節管道流:PipedOutputStream 和 PipedInputStream。 字符管道流:PipedWriter

原创 NIO 之 MappedByteBuffer

可參考: MappedByteBuffer以及ByteBufer的底層原理 概述 Bytebuffer分爲兩種:間接地和直接的,所謂直接就是指MappedByteBuffer,直接使用內存映射(java的話就意味着在JVM之外分配

原创 Java 序列化 之 Serializable

概念 序列化:就是把對象轉化成字節。 反序列化:把字節數據轉換成對象。 對象序列化場景: 1、對象網絡傳輸 例如:在微服務系統中或給第三方提供接口調用時,使用rpc進行調用,一般會把對象轉化成字節序列,才能在網絡上傳輸;接

原创 生成 Heap Dump 的幾種方式

Heap Dump 概述 Heap Dump 是 Java進程所使用的內存情況在某一時間的一次快照。以文件的形式持久化到磁盤中。 Heap Dump的格式有很多種,而且不同的格式包含的信息也可能不一樣。但總的來說,Heap Du

原创 java.lang.Void 解析與使用

今天在查看源碼的時候發現了 java.lang.Void 的類。這個有什麼作用呢? 先通過源碼查看下 package java.lang; /** * The {@code Void} class is an uninstan

原创 硬盤基本知識(磁頭、磁道、扇區、柱面)

概述 盤片(platter) 磁頭(head) 磁道(track) 扇區(sector) 柱面(cylinder) 盤片 片面 和 磁頭 硬盤中一般會有多個盤片組成,每個盤片包含兩個面,每個盤面都對應地有一個讀/寫磁頭。受到硬

原创 多線程併發下的單例模式

定義: 單例模式是設計模式中最簡單的形式之一。這一模式的目的是使得類的一個對象成爲系統中的唯一實例。 下面通過代碼分析下java中,各種單例模式寫法的優缺點。 1、餓漢模式 示例1.1 public class Singleton {