原创 如何開發SDK

開發SDK時需要注意的問題 1. 修改類別文件名及類別方法。 開發SDK時通常會用到比較多的第三方的類別方法, 這樣的話, 開發者在使用你的SDK時, 因爲他可能也會加一些第三方的開源庫, 比如都使用了NSString的md5類別文

原创 最長迴文子串——動態規劃

題目: 給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba" 也是一個有效答案。 示例 2: 輸入: "cbbd" 輸出: "

原创 二分查找-java實現

import java.util.Arrays; public class BinarySearch { /** * This class should not be instantiated. */

原创 局域網發現設備的測試和問題

目的 測試我寫的局域網發現demo的可用性和穩定性,特別是網絡切換等case; 我demo的實現請看 局域網發現設備代碼實現:udp組播 測試環境搭建 自己搭建一個路由器環境,一根網線,電視,手機即可; 測試用例 由於網絡狀

原创 socket自定義數據格式轉化二進制

自定義數據格式的方案 一般傳送的數據,肯定有消息類型,消息序列號,具體的自定義消息內容; 則可以先定義一個統一的格式: prefix + packType(1) + seq(4) +[userData](標誌性前綴+消息類型+

原创 分析ANR之iowait偏高

解決了一個anr的bug,在此記錄下; 我們首先看log 知道是哪個pid 發生的anr,再看trace文件,找到對應的,如下圖; 從圖我標出3塊紅色的地方: 1.第一個紅色,看似在等待信號量,其他不懂; 2.第二個紅色,應該是打開了st

原创 AndFix原理以及源碼解析

轉載自 http://blog.csdn.net/qxs965266509/article/details/49816007 小憩之後,繼續爲你解讀AndFix熱修復框架,呵呵。 上一篇Alibaba-AndFix Bug熱修復框架的

原创 Timer 和TimerTask分析

Timer 定時器使用舉例 大家都知道Timer 可以用來做定時任務, 使用舉例,定時5s執行sendPing()邏輯: Timer timer = new Timer(); timer.schedule(new

原创 androidstudio 靜態代碼檢查以及如何自定義檢測項

下面先說如何使用androidStudio做靜態代碼檢查 1. 找到Analyze目錄下的Inspect Code檢查代碼選項點擊,如下圖: 2. 彈出如下框,選擇檢測範圍: 3.待分析完畢後,我們可以在Inspect

原创 java final類

轉載出處: http://www.importnew.com/7535.html 不可變的對象指的是一旦創建之後,它的狀態就不能改變。String類就是個不可變類,它的對象一旦創建之後,值就不能被改變了。 不可變對象對於緩存是非

原创 java 用命令編譯、運行

public class Test{ public void static void main(String[] args){ A a = new A(); a.setValue(10);

原创 歸併排序-java實現

歸併排序  O(N*logN) 用遞歸方法將排好序的半子表合併成爲越來越大的有序序列, 歸併排序將兩個已排序的表合併成一個表。 採用先 “分割” 再 “合併” 的思想,我們首先把一個未排序的序列從中間分割成2部分,再把2部分分成4部分,依

原创 動態規劃-算法

記住求過的解來節省時間 記住求解的方式有兩種:①自頂向下的備忘錄法 ②自底向上。  只要問題可以劃分成規模更小的子問題,並且原問題的最優解中包含了子問題的最優解,則可以考慮用動態規劃解決。動態規劃的實質是分治思想和解決冗餘,因此,動態規劃

原创 最長迴文字串——動態規劃

題目: 給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba" 也是一個有效答案。 示例 2: 輸入: "cbbd" 輸出: "

原创 選擇排序-java實現

/** * 選擇排序 * 找到最小的到數組的最左邊,左邊是有序的 *對於長度爲 N 的數組,選擇排序需要大約 N2/2 次比較和 N 次交換。 *O(N^2) */ public static void selectSort()