java 中的 io 流 位元組流以及字元流,對於這些流,如何做到透徹理解呢 ??這幾天有點原地打轉?

時間 2021-06-08 00:30:58

1樓:「已登出」

什麼是二進位製流,其實就是電流,在計算機模擬電路裡規定,0-1v的電流為0,3-5V的電流為1,所以二進位製流就是這樣的電流傳輸。什麼是位元組流,位元組流就是0,1這樣的,什麼是字元流,字元流就是以這些0,1為基礎,對資料進行特定編碼翻譯後的資料,比如以GBK這樣的編碼,2個位元組代表乙個漢字,那麼就是16位2進製,在字型表裡找到對應的位置後,翻譯成了漢字,再進行展示的過程。流的讀取過程,底層就是開開啟某根電線,讓電流流到特定位置儲存起來。

至於怎麼儲存撐0和1,其實你也不要想成0和1,也不要想成存起來的是電流,你要把它想成乙個協議規範,舉例來講:暫存器使用的雙極型RAM、記憶體是電容、硬碟是磁極這樣,他們都是把電流轉成了不同的狀態,雖然狀態不同,但是可以確定的是他們存起來的狀態都有兩個對立的屬性,乙個屬性是0,另外乙個屬性就是1,比如磁碟,磁碟有磁極,電磁加電,電流南極流向北極,和北極流向南極,會產生兩個相反的磁電效應,這樣就可以把這兩個狀態分別表示成1或0,其他也是這樣。

總結下來計算機的哲學原理就是:道生一(選擇一種屬性標準),一生二(屬性的標準必然有對立的兩個面,兩個對立面分別表示0,1),二生三(任意兩種事務的關係:有關係成相異狀態、有關係成相同狀態,沒關係,2的三次方即為8,8位二進位制即乙個位元組),三生萬物(計算機的基礎就是位元組)

2樓:囧囧囧

首先,要理解什麼是流,至於是哪種流這個不用考慮,我覺得可以這麼理解:比如兩個水池之間連線的管道,管道裡的水流就是流。而字元流就是流裡面傳遞的是字元,位元組流同理。

c 的io流類的使用

鍾宇騰 借用例子 define out 0x0001 即 0000 0000 0000 0001 define binary 0x0002 即 0000 0000 0000 0010 define in 0x0004 即 0000 0000 0000 0100那麼out binary 0x0003 ...

Node中libuv的I O執行緒池與PHP之類建立的執行緒有啥區別?

碼農投資筆記 IO分為磁碟IO與網路IO,磁碟IO確實得由libuv執行緒池中的執行緒去阻塞執行,但是網路IO就不用了,網路IO這一塊linux底層是epoll,windows是IOCP,都是採用IO多路復用技術,即事件監聽。libuv中的執行緒只需要把網路IO的socket註冊到epoll IOC...

關於Java中的ConcurrentHashMap的實現原理有大神可以詳細介紹下嗎?

meteor the張 1.7陣列 hashmap,cas rentrantlock 分段鎖1.8陣列 鍊錶 紅黑樹,synchronized cas 優化版的hashmap luoxn28 可以看下這個 mmwx 沒人講1.8版,那我來講講吧。1.8版本相比1.7版本,沒有了分段鎖的概念,轉而使用...