原创 【Java源碼分析】HashMap源碼分析

類的定義 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {} 屬於AbstractMa

原创 【Java源碼分析】Android-LruCache源碼分析

內部實現是LinkedHashMap,保持有限數量的值得強引用,值被訪問之後就被移動到隊列的首部。當隊列滿了之後,尾部的值會被移除以便於GC回收 類的定義 public class LruCache<K, V> {} 如果被緩

原创 【Java源碼分析】Android-SparseArray源碼分析

類的定義 public class SparseArray<E> implements Cloneable {} 將int映射爲對象,比HashMap更節省內存。一方面是避免了對key的自動裝箱;另外一個方面是它的鍵值對不依賴於外部

原创 【網絡】HTTP2.0新特性

前段時間實習生面試的時候被問到HTTP2.0以及和HTTP1.1的區別,貌似網上對這一塊的講解很少,而且大多數就是空洞的理論堆砌,看也看不懂。不過花點時間慢慢找還是可以找到很不錯的資料的。整理如下,希望對其他的應屆生求職有幫助 HTT

原创 【網絡】TCP基礎總結

OSI以及分層模型 OSI分層 (7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。 TCP/IP分層(4層):網絡接口層、 網際層、運輸層、 應用層。 五層協議(5層):物理層、數據鏈路層、網絡層、運輸層、 應用層

原创 【Java基礎】多線程

線程及與進程的區別 線程也被稱爲是輕量級的進程,是程序執行的最小單元。有四種狀態:運行,就緒,掛起和結束。一個進程擁有多個線程,這些線程共享進程的一些資源如打開的文件,代碼段,數據段和堆空間。 使用線程的優點在於: 1. 更好的交互

原创 【Java基礎】容器

Java Collections框架 該框架包含了集合接口以及這些接口的實現類,還有操作這些接口的算法或者工具類。其中List Set Queue Stack和Map都繼承自Collection接口,Collection是整個集合框架的基

原创 【Java基礎】字符串與數組

字符串創建於存儲機制 字符串的聲明和初始化的兩種情形: 1. str1 = “abc”; str2 = “abc”;在JVM中存在着一個常量池,其中保存着很多的String對象,並且這些對象可以共享。因此此處的str1和str2是引用同

原创 【Java基礎】基本類型與運算

Java的8種基本數據類型 8種基本數據類型:byte short int long float double char boolean,基本數據類型不是對象,此類變量在被聲明的時候會在棧上分配空間。其實還有第九種基本數據類型void,但