Android

LruCache

LruCache的介绍

DiskLruCache分析

DiskLruCache源码分析

Volley

一起写一个最简单的volley框架

并发和多线程

AsyncTask系列

把AsyncTask原理说明白

把Callable和Future说明白

Handler系列

把Handler原理说明白

把 ThreadLocal 原理说明白

把HandlerThread原理说明白

线程系列

线程同步

线程池

开源框架

Glide

Glide 缓存

OkHttp

Retrofit

性能优化

Android性能优化第一季

Android性能优化第2季

Android性能优化第3季

Android中常见的内存泄漏

HttpClient的使用

URLConnection参数详解

架构

1.DataBinding

2.LifeCycle

3.MVVM

4.onSaveInstanceState()和onRestoreInstanceState()使用详解

5.ViewModel

6.LiveData

APT

ARouter

系统

binder

1.Binder系统核心

2.Binder小笔记

3.Android framework getservice

4.Android framework 调用服务

5.bindService

启动

Android系统启动流程

Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念?

系统启动问题

应用进程创建流程

Activity启动

冷启动和热启动

Window

Window的创建

setContentView

setContentView2

onResume

LayoutInflate

APP与WindowManagerService通信

View

View measure

View layout

View invalidate

ViewStub

View事件派发

Android中慎用View#getViewTreeObserver#addOnGlobalLayoutListener来获取view的高度

RecyclerView绘制流程1

RecyclerView绘制流程2

RecyclerView的回收复用缓存机制

RxJava

Rxjava2源码分析

Java

Java字符集

匿名内部类

泛型总结

JVM

JVM是什么

JVM的内存结构

垃圾回收准备及四种引用

垃圾回收算法

分代垃圾回收机制

垃圾回收器

直接内存

Java内存模型

源码

ArrayList

HashMap

DesignPatterns

动态代理

Flutter

Flutter打包版本

Flutter的pubspec.yaml中的依赖版本号之前的插入号(^)是什么?

ChangeNotifier的使用

TextEditingController说明

InheritedWidget

Provider源码分析 基于Provider3.1.0

Git

1.Git

2.Git Tag

3.管理分支

4.解读Git的工作原理与各种系统文件

5.Git提交记录的访问方法

6.1.Git索引

6.2.Git常用命令

7.Git patch

8.Cherry pick

9.Git ORIG_HEAD作用介绍

10.忽略某些文件

11.git rebase

12.git stash

Gradle系列

1.Gradle入门

2.Groovy基础

3.Task

4.Project

5.Extension详解

6.NamedDomainObjectContainer详解

7.Gradle构建生命周期

8.Gradle 源码分析

9.Gradle插件

10.Java Gradle插件

11.Android Gradle插件

HTTP

重定向和转发区别

加密和编码

Base64

UrlEncode

HTTPS

SSL / TLS 握手协商的过程

为什么https:www.baidu.com 可以直接HttpUrlConnection访问

HTTPS验证

Keytool简介

Openssl简介

Openssl简介2

Android OkHttp报错

CGI介绍

Kotlin

1.backing field

2.Kotlin 双冒号 :: 使用.md

3.flatMap.md

4.协程

Netty

1.Netty是什么

2.Netty应用场景

3.深入剖析Linux IO原理和几种零拷贝机制的实现

4.IO的旅程

5.BIO介绍

6.NIO介绍

7.FileChannel

7.NIO Buffer

7.NIO三大组件关系

8.Selector

9.SelectionKey

10.NIO实现客户端和服务器

11.NIO实现简单群聊Demo

12.零拷贝原理

13.MappedByteBuffer

14.DirectBuffer

14.transferTo和transferFrom

15.Java clone和深拷贝浅拷贝

16.Netty及其线程模型

17.1.ChannelPipeline

17.2.ChannelHandler

17.3.ChannelHandlerContext

17.4.ChannelHandlerContext、ChannelHandler pipeline 之间的关系

17.5.Channel注册流程

17.6.inEventLoop说明

17.7.sync解惑

17.8.Netty的异步模型

17.9.ChannelPromise 和 ChannelFuture

17.Channel

17.任务队列

18.ChannelOptions和常量池

19.0.ByteBuf

19.1.ByteBuf2

19.2.Unpooled

19.3.CompositeBuffer

19.4.ByteBuf与ByteBuffer对比

22.1.ChannelInboundHandler

22.1.SimpleChannelInboundHandler 和 ChannelInboundHandlerAdapter

22.2.ReferenceCounted

22.3.writeAndFlush

22.编解码器

23.ReplyingDecoder

24.心跳

25.粘包和拆包

26.同时作为服务器和客户端

数据结构

二叉树

红黑树

Mac

环境变量

其他

Android process 和 taskAffinity.md

Metadata说明.md

markdown常用语法.md

versionName和versionCode.md

查看处理器架构命令.md

English

1.单词学习方法及资源