原创 Android: RelativeLayout作爲ListView時的佈局BUG

當一個ListView的item爲一個RelativeLayout時,該ViewGroup下的子view如果配置爲 android:la

原创 實現直接拒接來電

經過簡單的google/baidu後,發現android沒有現成的API去拒接電話。android可以通過註冊BroadcastReceiver截取短

原创 Android: 讀取短信

讀取短信本身沒什麼難度,僅僅是讀取SQLite數據庫而已。[code]public Uri SMS_INBOX = Uri.parse("conten

原创 Android: Tab的使用總結

之前在[url]t.sina.com.cn/kevinlynx[/url]陸續貼了些android開發涉及到的一些code snippets,主要目的

原创 Android: 獲取短信的發信人

既[url=http://kevinlynx.iteye.com/blog/843281]上次的測試[/url],通過取得短信裏的person字段,然

原创 初識JVM byte code

關於JVM和其上的byte code,網上其實有足夠多的資料了,我這裏就簡單做個提綱和介紹,權當記錄吧。 stack-based VM Java byte code運行在JVM上,就像機器指令運行在物理機上,是需要遵循這個機器的指令規範

原创 記一次tcmalloc分配內存引起的coredump

現象 線上的服務出現coredump,堆棧爲: #0 0x000000000045d145 in GetStackTrace(void**, int, int) () #1 0x000000000045ec22 in tcmallo

原创 Drill中實現HTTP storage plugin

Apache Drill可用於大數據的實時分析,引用一段介紹: 受到Google Dremel啓發,Apache的Drill項目是對大數據集進行交互式分析的分佈式系統。Drill並不會試圖取代已有的大數據批處理框架(Big Data

原创 基於內存查看STL常用容器內容

有時候在線上使用gdb調試程序core問題時,可能沒有符號文件,拿到的僅是一個內存地址,如果這個指向的是一個STL對象,那麼如何查看這個對象的內容呢? 只需要知道STL各個容器的數據結構實現,就可以查看其內容。本文描述了SGI STL實

原创 圖解分佈式一致性協議Paxos

Paxos協議/算法是分佈式系統中比較重要的協議,它有多重要呢? <分佈式系統的事務處理>: Google Chubby的作者Mike Burrows說過這個世界上只有一種一致性算法,那就是Paxos,其它的算法都是殘次品。 <大規

原创 理解git常用命令原理

git不同於類似SVN這種版本管理系統,雖然熟悉常用的操作就可以滿足大部分需求,但爲了在遇到麻煩時不至於靠蠻力去嘗試,瞭解git的原理還是很有必要。 文件 通過git管理的文件版本信息全部存放在根目錄.git下,稍微看下: $ ls .

原创 圖解zookeeper FastLeader選舉算法

zookeeper配置爲集羣模式時,在啓動或異常情況時會選舉出一個實例作爲Leader。其默認選舉算法爲FastLeaderElection。 不知道zookeeper的可以考慮這樣一個問題:某個服務可以配置爲多個實例共同構成一個集羣對

原创 Java中的反射及Bean容器的實現

編程語言中的反射(Refection)指的是可以在程序運行期動態加載一個類。與之相關的是自省(Introspection),這個指的是程序自己可以獲取一個類型的描述信息,例如獲取一個類的所有接口定義、一個接口的所有形參。當編程語言有了這

原创 Java中隔離容器的實現

Java中隔離容器用於隔離各個依賴庫環境,解決Jar包衝突問題。 問題 應用App依賴庫LibA和LibB,而LibA和LibB又同時依賴LibBase,而LibA和LibB都是其他團隊開發的,其中LibA發佈了一個重要的修復版本,但是依

原创 linux動態庫的種種要點

linux下使用動態庫,基本用起來還是很容易。但如果我們的程序中大量使用動態庫來實現各種框架/插件,那麼就會遇到一些坑,掌握這些坑才有利於程序更穩健地運行。 本篇先談談動態庫符號方面的問題。 測試代碼可以在github上找到 符號查找