原创 一個多線程面試題引發的思考

最近在梳理多線程的問題,遇到一個多線程的面試題,由此引發了一點思考: 自己與優秀的工程師差距在哪裏,這個面試題讓自己看到了差距。 希望自己以後在注重量的同時,能更多的關注質。 題目: 實現一個容器,提供兩個方法:add,size。

原创 flink Window機制

什麼是 Window 在流處理應用中,數據是連續不斷的,因此我們不可能等到所有數據都到了纔開始處理。當然我們可以每來一個消息就處理一次,但是有時我們需要做一些聚合類的處理,例如:在過去的5分鐘內有多少用戶點擊了我們的網頁。在這種情

原创 StringUtils提供的字符串處理方法

StringUtils作爲處理字符串的工具類,爲開發人員默認提供了多種字符串處理函數。本文針對springframework包下的StringUtils進行詳細的方法測試,幫助大家加深對StringUtils工具類的瞭解。

原创 java Optional類

類作用 Optional作爲處理空指針的類,主要用途是作爲一種返回類型,在獲得該類型的一個實例後,如果存在值,可以提取該值;如果不存在值,可以設置一個默認值。 常用寫法 public class OptionalTest {

原创 生產者-消費者模式

生產者和消費者問題是線程模型中的經典問題:生產者和消費者在同一時間段內共用同一個存儲空間,生產者往存儲空間中添加產品,消費者從存儲空間中取走產品,當存儲空間爲空時,消費者阻塞,當存儲空間滿時,生產者阻塞。 通過平衡生產者的生產能力

原创 ReentrantLock知識大盤點

定義 重入鎖就是支持重新進入的鎖,表示該鎖能夠支持一個線程對資源的重新加鎖。 實現重進入 ReenTrantLock爲了實現重進入,必須要解決兩個問題: (1) 線程再次獲取鎖; (2) 鎖的最終釋放。 ReentrantLock

原创 自定義一個類叫java.lang.System???

原則上不行,類加載使用了雙親委託機制,當類加載器接收到類加載請求時, 首先,該類加載器不會直接去加載類,而是讓父類去加載,父類再去找父類去加載; 當最頂層的父類無法加載時,才讓子類去加載;System類會由啓動類加載器去加載, 所

原创 synchronized大盤點

利用synchronized實現同步的基礎 Java 中的每一個對象都可以作爲鎖,具體表現爲三種形式: 對於普通同步方法,鎖的是當前實例對象; 對於靜態同步方法,鎖的是當前類的class對象; 對於同步代碼塊,鎖的是synchr

原创 java線程池知識點

線程池的優勢 合理的使用線程池會帶來三個好處: 降低資源的消耗。通過重複利用已創建的線程降低線程創建和銷燬的開銷; 提高響應速度。當任務到達時,任務不需要等到線程創建就能直接執行; 提高線程的可管理性。線程是稀缺資源,使用線程池

原创 反射和動態代理

1 關於反射 反射最大的作用之一就在於我們可以不在編譯時知道某個對象的類型,而在運行時通過提供完整的”包名+類名.class”得到。注意:不是在編譯時,而是在運行時。 功能: 在運行時能判斷任意一個對象所屬的類。 在運行時能構造

原创 hdfs mkdir遞歸建立目錄背後的設計

我們都知道hdfs命令:hdfs fs -mkdir -p /xx1/xx2/xx3 可遞歸創建一個目錄,簡單的命令背後,hadoop源碼是如何執行的吶?接下來一起領略一下hadoop的源碼魅力。 接下來直接上mkdirs方法: p

原创 記一次有趣的hadoop源碼編譯

之前看到過很多人講解源碼編譯,但自己一直沒有嘗試過。最近由於工作需要,想在本地搭建一個hadoop閱讀環境,學習一下hadoop源碼。 準備階段 (1)首先下載要編譯的hadoop源碼版本,鏡像鏈接如下: http://mirror.

原创 常用linux命令彙總

後臺進程 ps -aux | more #查看後臺運行的所有進程 ps -aux|grep XXX ##查看指定內容的後臺進程 ps -aux | grep sshd ##查看sshd服務是否啓動 ps -ef | mo

原创 hive調優總結

(1)本地模式 hadoop默認會將job提交到YARN集羣,如果在測試階段數據量比較小,可開啓本地模式,加快程序執行的速度。 set hive.exec.mode.local.auto=true; (2)小表join大表 1、保證大

原创 git feature分支遠落後於dev分支解決方案

在團隊合作中,每個人基本都是從dev分支建立自己的feature分支,完成feature分支開發任務後,merge到dev分支。如果我們的feature分支開發週期十分長,導致feature分支代碼遠落後於dev的代碼,這時候如果我們