原创 Java log 如何獲取Line、File等信息

今天在Android 開發中Java 調用Native C++實現的 SDK 庫log 模塊功能時遇到一個問題:Native 代碼本身使用LINE, FILE等C++ 宏可以精確定位log 記錄位置信息, 但Java 調用處卻無法

原创 std::thread 學習記錄

跨平臺的多線程開發中,之前一直使用boost 相關第三方庫,今天在瀏覽博客時無意看到c++11 開始STL 標準庫中竟然加入了對多線程編程的支持,諸如std::thread, std::mutex等, 頓時感覺out很久了, 特此

原创 讀寫鎖Read/Write lock 實現-- 使用Boost 庫

情景: 多線程編程中,通常某些數據是在多個線程間共享的,由於線程的併發行,一個線程讀寫的過程中另一個線程也極大可能同時讀寫, 這必然造成公共資源的錯亂, 引起程序錯誤, 此時對公共資源的保護實在必行了, 需要使用公共資源之前, 先

原创 Boost Log庫使用介紹

說明:文章內容爲學習Boost Log 文檔提煉記錄,核心內容來自官方文檔。 Boost.Log官方文檔 Boost.Log 簡介 Boost被稱爲“準”標準庫,相當於STL的延續和擴充,設計和STL比較接近,大量利用了泛型模板讓複用達

原创 Android 問題解決:Caused by: java.security.cert.CertificateException

今天在調試Android 程序中,使用Https 協議訪問server失敗,出現 Caused by: java.security.cert.CertificateException的錯誤提示,具體的logcat 打印的出錯信息如下:

原创 設計模式--觀察者模式Observer(行爲性)

觀察者模式(Observer) 應用背景 日常微信使用中,常常訂閱一些自己關注的公衆號,當公衆號文章更新時,相關訂閱者會及時收到信息,這是生活中常見的一種方式,又例如你到店裏購買化妝品時,長期喜歡的一款化妝品恰好售罄,你感到很遺憾,但店員

原创 HTTP與HTTPS協議介紹

HTTP與HTTPS協議簡介 隨着互聯網飛速發展,每天都有爆炸性的數據、文本、HTML頁面、音視頻等資源通過互聯網在世界各地傳輸,這些數據藉助於HTTP/HTTPS(HTTP加密安全版)協議載體迅速、便捷、可靠地將Web 服務器搬移到人們

原创 設計模式--單例模式Singleton(創建型)

單例模式Singleton背景 軟件實現中,有些時候整個系統只需要擁有一個全局對象,這樣有利於協調系統的整體行爲,使系統在單個對象存在時更有效率,或者限制實例化爲特定數量的對象。例如對某個協議棧模塊的訪問, 需要整個模塊有且僅有一個訪問入

原创 多態基類聲明virtual析構函數

問題發現? 在維護一份原有代碼時,看到類似下面的代碼:(模型簡化版) #include<iostream> using namespace std; //定義一個純虛基類 class Base { public: Base

原创 設計模式--適配器Adapter模式(結構性)

適配器(Adapter)模式使用背景 日常生活經常用到各種各樣的轉換模塊,比如:USB轉HDMI,USB轉串口,電源適配等等。在實際軟件設計中也常常遇到類似情形,比如:已經實現類庫的代碼功能滿足新的要求但接口不完全平匹配,不能直接使用,此

原创 Android消息處理機制(Handler、Looper、MessageQueue與Message)

Android消息處理機制(Handler、Looper、MessageQueue、Message) 文章轉載自http://www.cnblogs.com/angeldevil/p/3340644.html 尊重作者版權。 An

原创 設計模式--組合模式Composite(結構性)

組合模式(Composite)應用背景 在繪圖編輯器的應用程序中,用戶可以使用簡單圖形組件創建複雜的圖表,也可以組合多個簡單圖形形成較大的組件,這些新產生圖形組件又可以組合成爲更大的組件,如此產生不斷遞歸層次。類似情況也有在文件系統中,一

原创 設計模式--橋接模式Bridge(結構性)

橋接模式(Bridge)應用背景 軟件設計實現中,繼承是擴展對象功能一種常見的手段,通常情況下,繼承擴展的功能變化是一緯的,變化的因素只有一類。對於出現變化因素有兩類或者更多的情況,繼承實現往往比較麻煩。實際使用中,想象一下裝操作系統的場

原创 Linux進程通信IPC--管道Pipe/Named Pipe

前言: Linux 進程通信系列文章是對工作中使用的技術進行描述總結,前兩篇文章分別講述了MessageQueue、SharedMemory的方式,同作爲Linux 最初支持Unix IPC的方式之一,管道也是進程間通信常用的方式。 管道

原创 設計模式--工廠模式Factory(創建型)

工廠模式背景 日常生活中的工廠,通常是指擁有機器、設備構成的生產線,用以批量製造產生貨物。軟件設計中,也可以使用類似的方法,使用”工廠”批量生產”貨物”。在飛車遊戲中,若玩家飛車撞毀時,需要申請一輛新的飛車繼續用,如此不斷生產–銷燬–再生