原创 notify_one與notify_all的區別以及虛假喚醒(spurious wakeup)
notify_all對應linux下的pthread_cond_broadcast:通常表明狀態變化,比如某一主線程的任務完成,通知其餘子線程開始執行。會使得所有wait在條件變量上的子線程去競爭鎖。因爲wait()會原子地unlockm
原创 分佈式哈希算法
一,普通的Hash方式 在介紹分佈式哈希算法之前,先了解下普通的Hash是如何實現的。JDK中的java.util.HashMap類就實現了一個哈希表,它的特點有:①創建哈希表(HashMap)需要先指定大小,即默認創建一個能夠
原创 NDK編譯native程序(二)構建原生組件
接上一篇NDK編譯native程序(一),ANT使用的build.xml指定了使用ndk-build來構建native so。 <exec executable="/opt/android-ndk-r15c/ndk-build" dir
原创 performance調查要點(持續更新)
線程優先級 CPU佔用率,使用top
原创 使用vector存放pair對象
閱讀陳碩的《Linux多線程服務端編程》中以shared_ptr實現讀寫鎖一節中,使用了map<string, vector<pair<string, int>>>。一般關聯對象都會放在map或者hash_map中,這樣做是爲了查詢速度快
原创 NDK編譯native程序(一)構建Java應用程序
Android原生開發包(NDK)是Android軟件開發包(SDK)的相關工具集,用於Android平臺上C++平臺上的開發。使得開發人員能夠使用機器代碼生成的編程語言(C、C++、彙編)實現一些對代碼性能要求較高的的模塊並將其嵌入到A
原创 使用adb devices命令,老是報error:device offline的錯誤
剛開始報error:devices not found 重新安裝adb 驅動。 解決方法: adb kill-server adb start-server adb remount 再使用adb devices和adb
原创 UNICODE和UTF-8的相互轉換(C++)
最近工作需要在xml node的節點中加入一些Unicode編碼的某些國家的字符,比如“Alte Poststraße”,最後把xml node變成字符串傳送給HMI。 爲了圖方便(想象中的方便),心想這樣一個字符串用項目中所用的Tiny
原创 Java protected與默認權限的區別
作用域 當前類 同package 子孫類 其他package public √ √ √ √ protected √ √ √ × friendly(default) √ √ × × private √ × × ×
原创 JNI應用筆記(陸續更新)
實例引用,與一個數組和java.lang.Object類或它的子類的實例對應: jobject 類引用,與java.lang.Class實例對應,它代表着類的類型: jclass 通過對象實例獲取類(以實例引用獲得類引用): jo
原创 將XML node轉爲字符串(C++)
想得到這麼一個字符串: <vtml_phoneme alphabet="x-ntsampa" lang="GER" ph="'?al|t@ 'pOst|Stra:|s@">Alte PoststraÃe</vtml_phoneme> 看
原创 C++map key不存在
原文鏈接:http://www.cnblogs.com/nzbbody/p/3409298.html C++ map注意事項 1、在map中,由key查找value時,首先要判斷ma
原创 git rebase -i 中edit和fixup的簡單使用
原文鏈接:https://blog.csdn.net/not_say/article/details/82180129 一、edit的使用 1、當在某個分支上面存在多個commit,但
原创 幾個C庫string函數及其注意事項
這些函數都必須 #include <string.h> 這周突然和C庫string處理函數槓上了。說這個不是沒有原因,其一是公司項目要求提升I/O的performance,原先使用C++的getline每次讀取一個6M的文件直到讀完爲止,
原创 Can't load IA 32-bit .dll on a AMD 64-bit platform錯誤的解決
經提醒該軟件需要JDK 32bit。 我安裝jdk1.8.0_131以及jre1.8.0_131,並且設置了環境變量java_home和jre_home。然後在cmd鍵入java -version依然顯示老版本64 bit。 原來本機已安