下面是我之前写的博客的总结也是我目前的技术栈,包括了几个大方向
我的掘金地址
数据结构和算法–数组
数据结构与算法–链表
数据结构和算法–栈
数据结构和算法–队列
数据结构和算法–递归
数据结构和算法–排序(上)
数据结构与算法–排序(中)
数据结构与算法–排序(下)
数据结构和算法–二分查找
数据结构与算法–跳表
数据结构与算法–散列表
数据结构与算法–跳表
数据结构与算法–如何实现LRU缓存淘汰算法
数据结构和算法–哈希算法
数据结构与算法–二叉树基础(上)
数据结构和算法–二叉树基础(下)二叉查找树
数据结构与算法–平衡二叉查找树(红黑树)
数据结构和算法–堆和堆排序
计算机网络概述
计算机网络–传输层
计算机网络–网络层
计算机网络–应用层
设计模式 观察者模式
设计模式抽象工厂模式
设计模式工厂方法模式
设计模式 Build 模式
设计模式 单例模式
面向对象六大原则
java 集合详解
Java 深入理解枚举
Java 反射机制详解
Java 多线程系列(一):多线程概述
Java多线程系列(二):并发同步
Java 多线程系列(三):线程池
Java 网络编程
Java 注解
Android 如何在onCreate中拿到View的宽度和高度
Android Parcelable和Serializable
Android 理解startActivityForResult
Android中的ClassLoader 和 热修复
Android ContentProvider详解
Android Sqlite数据库详解
Android Fragment 详解
Android OkHttp3 基本使用
Android adb详解
Android 6.0 运行时权限
Android 广播
Android Activity启动模式和栈管理
Android Service详解
Android 屏幕设配
Android Bitmap优化
Android 动画详解
Android Camera详解
Android View系列(一):View的基础知识
Android View系列(二):事件分发机制源码解析
Android View系列(三):View的绘制流程
Android IPC系列(一):AIDL使用详解
Android IPC系列(二):AIDL源码分析
Android IPC系列(三):Binder概述
Android 系统启动流程
Android App的启动流程
Android Service 启动流程
Android 广播启动流程
Android ContentProvider启动流程
Android APK资源加载流程
Android 理解Window和WindowManager
Android Handler 源码解析
Android 热修复原理解析
Android 热修复原理实战
Android 插件化原理及实践
Android OkHttp源码解析
Android APT 实践 实现Butterknife
Android 架构:MVP实践
Android 性能优化系列(一):内存优化
Android LeakCanary的使用和原理
Android Studio3.0 Memory Profiler检测内存泄露
Groovy 入门
Gradle 入门
Gradle简述
Gradle 插件
Gradle 构建脚本基础
JVM的内存区域和垃圾回收机制
JVM 类加载机制
Android 中的ClassLoader
Android JNI和NDK学习(基础篇):C语言基础
Android JNI和NDK学习(基础篇):C++语言基础
Android JNI和NDK学习(一):NDK学习
Android JNI和NDK学习(二):JNIEnv 和 JavaVM
Android JNI和NDK学习(三):动态注册
Android JNI和NDK学习(四):JNI调用Java方法和变量
Android JNI和NDK学习(五):JNI调用数组
Android 音视频学习:MediaExtractor和MediaMuxer学习
Android 音视频学习:MediaCodec录制MP4文件