一、簡述 這個是JDK上的截圖,我們可以看到它的父類是Object,沒有繼承字節流、字符流家族中任何一個類。並且它實現了DataInput、DataOutput這兩個接口,也就意味着這個類既可 ...
一、簡述 這個是JDK上的截圖,我們可以看到它的父類是Object,沒有繼承字節流、字符流家族中任何一個類。並且它實現了DataInput、DataOutput這兩個接口,也就意味着這個類既可 ...
“代碼編譯的結果從本地機器碼轉變為字節碼,是存儲格式發展的一小步,卻是變成語言發展的一大步”,這句話出自《深入理解JAVA虛擬機》一書,后面關於jvm的系列文章主要都是參考這本書。 JAVA ...
流的概念 JAVA程序通過流來完成輸入/輸出。流是生產或消費信息的抽象,流通過JAVA的輸入輸出與物理設備鏈接,盡管與它們鏈接的物理設備不盡相同,所有流的行為具有相同的方式。這樣就意味一個輸入流 ...
IO模型 linux系統IO分為內核准備數據和將數據從內核拷貝到用戶空間兩個階段。 這張圖大致描述了數據從外部磁盤向運行中程序的內存中移動的過程。 用戶空間、內核空間 現在操作系 ...
序列化 對象序列化的目標是將對象保存到磁盤中,或者允許在網絡中直接傳輸對象。對象序列化機制允許把內存中的JAVA對象轉換成跟平台無關的二進制流,從而允許將這種二進制流持久地保存在磁盤上,通過網絡將這 ...
I/O簡介 I/O問題可以說是當今web應用中所面臨的的主要問題之一,大部分的web應用系統的瓶頸都是I/O瓶頸。這個系列主要介紹JAVA的I/O類庫基本架構、磁盤I/O工作機制、網絡I/O工作機 ...
字符流為何存在 既然字節流提供了能夠處理任何類型的輸入/輸出操作的功能,那為什么還要存在字符流呢?容我慢慢道來,字節流不能直接操作Unicode字符,因為一個字符有兩個字節,字節流一次只能操作一個字 ...
Channel就是一個通道,用於傳輸數據,兩端分別是緩沖區和實體(文件或者套接字),通道的特點(也是NIO的特點):通道中的數據總是要先讀到一個緩沖區,或者總是要從一個緩沖區中讀入。 Channel ...
緩沖區分類 NIO中的buffer用於和通道交互,數據是從通道讀入緩沖區,從緩沖區中寫入通道的。Buffer就像一個數組,可以保存多個類型相同的數據。每種基本數據類型都有對應的Buffer類: ...