以下针对 Android API 26 版本的源码进行分析。
在了解LruCache
之前,最好对LinkedHashMap
有初步的了解,LruCache
的实现主要借助LinkedHashMap
。LinkedHashMap
的源码解析,可阅读Java——LinkedHashMap源码解析
more >>
Stay Hungry, Stay Foolish.
以下针对 Android API 26 版本的源码进行分析。
在了解LruCache
之前,最好对LinkedHashMap
有初步的了解,LruCache
的实现主要借助LinkedHashMap
。LinkedHashMap
的源码解析,可阅读Java——LinkedHashMap源码解析
more >>
以下针对JDK 1.8版本中的LinkedHashMap进行分析。
对于HashMap
的源码解析,可阅读Java——HashMap源码解析
哈希表和链表基于Map
接口的实现,其具有可预测的迭代顺序。此实现与HashMap
的不同之处在于它维护了一个包括所有条目(Entry)的双向链表。相比于无序的HashMap
,LinkedHashMap
迭代顺序支持按插入条目顺序或者按访问条目顺序,默认迭代顺序为按插入顺序。对于相同 key 的重复插入,其不会改变插入顺序。
more >>
以下针对JDK 1.8版本中的ArrayList进行分析。
ArrayList
基于List
接口实现的大小可变的数组。其实现了所有可选的List
操作,并且元素允许为任意类型,包括null
元素。除了实现List
接口,此类还提供了操作内部用于存储列表数组大小的方法(这个类除了没有实现同步外,功能基本与Vector
一致)。
more >>
以下针对JDK 1.8版本中的HashMap进行分析。
哈希表基于Map
接口的实现。此实现提供了所有可选的映射操作,并且允许键为null
,值也为null
。HashMap 除了不支持同步操作以及支持null
的键值外,其功能大致等同于 Hashtable。这个类不保证元素的顺序,并且也不保证随着时间的推移,元素的顺序不会改变。
more >>
建造者模式也称为生成器模式,是一种对象创建型模式,它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。
more >>
单例模式保证对于每一个类加载器,一个类仅有一个实例并且提供全局的访问。其是一种对象创建型模式。对于单例模式主要适用以下几个场景: more >>
如果将域定义为 static,每个类中只有一个这样的域。而每一个对象对于所有的实例域却都有自己的一份拷贝。例如,假定需要给每一个雇员赋予唯一的标识码,这里给 Employee 类添加一个实例域 id 和一个静态域 nextId:
more >>
本篇文章翻译自Reduce APK Size
用户通常不会去下载体积过大的应用程序,特别是当自己的设备连接的是 2G/3G 或者按字节付费的网络。这篇文章描述了如何缩减 APK 的体积大小,以使得更多用户愿意下载你开发的应用。
more >>
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true