原创 劍指offer——java刷題總結【七】

Note 題解彙總:劍指offer題解彙總 代碼地址:Github 劍指offer Java實現彙總 點擊目錄中的題名鏈接可直接食用題解~ 有些解法博文中未實現,不代表一定很難,可能只是因爲博主太懶```(Orz) 如果博文中有

原创 圖解最短路徑之弗洛伊德算法(Java實現)

概述 Floyd算法又稱爲插點法,是一種利用動態規劃的思想尋找給定的加權圖中多源點之間最短路徑的算法,與Dijkstra算法類似。該算法是一種在具有正或負邊緣權重(但沒有負環)的加權圖中找到最短路徑的算法,即支持負權值但不支持負權環。弗洛

原创 圖解最短路徑之迪傑斯特拉算法

概述 迪傑斯特拉算法是由荷蘭計算機科學家狄克斯特拉於1959 年提出的,因此又叫狄克斯特拉算法。是從一個頂點到其餘各頂點的最短路徑算法,解決的是有權圖中最短路徑問題。迪傑斯特拉算法主要特點是以起始點爲中心向外層層擴展,直到擴展到終點爲止。

原创 Neo4j部署和數據導入

Neo4j部署 1、下載安裝包 wget https://neo4j.com/artifact.php?name=neo4j-community-3.5.3-unix.tar.gz 2、解壓 請不要因爲文件名而質疑該文件是否完整,下

原创 Solr+Hbase+Hbase Indexer查詢方案流程整合

概述 億級數據多條件組合查詢——秒級響應解決方案簡述了Hbase+Solr的億級數據多條件組合查詢的解決方案,但是當時並未將HBaseIndexer這一組件加入進來,而是暫時採用手工的形式對Hbase和Solr的數據進行同步。本文基於

原创 LeetCode刷題總結(基礎篇)

概述 最近刷了一些LeetCode題,都是比較簡單的基礎題,給出這段時間刷題的一些總結,都是比較基礎的東西,僅供剛開始刷題的同學們參考。 總結 HashMap中的containsKey是將key直接進行hash,從連續的存儲單元中找

原创 volatile和synchronized的區別

概述 在Java中,爲了在多線程環境讀寫數據時保證數據的一致性,可以採用兩種方式:線程同步和使用volatile關鍵字。 線程同步 資源共享的兩個原因是資源緊缺和共建需求。線程共享CPU是從資源緊缺的維度考慮,而多線程共享變量通常是從

原创 Spark RDD之Partitioner

概述 Partitioner是shuffle過程中key重分區時的策略,即計算key決定k-v屬於哪個分區,Transformation是寬依賴的算子時,父RDD和子RDD之間會進行shuffle操作,shuffle涉及到網絡開銷,由

原创 Spark RDD之Dependency

概述 Partition是數據切分的邏輯,而Dependency是在Transformation過程中Partition的演化過程,根據Dependency的類型判斷數據的處理方式,Dependency可以分爲NarrowDepend

原创 Spark RDD之Partition

RDD概述 RDD是一個抽象類,主要包含五個部分: partitions列表 計算每一個split的函數 依賴rdd的列表(dependencies) 鍵值對rdd的partitioner 計算每個split的首選位置列表 其中最

原创 億級數據多條件組合查詢——秒級響應解決方案

1 概述 組合查詢爲多條件組合查詢,在很多場景下都有使用。購物網站中通過勾選類別、價格、銷售量範圍等屬性來對所有的商品進行篩選,篩選出滿足客戶需要的商品,這是一種典型的組合查詢。在小數據量的情況下,後臺通過簡單的sql語句便能夠快速過

原创 cdh平臺Solr initialize failed錯誤分析與暴力解決方法

搭建好cdh平臺之後,不知道誤刪了什麼文件,導致添加Solr服務時在初始化階段顯示Solr initialize failed,初始化失敗,重新安裝服務甚至多次重新安裝cdh平臺依然是這種狀況。查看日誌顯示如下: 15/Sep/20

原创 cdh平臺搭建過程中主機不受管解決方案

序言 實驗室的集羣中一直安裝的都是原生的hadoop、hbase等生態圈軟件,最近由於給出的一個技術方案涉及到hbase-indexer(雖然目前還沒用上),而hbase-indexer暫時沒找到Apache版本,需要自己編譯,而在本

原创 基本排序算法Java實現歸納(二)

1. 選擇排序 1.1 簡單選擇排序 簡單選擇排序的思想是:在數組r[1…n]中,第一趟從r[1]開始,進行n-1次比較,找出關鍵字最小的記錄,與r[1]進行交換,第二趟從r[2]開始,進行n-2次比較,在剩餘記錄中找出關鍵字最小的記錄,

原创 基本排序算法Java實現歸納(一)

對於程序員來說,數據結構算是一門基礎,而數據結構中,排序算法又是面試中最爲經典的考題。感覺到自己的數據結構基礎不太牢固,所以對數據結構進行了溫習,今天對排序算法這一章節進行歸納,使用Java語言進行編程。主要介紹以下幾種排序算法: 插入