Java泛型
- 泛型的作用与定义
- 通配符与嵌套
- 泛型上下边界
- RxJava中泛型的使用分析
注解
自定义注解:
- 自定义注解与元注解
- 注解参数与默认值
注解的使用: - APT,编译时注解处理器
- 插桩,编译后处理筛选
- 反射,运行时动态获取注解信息
Retrofit中的注解
并发编程
线程共享和协作:
- CPU核心数,线程数,时间片轮转机制解读
- syncroized、Lock、volatile、ThreadLocal如何实现线程共享
- Wait,Notify/NotifyAll, Join方法如何实现线程间协作
站在巨人肩上操作CAS: - CAS的原理
- CAS带来的ABA问题:原子操作类的正确使用实战
仅会用线程池是不够的: - Callbale、Future和FutureTask源码解读
- 线程池底层实现分析
- 线程池排除机制
- 手写线程池实战
- Executor框架解读实战
数据传输与序列化
- Serializable原理
- Parcelable接口原理解析
- Json
Java虚拟机
垃圾回收器机制:
- 对象存活及强、弱等各种引用辨析
- 快速解读GC算法之标记-清除、复制及标记-整理算法
- 正确姿势解读GC日志
内存分配策略: - JVM栈桢及方法调用详解
- JMM,Java Memory Model
Dalvik虚拟机
反射与类加载
反射基本概念与Class:
- 三种获取Class对象的方式
- 获取构造器实例化对象与属性信息
- 包信息和方法
- Hook技术动态编程
ClassLoader烦劳加载器: - 动态代理模式
- Android Dalvid与ART
- PathClassLoader、DexClassader与BootClassLoader
- 双亲委托机制
高效IO
Java IO体系:
- 装饰者模式
- InputStream与OutputStream
- Reader与Writer
File文件操作: - FileChannel
- 内存映射
IO操作Dex加密