原创 關於可重入鎖、可中斷鎖和公平鎖的理解

1.可重入鎖 如果鎖具備可重入性,則稱作爲可重入鎖。 像synchronized和ReentrantLock都是可重入鎖,可重入性在我看來實際上表明瞭鎖的分配機制: 基於線程的分配,而不是基於方法調用的分配。 舉個簡單的例子,當

原创 LeetCode:Path Sum II

Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum. For example: Gi

原创 計算機網絡中TCP、IP協議的對比

在OSI模型中,運輸層的作用是向它的上層提供通信服務,它是面向通信部分的最高層,同時也是用戶功能中的最底層。運輸層爲應用進程之間提供端到端的邏輯通信,而網絡層是以主機爲個體的概念。運輸層還需要對收到的報文進行差錯檢測。運輸層有兩種不同的運

原创 淺析Hadoop中MapReduce任務執行流程

MapReduce任務的執行流程非常複雜,但是可以用一個比較粗糙的流程圖來描述,描述了一個MapReduce任務從提交到分發和執行完畢的完整過程: 這裏要提一下YARN框架,它主要負責的是資源的調度,YARN集羣包含兩種節點,一種是R

原创 如何使用Java實現簡單的本地緩存?

我們知道,頻繁的IO操作(包括網絡請求、數據庫請求等)是非常耗費時間資源的,同時也會極大的加重數據庫等的壓力,降低響應速度。因此對經常訪問的數據做適當的緩存機制是非常有必要的。一般我們是通過key從緩存中讀取value,如果讀取不到則讀取

原创 LeetCode: Path Sum

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along

原创 LeetCode:Search a 2D Matrix II

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:

原创 LeetCode: Kth Largest Element in Array

Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not th

原创 LeetCode:Perfect Squares

Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum

原创 如何保證HDFS中的數據一致性?

Hadoop中有個重要的工具就是HDFS分佈式文件系統,那麼在這種分佈式環境下的數據一致性是如何保證呢? HDFS中,存儲的文件將會被分成若干的大小一致的block(最後一個block的大小可能較小)分佈式地存儲在不同的機器上,那麼就必須

原创 SpringBatch批處理框架學習筆記(一)

由於在某廠實習的時候主要做的是後臺批處理模塊的工作,因此接觸到了SpringBatch這個批量處理工具,Spring及其子項目實在是太強大了,無所不能。 由於批量處理這個工作並不是屬於大部分項目會使用到的,因此市面上的書籍並不是特別多。