原创 工作經驗回憶(第二篇:借測試機)

    【借測試機】是整個移動端App測試行爲中經常會做的一件事,那麼測試機爲什麼永遠不夠用?因爲App的用戶遍佈五湖四海,它們會使用各種不同型號的手機,並隨時可能會遇到各種奇葩問題,有的奇葩問題則會反饋到公司內部,按照流程則需要你在最短

原创 Android之AsyncTask源碼分析(第二篇:創建對象)

(注意:本文基於API 28的源碼分析,API 29上或其他平臺的源碼略有不同)  無參數的構造方法用於創建AsyncTask對象(子類對象),另外兩個構造方法是hide修飾的,我們無法直接調用   0、無參 public A

原创 Android之IntentService源碼分析(第一篇:創建)

IntentService擴展了Service,一個自帶工作線程、自帶運行完退出的Service,下面看看它是怎麼實現的?   0、無參 public IntentService(String name) { s

原创 Java之LinkedList源碼分析(第二篇:創建對象)

創建LinkedList對象,從構造方法開始,接下來就分析這兩個構造方法   0、無參 public LinkedList() { } 默認的構造方法,是我們最常用的,它只是new了一個對象   1、一個參數,接受一個

原创 Java之LinkedList源碼分析(第一篇:初步瞭解)

LinkedList實現了List接口、又實現了Deque接口,而Deque又繼承了Queue接口,所以LinkedList添加元素、刪除元素的方法有很多……這也是稱LinkedList爲全能線性表的原因!!LinkedList底層採用雙

原创 Android之UI Automator框架源碼分析(第三篇:UiDevice對象的創建)

(注意:本文基於UI Automator測試框架版本爲2.2.0) UiDevice介紹 UiDevice對象代表Android設備(手機、電視、手錶、車載設備等等……),它的構造方法則由default修飾,我們無法通過它的構造方法創建U

原创 Java併發之CountDownLatch的基本使用

舉例 3個線程參與,1個主線程、2個工作線程,主線程會等待兩個工作線程完成任務後,主線程纔會得到執行 package com.wp.blockthread; import java.util.Date; import java.uti

原创 Java之LinkedList源碼分析(第七篇:刪除元素-Deque接口)

(注意:本文基於JDK1.8,不含迭代器、清除所有元素的刪除方法)   Deque接口定義了雙端隊列具備的能力,截圖爲Deque接口中定義的移除方法,接下來就分析一下   0、 無參數的remove方法 public E r

原创 Android之UI Automator框架源碼分析(第二篇:創建UI Automator項目)

構建UI Automator測試框架的兩種方案 第一、測試代碼內置在現有商業App工程裏的androidTest目錄下,比如微信項目的androidTest目錄下一定會有UI Automator的代碼 第二、單獨創建一個App工程,將測試

原创 Java之LinkedList源碼分析(第X篇:總結)

0、LinkedList實現了List接口、Deque接口,既可以做普通的線性表、又可以做棧、隊列的超級容器 1、LinkedList的底層數據結構是雙向鏈表,插入與刪除元素的效率很高,時間複雜度是O(1) 2、LinkedList查找元

原创 Android之UI Automator框架源碼分析(第一篇:簡要介紹與學習計劃)

什麼是Uiautomator? Uiautomator的正式名稱是UI Automator(官網),我總喜歡將名稱連起來寫,Uiautomator就算作該測試框架的簡稱,它是Google提供的界面自動化功能測試框架,官方爲該測試框架給出的

原创 Java之HashMap源碼分析(第十一篇:總結)

0、實現了Map接口,非線程安全類 1、key與value都允許爲null 2、元素是完全無序的 3、底層存儲使用的是數組,每一個元素在數組的位置(下標)在哈希表中稱爲桶(tong),比如哈希表的容量是10,那麼就說是有10個桶(英文:b

原创 Java之ArrayList源碼分析(第八篇:內部類-ListItr)

(注意:本文基於JDK1.8)  ArrayList中重寫了基類AbstractList的兩個listIterator方法,這兩個方法的返回值都是ListItr對象,ListItr類是作爲增強型的迭代器而設計的,接下來就一探究竟!  

原创 Java之集合框架源碼分析(第一篇:Collection接口)

(本文基於JDK1.8) Collection.java定義在java.util包中 Collection接口定義與規範了作爲一個集合類應該具備哪些基本能力(功能),Java集合框架的名稱由來就跟Collection接口有關! Colle

原创 Java之ArrayList源碼分析(第七篇:四個內部類的基本介紹)

(注意:本文源碼基於JDK1.8) ArrayList內部中定義了四個內部類,那麼這些內部類各自的用途是什麼呢?本文將得到答案!   內部類ArrayListSpliterator static final class Arr