原创 對於佈局使用weight時,height設置確定值時View的高的確定?

參考https://www.2cto.com/kf/201607/522371.html 是子控件的寬高最終究竟怎麼樣被確定? 你還記得我們之前自作聰明的根據測試結果進行推斷計算公式嗎?實際上子控件的寬高最終的決定方式很簡單: 1、那些

原创 Android事件分發機制(責任鏈模式)

摘自《Android開發藝術探索》P141-142頁 view監聽事件的優先級:onTouchListener中的onTouch>onTouchEvent>onClickListener 如果setOnTouchListener中的onT

原创 雙向鏈表的插入及刪除圖解

轉載;https://blog.csdn.net/u013271921/article/details/45540749 雙向鏈表的插入 第一步:首先找到插入位置,節點 s 將插入到節點 p 之前  第二步:將節點 s 的前驅指向節點

原创 invalidate()和requestLayout()方法的區別

原文:https://blog.csdn.net/ddwhan0123/article/details/50601782  * invalidate() :* 請求重繪View樹,即draw()過程。把例子中他是整個刷新着UI,並且從頭到

原创 經典面試題24 - 如何設計實現LRU緩存

https://www.jianshu.com/p/62e829c37adf 問題 如何設計實現LRU緩存?且Set() 和 Get() 的複雜度爲O(1)。 解答 LRU,全稱Least Recently Used,最近最少使用緩存。

原创 Arraylist和Linkedlist的區別?

大致區別: 1.ArrayList是實現了基於動態數組的數據結構,LinkedList是基於鏈表結構。 2.對於隨機訪問的get和set方法,ArrayList要優於LinkedList,因爲LinkedList要移動指針。 3.對於新增

原创 數據庫學習

數據庫的事務是什麼? https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%8B%E5%8A%A1/9744607?fr=aladdin 參考:https://blo

原创 ReentrantLock的探究

鎖及鎖粒度的詳細比喻: 參考:https://www.cnblogs.com/nancymake/p/6252536.html 今天看到一篇文章,很詳細的描述了鎖和鎖粒度的概念,如下: 爲什麼要加鎖?加鎖是爲了防止不同的線程訪問同一共享資

原创 hashcode()和equals()的作用、區別、聯繫

轉:https://www.cnblogs.com/keyi/p/7119825.html 介紹一、  hashCode()方法和equal()方法的作用其實一樣,在Java裏都是用來對比兩個對象是否相等一致,那麼equal()既然已經能

原创 線程間通信

JAVA多線程之線程間的通信方式 參考: 1.同步.(共享變量) 2.wait/notify機制。 3.管道 管道通信就是使用java.io.PipedInputStream 和 java.io.PipedOutputStream進行通信

原创 hashmap線程同步的方案?

參考:https://blog.csdn.net/qq_33275597/article/details/79692056 import java.util.Collections; import java.util.HashMap;

原创 預約電影票併發。

  有兩種情況。(美團實踐) 1.兩個用戶雖然都可以選,但是一個用戶提前提交訂單了,開始倒計時。要是過了這個時間座位可選。(雖然還沒有買)其他選同一個票的用戶就不能預約成功了,後臺返回狀態,app界面顯示預約失敗。 2.雖然票沒有被買,但

原创 eclipse自動提示功能的配置

https://www.cnblogs.com/achengmu/p/8052156.html  

原创 序列化--Serializable與Parcelable

轉:https://blog.csdn.net/yulyu/article/details/56481665 前言: 序列化:就是將對象的狀態信息轉換爲可以存儲或傳輸的形式的過程 在我們平時開發中.我們用到序列化最多的地方就是通過inte

原创 Android源碼學習筆記:Context、ActivityThread和Activity的生命週期

原文鏈接:https://blog.csdn.net/tianyl_melodie/article/details/53424116 總結: ①在應用啓動的時候,首先會創建一個進程process,然後創建ActivityThread這個對