原创 詳解Java多線程與高併發(四)__Atomicxxx

AtomicXxx  * 同步類型  * 原子操作類型。 Atomicxxx中的每個方法都是原子操作。可以保證線程安全。 效果同加synchronize,保證了原子性。 如AtomicInteger代碼演示如下: public clas

原创 推薦系統實踐:基於用戶的協同過濾算法原理及實現(含改進算法)

總體思路: 1.利用餘弦相似度對兩兩用戶計算相似度    1.1 建立物品-用戶倒排表          左半部分爲訓練數據格式,ABCD等是用戶,abc等是對應用戶喜歡的物品          右半部分物品-用戶倒排表,如對於物品a,喜

原创 HiveQL中如何排查數據傾斜問題

原文鏈接https://blog.csdn.net/u012151684/article/details/77074356 如果某個key下記錄數遠超其他key,在join或group的時候可能會導致某個reduce任務特別慢。本文分析下

原创 負數的二進制表示方法

  今天在看base64編碼轉換時,既然對負數的二進制表示有些遺忘,在網上找了一下資料,貼出來已備在此遺忘: 假設有一個 int 類型的數,值爲5,那麼,我們知道它在計算機中表示爲: 00000000 00000000 00000000

原创 詳解Java多線程與高併發(七)__ThreadLocal

線程局部變量是侷限於線程內部的變量,屬於線程自身所有,不在多個線程間共享。 Java提供了ThreadLocal類來支持線程局部變量,是一種實現線程安全的方式。 ThreadLocal將值和線程綁定,避免了多線程情況下的數據同步問題,杜絕

原创 詳解Java多線程與高併發(二)__鎖的底層實現

鎖的底層實現:        由Java 虛擬機中的同步(Synchronization)基於進入和退出管程(Monitor)對象實現。同步方法 並不是由 monitor enter 和 monitor exit 指令來實現同步的,而是由

原创 詳解Java多線程與高併發(一)__synchronized關鍵字

synchronized在JDK1.5版本開始,嘗試優化。到JDK1.7版本後,優化效率已經非常好了。在絕對效率上,不比reentrantLock差多少。 爲什麼要使用synchronize關鍵字?    答:這涉及到了多線程的線程同步問

原创 詳解Java多線程與高併發(六)__ReentrantLock

ReentranLock重入鎖類, 實現自Lock接口 推薦ReentrantLock,使用相對效率比synchronize高,因爲量級較輕 使用重入鎖,必須必須必須手工釋放鎖標記。一般都是在finally代碼塊中定義釋放鎖標記的unlo

原创 詳解Java多線程與高併發(五)__CountDownLatch

門閂 - CountDownLatch  * 可以和鎖混合使用,或替代鎖的功能。  * 避免鎖的效率低下問題。 理解: 門閂上掛了多把鎖,在門閂未完全開放之前(門閂上還有鎖)等待。當門閂完全開放後執行。 代碼演示如下: public c

原创 詳解Java多線程與高併發(三)__volatile關鍵字

volatile關鍵字  含義: volatile的可見性  作用: 通知OS操作系統底層,在CPU計算過程中,都要檢查內存中數據的有效性。保證最新的內存數據被使用。 原理:         如下圖所示,程序啓動時將磁盤中的字節碼文件讀到

原创 推薦系統實踐:基於物品的協同過濾算法原理及實現(含改進算法)

       基於物品的協同過濾算法(ItemCF)給用戶推薦那些和他們之前喜歡的物品相似的物品。比如:該算法會因爲你購買過《數據挖掘導論》而給你推薦《機器學習》。不過ItemCF算法不利用物品的內容屬性計算物品之間的相似度,它主要通過分

原创 推薦系統實踐:基於用戶的協同過濾算法原理及實現

總體思路: 1.利用餘弦相似度對兩兩用戶計算相似度    1.1 建立物品-用戶倒排表          左半部分爲訓練數據格式,ABCD等是用戶,abc等是對應用戶喜歡的物品          右半部分物品-用戶倒排表,如對於物品a,喜

原创 Tensorflow實戰:Word2Vec_Skip_Gram原理及實現(多註釋)

        Word2Vec也稱Word Embeddings,中文的叫法爲“詞向量”或“詞嵌入”,是一種非常高效的,可以從原始語料中學習字詞空間向量的預測模型。         在Word2Vec出現之前,通常將字詞轉爲One-Ho

原创 Tensorflow實戰:LSTM原理及實現(詳解)

  LSTM規避了標準RNN中梯度爆炸和梯度消失的問題,所以會顯得更好用,學習速度更快 下圖是最基本的LSTM單元連接起來的樣子 上圖爲一層LSTM單元連接起來的樣子,在工業上,LSTM是可以像一個很大的方陣的,其中除了輸入層和輸出層分

原创 Tensorflow實戰:VGGNet16原理及實現(多註釋)

參考《Tensorflow實戰》黃文堅,並添加了自己的理解。歡迎提問!! 下圖爲VGG結構:                              下表爲VGGNet各級別網絡結構圖: