更新目录:
JVM篇:
(1) JVM篇 - JVM原理
(2) JVM篇 - GC给你整明白
Java篇:
(1) Java篇 - 从内到外剖析String类以及使用String时的性能优化
(4) Java篇 - 锁机制与应用场景全集1 (synchronized, volatile)
(5) Java篇 - 锁机制与应用场景全集2 (Lock, ThreadLocal, Atmoic, Semaphore)
(6) Java篇 - 锁机制与应用场景全集3 (阻塞队列, 死锁, CountdownLatch, CyclicBarrier)
(7) Java篇 - 并发容器之Hashtable源码分析
(8) Java篇 - 并发容器之Vector源码分析和注意事项
(9) Java篇 - 并发容器之ConcurrentHashMap为何如此优秀? (基于JDK1.8)
(10) Java篇 - 并发容器之CopyOnWriteArrayList的偷天换日
(11) Java篇 - hashCode和equals姐妹花
(13) Java篇 - 聊聊cloneable
(14) Java篇 - 聊聊Serializable (常见问题集锦)
(16) Java篇 - TreeMap源码分析
(17) Java篇 - Arrays的使用和实现
(18) Java篇 - Collections的使用和实现
(19) Java篇 - Java8中Optional和StringJoiner的使用与实现
(21) Java篇 - 泛型的真谛
(22) Java篇 - 深入了解注解
(24) Java篇 - 四种引用(Reference)实战
(25) Java篇 - WeakHashMap的弱键回收机制
(27) Java篇 - 最全BigInteger和BigDecimal实战
(28) Java篇 - 让你不再害怕正则表达式
网络篇:
(1) 网络篇 - 网络基础知识
(4) 网络篇 - tcp的握手和挥手
加解密篇:
(1) 加解密篇 - 编码传输算法base64和比特币地址生成算法base58
(2) 加解密篇 - 消息摘要算法的分类、原理和应用场景 (MD、SHA、MAC、CRC)
(3) 加解密篇 - 对称加密算法 (DES、3DES、AES、RC)
(4) 加解密篇 - 非对称加密算法 (RSA、DSA、ECC、DH)
(5) 加解密篇 - 什么是加密加盐 (分析web3j的加盐处理)
设计模式篇:
分享篇:
(1) 分享篇 - APP 启动任务调度器 LaunchTaskExecutor
(2) 分享篇 - 区块链在移动端的应用
(3) 分享篇 - DeepFake 换脸技术在移动端的应用
(4) 分享篇 - Android 如何使用其他 APP 的 App ID 做微信分享
(5) 分享篇 - RxJava wiki 官方文档 (中文易懂,精简整理)
(6) 分享篇 - Qigsaw (基于 Android App Bundle 动态化⽅案探索) 插件源码分析
(7) 分享篇 - Qigsaw (基于 Android App Bundle 动态化⽅案探索) native 实现分析
(9) 分享篇 - 58同城基于Android APP Bundle开发的全新编译模式(编译速度提升70%)
(10) 分享篇 - 基于 Android 图解 ReactNative 原理
(11) Qigsaw 框架原理解析-如何在国内使用 Android App Bundle 的动态交付功能
(12) 任意门 | 基于 Wafers 的版本业务静默更新能力
(13) 58同城 Android 客户端新工程能力宣讲(Android APP Bundle、线上AB测、网络库)
(14) Mocha: 58同城 App 基于卡片的线上 AB 测(线上卡片动态换)
(15) 【VirtualAPP 双开系列01】巧妙的反射框架
(17) 【VirtualAPP 双开系列03】动态代理-hook系统服务(Java层)
(18) 【VirtualAPP 双开系列04】VirtualAPP 可扩展 AIDL 分析
(19) 【VirtualAPP 双开系列05】安装卸载 APP 过程
(20) 【VirtualAPP 双开系列06】启动加载第三方 APP 过程
(21) 【VirtualAPP 双开系列07】第三方 APP Service、Provider 加载分析
(22)【VirtualAPP 双开系列08】如何实现多开 - UID
(23)【VirtualAPP 双开系列09】Native Hook 管理多 APP data 目录
(24)【Qigsaw系列01】Qigsaw编译插件做了哪些事
(25)【Qigsaw系列02】Qigsaw如何安装、更新插件
(28) 58同城 Android Qigsaw升级-v1.4.1多ABI构建
(29) 端侧 AI 介绍
(30) 端侧AI-58同城Android部落帖子重排实现
NDK篇:
Framework篇:
(1) Framework篇 - Android 系统介绍和架构一览
(2) Framework篇 - Android 为何选择 Binder 以及 Binder 的实现原理
(3) Framework篇 - init.rc 与 ServiceManager 的启动和获取
(4) Framework篇 - ServiceManager 注册和获取服务
(6) Framework篇 - 彻底理解 Binder 通信架构
(9) Framework篇 - Handler framework 源码分析
(10) Framework篇 - 为什么主线程不会因为 Looper.loop() 里的死循环卡死
(11) Framework篇 - Android 开机动画分析
(14) Framework篇 - SystemServer 进程详解
(16) Framework篇 - framework 层的 crash 处理流程
(18) Framework篇 - 杀进程和 forceStop 分析
(19) Framework篇 - 四大组件与进程启动的关系
(21) Framework篇 - startActivity 启动过程
(22) Framework篇 - startService 启动过程
(23) Framework篇 - Application 的创建过程分析
(24) Framework篇 - 一文搞懂 Activity、View、Window、ViewRootImpl
(25) Framework篇 - 从 WindowManageService 的角度来分析 Activity 的窗口
(27) Framework篇 - InputManagerSerice 分析整理
(28) Framework篇 - PackageManagerService 启动分析
(30) Framework篇 - Dalvik VM、ART VM 和 JVM 的比较
Android应用篇:
(1) Android应用篇 - 从不同场景来理解 View 的绘制流程
(2) Android应用篇 - 从源码角度来理解 View 的绘制流程
(3) Android应用篇 - 从源码角度来理解 View 的事件机制
(4) Android应用篇 - ListView 设计分析
(5) Android应用篇 - RecyclerView 设计分析
(6) Android应用篇 - WebView 与 JS 全解与实战
(10) Android应用篇 - UI 层级、过度绘制分析
(11) Android应用篇 - Animation 和 Animator 原理
(14) Android应用篇 - 观察者、EventBus、本地广播的区别
(15) Android应用篇 - 利用 APT 实现 Android 编译时注解
(16) Android应用篇 - MVC、MVP 和 MVVM
(18) Android应用篇 - app 签名与加固原理分析
(19) Android应用篇 - UI 适配全集
(20) Android应用篇 - Fragment 的介绍、回退栈和优化
(21) Android应用篇 - 6.0 到 9.0 的版本适配
跨平台技术篇:
(1) 跨平台技术篇 - React Native 环境搭建与运行的坑
(2) 跨平台技术篇 - React Native 从入门到放弃
(5) 跨平台技术篇 - 尝试编写一个 Flutter app
(9) 跨平台技术篇 - Flutter 设备和 SDK API
(11) 跨平台技术篇 - 使用 Flutter 与原生技术混合开发示例
(12) 58同城 Android 客户端升级 ReactNative 到 0.64.x 调研
(13) WubaRN hermes调研-基于混合工程的改造方案
(14) RN-UI随机异常引出的跨端框架问题排错成本
插件化篇:
(1) 插件化篇 - 插件化框架对比
(2) 插件化篇 - 热修复原理分析
(3) 插件化篇 - 插件化技术实现原理
音视频篇:
(5) 音视频篇 - 音视频基础概念
(6) 音视频篇 - 移动端环境搭建
数据结构与算法篇:
目录待定