原创 java I/O系統(7)-文件加鎖

引言 在通道中我們可以對文件或者部分文件進行上鎖。上鎖和我們瞭解的線程鎖差不多,都是爲了保證數據的一致性。在文件通道FileChannel中可以對文件進行上鎖,通過FileLock可以對文件進行鎖的釋放。在本篇博文中會詳細介紹在NIO中對

原创 java面試算法題(2)

引言 本篇博文中核心是對單鏈表的數據操作,從不同角度分析問題,尋求不同的結果。分享給大家。 題目 存在一個單鏈表,尋找這個單鏈表倒數第K的元素。比如{1->2->3->4->5},倒數第2個元素爲4。 分析一 最容易想到的是:我們自己先遍

原创 java I/O系統(8)-文件壓縮

引言 我們對於日誌的保存,如果需要存檔,那麼最好的方式就是對日誌文件進行壓縮。壓縮可以減少資源佔用,在需要的時候還能回溯查找。在本篇博文中,詳細介紹基於字節流的壓縮方式,着重介紹ZipOutputStream、ZipInputStream

原创 JDK1.8逐字逐句帶你理解ConcurrentHashMap(2)

引言: 在上一篇博文我們介紹了ConcurrentHashMap在jdk1.8中所必要的知識,作爲基礎入門。因爲jdk1.8的ConcurrentHashMap做了太多的變動,所以新知識學習是必要的。今天是ConcurrentHashMa

原创 java I/O系統(3)-字節流與字符流

引言 在java的IO系統中,對資源的操作分爲兩類:字節流與字符流。如果延承inputStream與outputStream就是字節流,如果延承reader與writer就是字符流,那麼他們之間到底有什麼區別呢?在本篇博文中會列出IO系統

原创 java I/O系統(2)-裝飾器模式

引言 IO系統是使用了裝飾器模式的典型。所以對裝飾器模式的深入研究對IO系統的理解肯定大有裨益。在本文中會詳細介紹裝飾器模式,會用以demo展示,同時會舉出例子在IO系統中是如何呈現了這種模式,最後,我們探討一下裝飾器模式與代理模式之間的