原创 JAVA拾遺 - 一個簡單的4線程TCP客戶端

package BlockingQueue; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader

原创 微軟windows10 10週年更新出現0x80090004錯誤正確的解決方案

微軟自帶的升級軟件叫易升 其實一點都不容易升! 博主有一臺p35x 一臺蘇菲pro4 在升級14393也就是win10十年版無數次卡在2%後報錯0x80090004後我發現這根本不是我電腦的問題 這就是微軟易升的一個bug,在

原创 JAVA拾遺 - 線程安全之隱式鎖

線程安全 當多個線程同時操作一個數據結構的時候,可能會發生一些奇妙的情況(比如相互串行或者相互修改),這種情況發生後就無法保證數據的一致性,這也是不安全的線程,爲了保證數據的一致性,我們在這裏討論線程安全。 1.首先我們新建一個

原创 循環隊列拾遺-使用數組實現循環隊列

循環隊列 爲充分利用向量空間,克服”假溢出”現象的方法是:將向量空間想象爲一個首尾相接的圓環,並稱這種向量爲循環向量。存儲在其中的隊列稱爲循環隊列(Circular Queue)。這種循環隊列可以以單鏈表的方式來在實際編程應用中來

原创 玩耍 - SICP第一站之使用lisp寫個平方根

SICP計算機程序的構造與解釋-From Mit 先貼一個連接,這是一個好心的博主漢化的SICP課程,文章首部先感謝他 思路 爲了求到平方根我們需要先設置一個猜想值,在這裏猜想值暫定爲1 (其實可以隨機設) 我們不斷地通過修正

原创 Nifi初探 - 創建一個簡單的自定義Nifi Processor

網上關於Nifi自定義Processor的中文資料,要麼是很古老的eclipse版本,要麼太過於簡單,學習Nifi的道路確實有點看不清楚,好在找到一篇從零構造一個JsonPROCESSOR的英文文章,單純翻譯外加心得記錄,使用的Nifi版

原创 Nifi - 處理器內幾個註解解析

When creating a Processor, the developer is able to provide hints to the framework about how to utilize the Processor m

原创 Kylin - 剪枝優化及其方法

爲什麼要進行剪枝優化? 在沒有采取任何的優化措施的時候,Kylin會對每一個維度組合進行預計算,若有4個維度,則會有將近2^4 = 16個Cuboid需要進行計算。但是我們知道很多維度是: 1.不需要參與計算或者說不常用的 2.與其他

原创 HBase - KYlin build cube時出現問題的彙總

1.在單條非空數據時出現null值而導致報錯 Vertex failed, vertexName=Map 1, vertexId=vertex_1494251465823_0017_1_01, diagnostics=[Task fail

原创 Spark - 使用IDEA遠程調試位於Yarn-Client模式下的Spark集羣相關配置

環境介紹 我使用的是基於Ambari 的 HDP-2.6.1.0-129的Hadoop環境 1.Spark 1.6.3 2.Scala 2.10.6(可以使用2.11以後的 版本) 開發環境是IDEA 2017.2版本,使用sbt進

原创 Java拾遺 - CAS算法以及immutable變量的線程安全

綜述CAS 1. 鎖的機制 爲了實現線程安全,對於一些關鍵變量必須加鎖 常用的鎖機制有兩種: 1、悲觀鎖:假定會發生併發衝突,屏蔽一切可能違反數據完整性的操作。悲觀鎖的實現,往往依靠底層提供的鎖機制;悲觀鎖會導致其它所有需要鎖的線程掛起

原创 Nifi初探 - 如何測試Nifi Processor

之前的博客簡單講了一下如何去定義一個簡單的Json處理Processor,這一次是在無數次測試中總算厭煩了把打包好的Nar包上傳到lib中,然後重啓服務器,然後再測試功能,測試的時候還很難看到日誌... 同樣搬運自 - > nifi.r

原创 VNC遠程連接服務器出現 A problem has occurred and the system can't recover. 錯誤

事故出現的原委是同學沒有問我的情況下重啓機器,出現事故後,SSH服務正常,VNC連接出現“connection refused by remote compute”錯誤。遠程服務器後添加5903(VNC端口)到防火牆規則並關閉SeLinu

原创 HBase + Hadoop 錯誤小結

1.Windows下提交報用戶權限問題 conf.set("user", "hadoop"); //或者相應的用戶名 2.windows下提交報/bin/bash: line 0: fg: no job control conf.set(

原创 解釋型語言與編譯型語言

編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言,以後執行這個程序的時候,就不用再進行翻譯了。 解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編譯型語言要慢。 C/C++ 等都是編譯型語言,而Jav