原创 mapreduce框架學習

Map和Reduce階段都是分離的 map階段–程序mapTask mapTask可以運行在多個服務器上面,具體啓動的數量取決於數據的數量。將文件化分給不同的mapTask的過程叫做切片。 因爲每個文件的大小不一致,所以並不是單純

原创 使用HDFS完成一個簡單的wordcount程序

wordcount業務需要的執行步驟 在hdfs中讀取文件:一次讀取一行 調用一個方法對每一行進行業務處理 將處理的結果放入一個緩存當中 最後將緩存中的統計結果輸出到HDFS中的結果文件內 HDFS的客戶端 //可以使用反射

原创 hadoop客戶端指令

hdfs客戶端的常用操作命令 上傳文件到hdfs中 hadoop fs -put /本地文件 /aaa copyFromLocal作用相同 下載文件到客戶端本地磁盤 hadoop fs -get /hdfs中的路徑

原创 自學MIT 6.828心得:(一)jos的bootloader過程

嘮叨一下 沒想到第一課的信息量就這麼大,如果是沒有接觸過彙編的同學可能會有些難度,這裏不僅要求對系統有一定的瞭解,還得會通過調試的方法來查看整個程序的運行過程。 我的環境還沒有搭建好,看了一些大佬的在環境搭建的時所到的坑,多有點耐

原创 go test benchmark

benchmark 使用方式 func Benchmark(b * testing.B) { //與預測無關的代碼 b.ResetTimer() for i := 0; i < b.N ; i++ { // 測試代碼

原创 c++函數指針 對象內部的函數指針的使用

函數指針 函數指針在c語言定義就比較方便 舉個例子,如果需要指向一個返回值爲void參數爲int , int的函數,可以如下定義函數指針類型 void sum(int a , int b) { //其實啥也不幹,調用了個寂寞 }

原创 AVL樹學習

AVL樹爲什會出現? 我們之前有學習使用二叉查找樹,但是二叉查找樹在使用的時候也會出現一些問題,當恰好所有的數據都是按照大小順序插入的話,就有可能將我們的二叉樹編程鏈表,就導致樹結構退化爲鏈表結構。 什麼是不平衡 其實不平衡就是一

原创 個人學習 -- KMP算法

如此愚鈍 一天才學會 KMP算法的思想就是,如果已經匹配的模式串內部有重複的部分,那麼我們移動的時候就能多移動幾步,而且由於模式串的大小都是固定的,所以我們可以提前的求出有哪些部分是重複的。 這裏說的重複是指,前綴子串和後綴子串

原创 服務端開發被我忽略的點

Linux c++服務端設計 菜而不自知纔是無藥可救 —> 說我呢/(ㄒoㄒ)/ 這幾天一直在看muduo庫的代碼,結合着陳碩老師的書《Linux多線程服務端編程 – 使用muduo c++ 網絡庫》。還記得我第一次使用網絡庫是在

原创 7 go中的異常處理

go中的異常處理有三個關鍵字 defer panic recover defer是用來解決異常發生之後有關資源的釋放問題,拋出異常之後仍然會執行defer所作用的函數,可以用原來釋放資源。 panic是用來拋出異常然後如果沒有捕獲異常的處

原创 6 go中defer關鍵字的用法

defer關鍵字 defer是go裏面處理異常的一個關鍵字,應用場景類似於java裏面的finally,使用的時候就是所有的其他的正常的函數進程執行完畢之後都要執行defer。 也就是被defer修飾的函數或者語句都是等到所有的作用域內部

原创 2 golang中變量的定義

個人理解的是,go裏面的變量和const修飾的常量其實是不同的概念,做了一個徹底的區分。 對變量的定義:引入了關鍵字var對變量進行聲明 var a int var b string var c float64 var e [4] in

原创 4 go的函數

函數的定義 函數的結構 func [function name] (paramters , ...) (return type) { } //func add(a int , b int) func add(a, b int) int

原创 8 go中的結構體struct

go裏面的結構體其實和c++差別不太大,但是仍然有go的特色 1.結構體的定義 type Human struct{ name string age int weight int } type St

原创 3 go中數組和切片之間的區別

數組 數組的概念之前在c裏面就有所以並不會很陌生,但是仍然有些區別。 數組是內置(build-in)類型,是一組同類型數據的集合,它是值類型,通過從0開始的下標索引訪問元素值。 在c++裏面我們使用數組在傳參的時候傳遞的都是指針,但是在g