随着工作时间的增长,越发觉得自己的知识不够系统和全面,因此为了方便读者阅读以及从点到面来逐步建立并完善自己的知识体系:
1、Java 进阶
Java 基础 - String、StringBuilder、StringBuffer
Java 基础 - 关于 equals()、hashcode() 重写
Java 反射
Java 泛型
2、其他
ViewPager + Fragment 懒加载
Android targetSdkVersion 升级至 26 指南
暴力突破 Java 并发(一)- volatile 原理解析
暴力突破 Java 并发(二)- synchronize 解析
暴力突破 Java 并发(三)- Lock 显示锁解析
暴力突破 Java 并发(四)- CAS 解析
暴力突破 Java 并发(五)- 线程间的协作(wait、notify、notifyAll、yield、join)
暴力突破 Java 并发(六)- 线程池
暴力突破 Java 并发(七)- ThreadLocal 原理解析
暴力突破 Android 消息机制(一)Handler 解析
暴力突破 Android 消息机制(二)postDelay、IdleHandle
Android HandlerThread 解析
Android AsyncTask 重难点解析
Android RxJava2 源码解析
Android RxJava2 背压详解
Java 集合 - ArrayList 解析
Java 集合 - LinkedList 解析
Java 集合 - CopyOnWriteList 解析
Java 集合 - HashMap 解析
Java 集合 - LinkedHashMap 解析
Java 集合 - ConcurrentHashMap 解析
Java 集合 - HashTable 解析
Android 面试中会问到的网络基础
Android OkHttp 源码解析 - 整体流程分析
Android OkHttp 源码解析 - 拦截器
Android Retrofit 源码解析
Android 断点续传解析
Android Charles 抓包详解
Android 手把手进阶自定义View(一)- 基础绘制
Android 手把手进阶自定义View(二)- 文字
Android 手把手进阶自定义View(三)- 属性动画
Android 手把手进阶自定义View(四)- 三维变换
Android 手把手进阶自定义View(五)- MaterialEditText
Android 手把手进阶自定义View(六)- measure 测量过程解析
Android 手把手进阶自定义View(七)- layout 布局过程解析
Android 手把手进阶自定义View(八)- draw 绘制过程解析
Android 手把手进阶自定义View(九)- 自动换行 ViewGroup
Android 手把手进阶自定义View(十)- 事件分发机制解析
Android 手把手进阶自定义View(十一)- 手势检测 GestureDetector
Android 手把手进阶自定义View(十二)- 缩放手势检测 ScaleGestureDetector
Android 手把手进阶自定义View(十三)- 滚动速度 VelocityTracker 及滚动计算 Scroller、OverScroller
Android 手把手进阶自定义View(十四)- ScalableImageView
Android 手把手进阶自定义View(十五)- 多指触摸
Android 手把手进阶自定义View(十六)- 滑动冲突
Android 手把手进阶自定义View(十七)- 自定义 ViewPager
Android ListView 重难点解析
Android RecyclerView 重难点解析
Android RemoteViews 解析
Android Activity 重难点解析
Android Service 重难点解析
Android ContentProvider 重难点解析
Android Window 和 WindowManager 解析
Android ViewRootImpl 解析
Android 中 Activity 的 onCreate 方法里面子线程为何能设置 UI 界面
Android LruCache 缓存机制解析
Android Bitmap 的高效加载解析
Android Glide 源码解析
1、EventBus
暴力突破 Gradle 自动化项目构建(一)- 入门以及 Groovy 环境搭建
暴力突破 Gradle 自动化项目构建(二)- Groovy 核心语法
暴力突破 Gradle 自动化项目构建(三)- Groovy 高级用法
暴力突破 Gradle 自动化项目构建(四)- Gradle 核心之生命周期
暴力突破 Gradle 自动化项目构建(五)- Gradle 核心之 Project
暴力突破 Gradle 自动化项目构建(六)- Gradle 核心之 Task
暴力突破 Gradle 自动化项目构建(七)- 其他模块及自定义 Gradle 插件
暴力突破 Gradle 自动化项目构建(八)- Android 对 Gradle 的扩展:Variants、Transform
暴力突破 Gradle 自动化项目构建(九)- Android Jenkins 持续集成
暴力突破 Android 编译插桩(一)- 入门
暴力突破 Android 编译插桩(二)- APT 之注解知识
暴力突破 Android 编译插桩(三)- APT 之注解处理器
暴力突破 Android 编译插桩(四)- APT 之 JavaPoet 使用
暴力突破 Android 编译插桩(五)- APT 之 Butterknife 源码解析
暴力突破 Android 编译插桩(六)- APT 实战分析
暴力突破 Android 编译插桩(七)- AspectJ 使用
暴力突破 Android 编译插桩(八)- class 字节码
暴力突破 Android 编译插桩(九)- ASM 使用
Android Binder 原理解析
Android IPC 方式之 AIDL 使用与解析
Android IPC 方式之 Messenger
Android 序列化之 Serializable 和 Parcelable
Android APK 打包流程
Android 系统启动流程
Android 应用启动流程
Android Activity 启动流程
1、架构(MVC、MVP、MVVM)
Android MVC 架构详解
Android MVP 架构详解
Android MVVM 架构详解
2、设计模式
创建型模式
Android设计模式(一)单例模式详解
Android设计模式(二)Builder模式
Android设计模式(三)简单工厂模式梳理
Android设计模式(四)工厂方法模式梳理
Android设计模式(五)抽象工厂模式梳理
Android设计模式(六)原型模式
行为型模式
Android设计模式(七)策略模式
Android设计模式(八)状态模式
Android设计模式(九)责任链模式
Android设计模式(十)观察者模式
Android设计模式(十一)模板方法模式
Android设计模式(十二)迭代器模式
Android设计模式(十三)备忘录模式
Android设计模式(十四)访问者模式
Android设计模式(十五)中介者模式
Android设计模式(十六)解释器模式
Android设计模式(十七)命令模式
结构型模式:
Android设计模式(十八)代理模式
Android设计模式(十九)组合模式
Android设计模式(二十)适配器模式
Android设计模式(二十一)装饰者模式
Android设计模式(二十二)享元模式
Android设计模式(二十三)外观模式
Android设计模式(二十四)桥接模式
3、常用算法
排序算法(一)冒泡排序
排序算法(二)插入排序
排序算法(三)希尔排序
排序算法(四)简单选择排序
排序算法(五)快速排序
1、JVM
Java 虚拟机 - 运行时内存区域
Java 虚拟机 - 垃圾回收知识梳理
类加载机制(一)Java 中的 ClassLoader
类加载机制(二)Android 中的 ClassLoader
类加载机制(三)MultiDex 原理
2、热修复
[转]Android热修复技术原理详解(最新最全版本)
[转]Android学习——手把手教你实现Android热修复
[转]Android热修复——深入剖析AndFix热修复及自己动手实现
[转]面试官:请你谈谈Java的类加载过程
3、插件化
1、Android 启动优化
Android TraceView 使用
Android Systrace 使用
2、Android 内存优化
Android 内存泄漏场景梳理
Android Memory Profiler、CPU Profiler、MAT 解决内存问题实战
Android LeakCanary 使用及源码解析
3、Android 布局优化
4、Android 安装包瘦身
1、Kotlin
1、Flutter
Flutter 系列之 JSON 解析