摘要:在數據結構領域對應樹結構來說二叉樹是最常用的一種樹結構,二叉樹具有一個唯一的根節點,也就是最上面的節點。二叉樹每個節點最多有兩個孩子,一個孩子都沒有的節點通常稱之為葉子節點,二叉樹每個節點最多有一個父親,根節點是沒有父親節點的。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言...
摘要:的鎖是非公平鎖,默認情況下也是非公平鎖,但可以通過帶布爾值的構造函數要求使用公平鎖。有序性,是保證線程內串行語義,避免指令重排等。公平性是減少線程饑餓個別線程長期等待鎖,但始終無法獲取情況發生的一個辦法。 目錄介紹 1.Synchronize和ReentrantLock區別 1.1 相似點 1.2 區別 1.3 什么是線程安全問題?如何理解 1.4 線程安全需要保證幾個基本特性 ...
摘要:要求序列不重復。這個問題比較復雜的一點是,還要處理重復的數據。為了簡化我們的操作,我們先對數組進行預排序。排序之后,對于求兩個數和的問題,可以通過和兩個指針從兩邊查找,也簡化了操作時間。解法防止重復序列 題目詳情 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0...
摘要:提供了多線程升級方案將同步替換成了顯示的操作。線程間通信接口可以替代傳統的線程間通信,用替換,用替換,用替換。商品執行上述代碼,觀察結果可以看到,多個線程同時生產消費,由于指定喚醒互異線程,因此并不會引起錯誤。 JDK 1.5提供了多線程升級方案將同步synchronized替換成了顯示的Lock操作。可以實現喚醒、凍結指定的線程。 Lock接口Lock 實現提供了比使用 synchr...
摘要:在開發應用的時候經常會遇到令人頭痛的字符編碼問題,期中一個就是客戶端發送過來的請求的編碼在請求頭里并沒有,開發人員需要在后端自己選擇合適的來解析過來的參數。但是這里有個陷阱,整個應用里,這個的攔截順序必須是第一個,否則還是會出現亂碼問題。 在開發java web應用的時候經常會遇到令人頭痛的字符編碼問題,期中一個就是客戶端發送過來的請求的編碼在請求頭里并沒有,開發人員需要在后端自己選擇...