原创 Android推送指南

暑假在大中軟做DonkeyGo的時候,就一直討論着推送的問題。現在轉來研究研究。 在開發Android和iPhone應用程序時,我們往往需要從服務器不定的向手機客戶端即時推送各種通知消息,iPhone上已經有了比較簡單的和完美的推送通知

原创 RSA算法淺析

概述   RSA算法是第一個能用於加解密和數字簽名的非對稱加密算法。RSA的命名是以其提出者姓氏的首字母組合而成,Ron Rivest、Adi Shamir和Leonard Adleman。關於RSA的小小插曲,1983年麻省理工學院在

原创 Java實現C的語法分析器(預測分析法)

         在上一次詞法分析的基礎之上,我完成了我的C語言的語法分析器。這次選擇的是用Java來實現,採用了自頂向下的分析方法,其思想是根據輸入token串的最左推導,試圖根據現在的輸入字符來判斷用哪個產生式來進行推導。      

原创 進程運行軌跡的跟蹤與統計

在做這次實驗的時候,一定要耐心一點。我當時做的時候就因爲在修改的過程中出現了一點小小的失誤,導致了整個實驗重新來過一遍。爲了避免這樣的情況發生,一定要記住修改的時候,要注意修改的內容無誤。 本次實驗包括如下三個方面的內容: 基於模

原创 Python實現的C語言詞法分析

 編譯原理課上的一個實驗是做一個編譯器前端的詞法分析器,我選擇了用Python來寫C語言的詞法分析。          詞法分析器的功能是輸入源程序,輸出單詞符號。當初定義Token(單詞種別,屬性值)序列的時候,是將單詞種別用數字來表示

原创 一個小時鐘 android

    這次的小程序是一個android小時鐘。主要用到知識有Handler,Thread,Canvas,Path.      Handler:主要是用來接收子線程發送的數據,並用此數據配合主線程更新UI。Handler運行在主線程,通過

原创 C/C++位運算技巧

預備知識 對於位運算,大家都很熟悉,基本的位操作有與、或、非、異或等等。在面試中經常會出現位運算相關的題,所以我就做了簡單的整理,參考了很多寫的很好的博客及書籍。 現在簡單說一下,移位運算。 左移運算:x << y。將x左移y位,將x最左

原创 二叉樹的建立(根據遍歷結果構建)、遍歷(非遞歸)和搜索

定義與性質 二叉樹的每個節點至多隻有兩棵子樹,二叉樹的子樹有左右之分,不可顛倒。二叉樹的第i層至多有2^(i-1)個節點;深度爲k的二叉樹的節點至多有2^k - 1個節點;對任一個二叉樹,其葉子節點的個數爲n,度爲2的節點個數爲m,n =

原创 嵌套Fragment的使用及遇到The specified child already has a parent. You must call removeView()問題的解決

預備知識 嵌套Tab在Android應用中用途廣泛,之前做過的一些東西都是運用了TabActivity。但是由於在Android Developers中說到了“TabActivity was deprecated in API le

原创 線性排序算法(計數排序,基數排序,桶排序)分析及實現

寫在前面 大家都知道的是,基於比較的排序算法的時間複雜度的下界是 O(n log(n))。這一結論是可以證明的,所以在基於比較的算法中是找不到時間複雜度爲 O(n)的算法的。這時候,非基於比較的算法,如計數排序、基數排序和桶排序,是可以突

原创 鏈表基礎及常見面試題

基礎知識 鏈表是一種很常見的數據結構,在每個節點都保存了指向下一個節點的指針。與順序表相比,鏈表插入元素的複雜度是O(1),查找一個節點或者訪問特定節點編號的元素的複雜度是O(n);順序表插入元素的複雜度是O(n),而查找的複雜度是O(1

原创 Jena API使用詳解(關注將本體持久化到MySQL後的操作及解決中文亂碼等問題)

關於Jena的簡介在很多博客中都能看到,例如對Jena的簡單理解和一個例子,使用Jena將本體存入MySQL,Jena進階等。在入門的時候,看這些文章總是很疑惑,對於存入數據庫後的操作一無所知。因此,在做項目之餘,把使用到的一些方法記錄下

原创 實現基於VxWorks的消息隊列通信機制的C/S通信

寫在前面 要實現如圖所示的C/S通信需要掌握的知識有: 1.VxWorks的消息隊列的API(具體內容可以在VxWorks內核源碼的目錄下的src/wv/msgQlib.c這個文件中找到) 主要用到的方法有:msgQCreate,msg

原创 突然發現很多同學還在此博客留言和私信,本博客已經不再維護

突然發現很多同學還在此博客留言和私信,本博客已經不再維護了,如果有需要的話,可以訪問我的新博客 http://echo.vars.me。

原创 內存管理:分頁,分段,段頁結合

進程如何使用內存 進程是操作系統資源分配的最小單元。操作系統分配給進程的內存空間中包含五種段:數據段、代碼段、BSS、堆、棧。 數據段:存放程序中的靜態變量和已初始化且不爲零的全局變量。 代碼段:存放可執行文件的操作指令,代碼段是隻讀的