原创 滴滴哆啦A夢源碼解析

哆啦A夢是什麼? 1、DoraemonKit 能夠快速讓你的業務測試代碼能夠在這裏統一管理,統一收口; 2、DoraemonKit 內置很多常用的工具,避免重複實現,一次接入,你將會擁有強大的工具集合。 項目地址; https:/

原创 算法---------二叉樹的後序遍歷

題目: 給定一個二叉樹,返回它的 後序 遍歷。 示例: 輸入: [1,null,2,3] 1 \ 2 / 3 輸出: [3,2,1] 程序入口

原创 算法------最接近的三數之和

題目 給定一個包括 n 個整數的數組 nums 和 一個目標值 target。找出 nums 中的三個整數, 使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。 例如,給定數組 num

原创 Android Service、 BroadcastReceiver、ContentProvider ANR 原理詳解

Service ANR: 啓動Service 的時候,會調用到ActiveServices 類的 realStartServiceLocked方法。 private final void realStartServiceL

原创 Java HasCode equals == 的區別

== 用來判斷兩個值,或者兩個對象的內存地址是否一樣。 equals equals 方法用來判斷兩個對象是否相等。equals 是Object 類的方法,默認情況下,比較兩個對象是否是同一個對象,內部通過 == 實現。如果想比較兩

原创 算法----- 在排序數組中查找元素的第一個和最後一個位置

題目: 在排序數組中查找元素的第一個和最後一個位置 給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間複雜度必須是 O(log n

原创 Java多線程開發之------多線程等待

我們在開發過程中,會有這樣的場景: 我有兩個線程,一個線程去獲取一個網絡數據,我要等待兩個線程回來之後,結合他們的數據去展示到ui裏面。怎麼實現: 面試被問到這個問題,我的回答是: 設置兩個boolean 變量,一個線程OK 之後

原创 Android 內存泄漏問題分析 指南

內存異常的情況: 我們看到一直在上漲~ 內存正常的情況: 內存有漲有跌,這樣才說明內存能夠被回收。 Mat 工具的使用: 使用mat 打開hprof文件,查看你認爲可能泄露的類的引用。 如果是java層導致的泄露,會有下面類

原创 Java ReentrantLock 詳解

ReentrantLock 和 synchronized 的區別: 1.ReentrantLock 不需要代碼塊,在開始的時候lock,在結束的時候unlock 就可以了。 但是要注意,lock 是有次數的,如果連續調用了兩次

原创 EventBus源碼解析

1.EventBus 怎麼做到的。 * EventBus is a central publish/subscribe event system for Java and Android. * Events are poste

原创 Java InputStream詳解

InputStream 是個抽象類。 public abstract class InputStream implements Closeable public int read(byte b[], int off,

原创 解決android Stadio 升級之後 出現亂碼

android stadio 升級到3.6之後,編譯項目的時候,輸出的都是亂碼。如下圖: 解決辦法: 在help 裏面選擇 Edit custom… 如下圖: 在打開的文件裏面添加上以下配置,重啓stadio -Dfil

原创 android 崩潰搜索 AndroidRuntime

我們看下android 在啓動的時候,會設置一個默認的UncaughtExceptionHandler . 名字叫做LoggingHandler 。專門負責打印日誌: 代碼 如下: /* * Copyright (C) 200

原创 Java Socket 編程

最近看到別的開源項目都在使用Socket 寫一些東西,我也練習一下: package com.example.socket; import java.net.Socket; /** * ===================

原创 android debug database 源碼解析

我們今天分析下android debug database 的源碼: 項目地址: https://github.com/amitshekhariitbhu/Android-Debug-Database 具體作用: 可以在瀏覽器裏面