原创 學習Java垃圾回收機制

本文總結自:http://blog.csdn.net/zsuguangh/article/details/6429592 Java垃圾回收的意義與缺點         不像C/C++語言一樣,Java爲創建對象申請的內存不需要編程人員進

原创 學習整理——Java類初始化順序

Java類初始化順序是一道典型的面試筆試題目,經常會遇到。由於記憶力不好,所以總是忘記剛學習的知識,簡單驗證一下增加印象。 先說結論 一個類被引入以及被創建實例,類內部執行的順序是:父類靜態變量、代碼塊——>子類靜態變量、代碼塊——>父

原创 2016 CVTE 筆試編程題

問題 給定一個有序數組和一個目標值,找出該目標值在這個數組裏面的區域,若目標不存在於數組中,返回[-1, -1]; 例如:有序數組 1 2 3 4 5 6 6 6 6 給出目標值6,應當返回[5, 8] ; 要求:時間複雜度O(Llogn

原创 算法整理——非遞歸歸併排序

       遞歸是個好東西,可以將一個大問題分拆成多個小問題。只要處理好每一個小問題、以及小問題合併成大問題的操作,基本就算是完成了,而程序需要寫解決小問題的代碼即可。但遞歸有時候也會有缺陷,如果遞歸層數控制不好、或者遞歸過程中生成了大

原创 配置整理——ubuntu下配置網絡抓包庫libpcap

       TcpDump可以將網絡中傳送的數據包完全截獲下來分析。它支持網絡層、協議、主機、網絡和端口號的過濾,並提供and, or, not等邏輯語句來幫助你去掉無用的信息。在Linux下,TcpDump依賴的是一個強大的網絡抓包庫

原创 算法整理——通過樹的遍歷順序重建樹

遍歷 前序遍歷:對於樹的每一個節點而言,先輸出該節點的key,然後遍歷左子樹,最後遍歷右子樹; 中序遍歷:對於樹的每一個節點而言,先遍歷完左子樹之後,才輸出該節點的key,最後遍歷右子樹; 後序遍歷:對於樹的每一個節點而言,先遍歷完左子樹

原创 日常開發——Android請求自定義證書的https

有時候爲了app的數據安全,開發者會考慮使用https來進行數據傳輸。在安卓上,原生的HttpsURLConnection和WebView只支持那些得到安卓系統承認的證書的站點。如果請求那些使用未通過系統認證的證書的站點,則系統會報錯。對

原创 學習整理——html+css+js可拖動進度條

問題 實現可拖動的進度條,類似於播放器那樣。由於主要是應用在手機上,所以某些接口會因爲瀏覽器內核的不同有所不同,沒有做兼容性測試。Demo的平臺爲Android4.4,webview內核的話應該是chromium。 模型 在參考了網上一

原创 數據結構——實現key爲int類型的AVL樹

AVL AVL在計算機科學中最先發明的自平衡二叉樹,得名於它的發明者G.M. Adelson-Velsky, E.M. Landis。 主要特點:AVL樹種任何節點的兩個子樹的高度最大差別爲1。 爲了保持該特點,AVL可以在進行插入或刪除

原创 學習整理——以太幀、ip幀、udp/tcp幀、http報文結構

從最簡單的一個http請求開發,根據TCP/IP協議,分開來看每一層的數據幀結構,以及它們是怎樣承擔起網絡服務的。 協議棧 因特網協議棧共有五層: 1.應用層,是網絡應用程序及其應用層協議存留的地方。因特網的應用層包括許多協議,常見的有H

原创 算法整理——常用排序算法

CSDN的名言——編程之久,除算法和數據結構,啥都不屬於我們。做完一些項目發現,編程最重要的還是算法還有數據結構,無關語言、框架。所以有感需要重拾一下一些算法。作爲入口,希望排序帶我不斷地探索出去。 ——————————————以下實現

原创 日常開發——Service, Notification顯示下載進度

最近做的一個小demo,啓動Service並在Service裏面創建一個線程來監聽下載進度,更新notification的UI。當然,demo裏面的下載並非是真正的下載文件,而是一個循環累加的數值,有興趣的朋友可以添加真正的下載線程來調試

原创 Linux下JNI嘗試

Windows下Java調用本地方法採用的是dll(Dynamic Link library),而Linux下用的是.so文件,以下描述下調用的步驟。 假設我在/home/jreffery/JavaTest/lib下,下面有目錄結構cc

原创 日常開發——Android網絡請求openConnection()源碼分析

問題         最近項目需要一個下載的功能,所以在安卓端實現了一個普遍的下載功能模塊。但Protal admin端發來信息說,怎麼安卓端cal了l兩次下載接口,當時以爲是代碼寫錯了,改了幾次之後發現問題還在。經過網上搜索以及源碼分析

原创 學習整理——多進程和多線程概念理解

進程         一個進程,包括了代碼、數據和分配給進程的資源(內存),在計算機系統裏直觀地說一個進程就是一個PID。操作系統保護進程空間不受外部進程干擾,即一個進程不能訪問到另一個進程的內存。有時候進程間需要進行通信,這時可以使用操