Archives

2020

0 Java核心技术-目录

2020/01/15 posted in  Java核心技术

0 Android进阶解密-目录

2020/01/14 posted in  Android进阶解密

0 Android进阶之光-目录

2020/01/14 posted in  Android进阶之光

14 JNI和NDK编程

2020/01/14 posted in  Android开发艺术探索

13 综合技术

2020/01/14 posted in  Android开发艺术探索

05 理解RemoteViews

2020/01/14 posted in  Android开发艺术探索

0 Android开发艺术探索-目录

2020/01/14 posted in  Android开发艺术探索

2019

37 尾声 | 道阻且长,努力加餐

2019/12/14 posted in  极客-深入拆解Java虚拟机

36 | SubstrateVM:AOT编译框架

2019/12/14 posted in  极客-深入拆解Java虚拟机

35 | Truffle:语言实现框架

2019/12/14 posted in  极客-深入拆解Java虚拟机

34 | Graal:用Java编译Java

2019/12/14 posted in  极客-深入拆解Java虚拟机

33 | Java Agent与字节码注入

2019/12/14 posted in  极客-深入拆解Java虚拟机

32 | JNI的运行机制

2019/12/14 posted in  极客-深入拆解Java虚拟机

31 | Java虚拟机的监控及诊断工具(GUI篇)

2019/12/14 posted in  极客-深入拆解Java虚拟机

30 | Java虚拟机的监控及诊断工具(命令行篇)

2019/12/14 posted in  极客-深入拆解Java虚拟机

29 | 基准测试框架JMH(下)

2019/12/14 posted in  极客-深入拆解Java虚拟机

28 | 基准测试框架JMH(上)

2019/12/14 posted in  极客-深入拆解Java虚拟机

27 | 注解处理器

2019/12/14 posted in  极客-深入拆解Java虚拟机

26 | 向量化

2019/12/14 posted in  极客-深入拆解Java虚拟机

25 | 循环优化

2019/12/14 posted in  极客-深入拆解Java虚拟机

24 | 字段访问相关优化

2019/12/14 posted in  极客-深入拆解Java虚拟机

23 | 逃逸分析

2019/12/14 posted in  极客-深入拆解Java虚拟机

22 | HotSpot虚拟机的intrinsic

2019/12/14 posted in  极客-深入拆解Java虚拟机

21 | 方法内联(下)

2019/12/14 posted in  极客-深入拆解Java虚拟机

20 | 方法内联(上)

2019/12/14 posted in  极客-深入拆解Java虚拟机

19 | Java字节码(基础篇)

2019/12/14 posted in  极客-深入拆解Java虚拟机

18 | 即时编译器的中间表达形式

2019/12/14 posted in  极客-深入拆解Java虚拟机

17 | 即时编译(下)

2019/12/14 posted in  极客-深入拆解Java虚拟机

16 | 即时编译(上)

2019/12/14 posted in  极客-深入拆解Java虚拟机

15 | Java语法糖与Java编译器

2019/12/14 posted in  极客-深入拆解Java虚拟机

14 | Java虚拟机是怎么实现synchronized的?

2019/12/14 posted in  极客-深入拆解Java虚拟机

13 | Java内存模型

2019/12/14 posted in  极客-深入拆解Java虚拟机

00【工具篇】 常用工具介绍

2019/12/14 posted in  极客-深入拆解Java虚拟机

12 | 垃圾回收(下)

2019/12/14 posted in  极客-深入拆解Java虚拟机

11 | 垃圾回收(上)

2019/12/14 posted in  极客-深入拆解Java虚拟机

10 | Java对象的内存布局

2019/12/14 posted in  极客-深入拆解Java虚拟机

09 | JVM是怎么实现invokedynamic的?(下)

2019/12/14 posted in  极客-深入拆解Java虚拟机

08 | JVM是怎么实现invokedynamic的?(上)

2019/12/14 posted in  极客-深入拆解Java虚拟机

07 | JVM是如何实现反射的?

2019/12/14 posted in  极客-深入拆解Java虚拟机

06 | JVM是如何处理异常的?

2019/12/14 posted in  极客-深入拆解Java虚拟机

05 | JVM是如何执行方法调用的?(下)

2019/12/14 posted in  极客-深入拆解Java虚拟机

04 | JVM是如何执行方法调用的?(上)

2019/12/14 posted in  极客-深入拆解Java虚拟机

03 | Java虚拟机是如何加载Java类的?

2019/12/14 posted in  极客-深入拆解Java虚拟机

02 | Java的基本类型

2019/12/14 posted in  极客-深入拆解Java虚拟机

01 | Java代码是怎么运行的?

2019/12/14 posted in  极客-深入拆解Java虚拟机

00 开篇词 | 为什么我们要学习Java虚拟机?

2019/12/14 posted in  极客-深入拆解Java虚拟机

00 深入拆解Java虚拟机

2019/12/14 posted in  极客-深入拆解Java虚拟机

04 View的工作原理

2019/12/11 posted in  Android开发艺术探索

03 View的事件体系

2019/12/11 posted in  Android开发艺术探索

03 View体系与自定义View

2019/12/11 posted in  Android进阶之光

51 | 并行算法:如何利用并行处理提高算法的执行效率?

2019/12/09 posted in  极客-数据结构与算法之美

50 | 索引:如何在海量数据中快速查找某个数据?

2019/12/09 posted in  极客-数据结构与算法之美

49 | 搜索:如何用A*搜索算法实现游戏中的寻路功能?

2019/12/09 posted in  极客-数据结构与算法之美

48 | B+树:MySQL数据库索引是如何实现的?

2019/12/09 posted in  极客-数据结构与算法之美

47 | 向量空间:如何实现一个简单的音乐推荐系统?

2019/12/09 posted in  极客-数据结构与算法之美

46 | 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?

2019/12/09 posted in  极客-数据结构与算法之美

45 | 位图:如何实现网页爬虫中的URL去重功能?

2019/12/09 posted in  极客-数据结构与算法之美

44 | 最短路径:地图软件是如何计算出最优出行路径的?

2019/12/09 posted in  极客-数据结构与算法之美

43 | 拓扑排序:如何确定代码源文件的编译依赖关系?

2019/12/09 posted in  极客-数据结构与算法之美

37 | 设计模式模块热点问题答疑

2019/12/05 posted in  极客-Java并发实战

36 | 生产者-消费者模式:用流水线思想提高效率

2019/12/05 posted in  极客-Java并发实战

35 | 两阶段终止模式:如何优雅地终止线程?

2019/12/05 posted in  极客-Java并发实战

34 | Worker Thread模式:如何避免重复创建线程?

2019/12/05 posted in  极客-Java并发实战

33 | Thread-Per-Message模式:最简单实用的分工方法

2019/12/05 posted in  极客-Java并发实战

32 | Balking模式:再谈线程安全的单例模式

2019/12/05 posted in  极客-Java并发实战

31 | Guarded Suspension模式:等待唤醒机制的规范实现

2019/12/05 posted in  极客-Java并发实战

30 | 线程本地存储模式:没有共享,就没有伤害

2019/12/05 posted in  极客-Java并发实战

29 | Copy-on-Write模式:不是延时策略的COW

2019/12/05 posted in  极客-Java并发实战

28 | Immutability模式:如何利用不变性解决并发问题?

2019/12/05 posted in  极客-Java并发实战

27 | 并发工具类模块热点问题答疑

2019/12/05 posted in  极客-Java并发实战

26 | Fork/Join:单机版的MapReduce

2019/12/05 posted in  极客-Java并发实战

25 | CompletionService:如何批量执行异步任务?

2019/12/05 posted in  极客-Java并发实战

24 | CompletableFuture:异步编程没那么难

2019/12/05 posted in  极客-Java并发实战

23 | Future:如何用多线程实现最优的“烧水泡茶”程序?

2019/12/05 posted in  极客-Java并发实战

22 | Executor与线程池:如何创建正确的线程池?

2019/12/05 posted in  极客-Java并发实战

21 | 原子类:无锁工具类的典范

2019/12/05 posted in  极客-Java并发实战

20 | 并发容器:都有哪些“坑”需要我们填?

2019/12/05 posted in  极客-Java并发实战

19 | CountDownLatch和CyclicBarrier:如何让多线程步调一致?

2019/12/05 posted in  极客-Java并发实战

18 | StampedLock:有没有比读写锁更快的锁?

2019/12/05 posted in  极客-Java并发实战

17 | ReadWriteLock:如何快速实现一个完备的缓存?

2019/12/05 posted in  极客-Java并发实战

16 | Semaphore:如何快速实现一个限流器?

2019/12/05 posted in  极客-Java并发实战

15 | Lock和Condition(下):Dubbo如何用管程实现异步转同步?

2019/12/05 posted in  极客-Java并发实战

14 | Lock和Condition(上):隐藏在并发包中的管程

2019/12/05 posted in  极客-Java并发实战

13 | 理论基础模块热点问题答疑

2019/12/05 posted in  极客-Java并发实战

12 | 如何用面向对象思想写好并发程序?

2019/12/05 posted in  极客-Java并发实战

11 | Java线程(下):为什么局部变量是线程安全的?

2019/12/05 posted in  极客-Java并发实战

10 | Java线程(中):创建多少线程才是合适的?

2019/12/05 posted in  极客-Java并发实战

09 | Java线程(上):Java线程的生命周期

2019/12/05 posted in  极客-Java并发实战

08 | 管程:并发编程的万能钥匙

2019/12/05 posted in  极客-Java并发实战

07 | 安全性、活跃性以及性能问题

2019/12/05 posted in  极客-Java并发实战

06 | 用“等待-通知”机制优化循环等待

2019/12/05 posted in  极客-Java并发实战

05 | 一不小心就死锁了,怎么办?

2019/12/05 posted in  极客-Java并发实战

04 | 互斥锁(下):如何用一把锁保护多个资源?

2019/12/05 posted in  极客-Java并发实战

03 | 互斥锁(上):解决原子性问题

2019/12/05 posted in  极客-Java并发实战

02 | Java内存模型:看Java如何解决可见性和有序性问题

2019/12/05 posted in  极客-Java并发实战

01 | 可见性、原子性和有序性问题:并发编程Bug的源头

2019/12/05 posted in  极客-Java并发实战

00 学习攻略 | 如何才能学好并发编程?

2019/12/05 posted in  极客-Java并发实战

0 深入理解Java虚拟机-目录

2019/11/28 posted in  深入理解虚拟机

13 线程安全与锁优化

2019/11/28 posted in  深入理解虚拟机

12 Java内存模型与线程

2019/11/28 posted in  深入理解虚拟机

11 晚期(运行期)优化

2019/11/28 posted in  深入理解虚拟机

10 早起(编译期)优化

2019/11/28 posted in  深入理解虚拟机

09 类加载及执行子系统的案例与实战

2019/11/28 posted in  深入理解虚拟机

08 虚拟机字节码执行引擎

2019/11/28 posted in  深入理解虚拟机

07 虚拟机类加载机制

2019/11/28 posted in  深入理解虚拟机

06 类文件结构

2019/11/28 posted in  深入理解虚拟机

05 调优案例与实战

2019/11/28 posted in  深入理解虚拟机

04 虚拟机性能与故障处理工具

2019/11/28 posted in  深入理解虚拟机

03 垃圾收集器与内存分配策略

2019/11/28 posted in  深入理解虚拟机

02 Java内存区域与内存溢出异常

2019/11/28 posted in  深入理解虚拟机

01 走近Java

2019/11/28 posted in  深入理解虚拟机

42 | 动态规划实战:如何实现搜索引擎中的拼写纠错功能?

2019/11/20 posted in  极客-数据结构与算法之美

41 | 动态规划理论:一篇文章带你彻底搞懂最优子结构、无后效性和重复子问题

2019/11/20 posted in  极客-数据结构与算法之美

40 | 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

2019/11/20 posted in  极客-数据结构与算法之美

39 | 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想

2019/11/20 posted in  极客-数据结构与算法之美

38 | 分治算法:谈一谈大规模计算框架MapReduce中的分治思想

2019/11/20 posted in  极客-数据结构与算法之美

37 | 贪心算法:如何用贪心算法实现Huffman压缩编码?

2019/11/20 posted in  极客-数据结构与算法之美

36 | AC自动机:如何用多模式串匹配实现敏感词过滤功能?

2019/11/20 posted in  极客-数据结构与算法之美

35 | Trie树:如何实现搜索引擎的搜索关键词提示功能?

2019/11/20 posted in  极客-数据结构与算法之美

34 | 字符串匹配基础(下):如何借助BM算法轻松理解KMP算法?

2019/11/20 posted in  极客-数据结构与算法之美

33 | 字符串匹配基础(中):如何实现文本编辑器中的查找功能?

2019/11/20 posted in  极客-数据结构与算法之美

32 | 字符串匹配基础(上):如何借助哈希算法实现高效字符串匹配?

2019/11/20 posted in  极客-数据结构与算法之美

31 | 深度和广度优先搜索:如何找出社交网络中的三度好友关系?

2019/11/20 posted in  极客-数据结构与算法之美

30 | 图的表示:如何存储微博、微信等社交网络中的好友关系?

2019/11/20 posted in  极客-数据结构与算法之美

29 | 堆的应用:如何快速获取到Top 10最热门的搜索关键词?

2019/11/20 posted in  极客-数据结构与算法之美

28 | 堆和堆排序:为什么说堆排序没有快速排序快?

2019/11/20 posted in  极客-数据结构与算法之美

27 | 递归树:如何借助树来求解递归算法的时间复杂度?

2019/11/20 posted in  极客-数据结构与算法之美

26 | 红黑树(下):掌握这些技巧,你也可以实现一个红黑树

2019/11/20 posted in  极客-数据结构与算法之美

25 | 红黑树(上):为什么工程中都用红黑树这种二叉树?

2019/11/20 posted in  极客-数据结构与算法之美

24 | 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?

2019/11/20 posted in  极客-数据结构与算法之美

23 | 二叉树基础(上):什么样的二叉树适合用数组来存储?

2019/11/20 posted in  极客-数据结构与算法之美

22 | 哈希算法(下):哈希算法在分布式系统中有哪些应用?

2019/11/20 posted in  极客-数据结构与算法之美

21 | 哈希算法(上):如何防止数据库中的用户信息被脱库?

2019/11/20 posted in  极客-数据结构与算法之美

24 桥接模式

2019/11/01 posted in  菜鸟-设计模式

23 外观模式

2019/11/01 posted in  菜鸟-设计模式

22 享元模式

2019/11/01 posted in  菜鸟-设计模式

21 装饰模式

2019/11/01 posted in  菜鸟-设计模式

20 适配器模式

2019/11/01 posted in  菜鸟-设计模式

19 组合模式

2019/11/01 posted in  菜鸟-设计模式

18 代理模式

2019/11/01 posted in  菜鸟-设计模式

17 中介者模式

2019/11/01 posted in  菜鸟-设计模式

16 访问者模式

2019/11/01 posted in  菜鸟-设计模式

15 模板方法模式

2019/11/01 posted in  菜鸟-设计模式

14 迭代器模式

2019/11/01 posted in  菜鸟-设计模式

13 备忘录模式

2019/11/01 posted in  菜鸟-设计模式

12 观察者模式

2019/11/01 posted in  菜鸟-设计模式

11 命令模式

2019/11/01 posted in  菜鸟-设计模式

10 解释器模式

2019/11/01 posted in  菜鸟-设计模式

09 责任链模式

2019/11/01 posted in  菜鸟-设计模式

08 状态模式

2019/11/01 posted in  菜鸟-设计模式

07 策略模式

2019/11/01 posted in  菜鸟-设计模式

06 抽象工厂模式

2019/11/01 posted in  菜鸟-设计模式

05 工厂模式

2019/11/01 posted in  菜鸟-设计模式

04 原型模式

2019/11/01 posted in  菜鸟-设计模式

03 Builder模式

2019/11/01 posted in  菜鸟-设计模式

02 单例模式

2019/11/01 posted in  菜鸟-设计模式

01 面向对象的六大原则

2019/11/01 posted in  菜鸟-设计模式

20 散列表下:为什么散列表和链表经常一起使用?

2019/05/17 posted in  极客-数据结构与算法之美

19 散列表中:如何打造一个工业级水平的散列表?

2019/05/17 posted in  极客-数据结构与算法之美

18散列表上:Word文档中的单词拼写检查功能是如何实现的?

2019/05/17 posted in  极客-数据结构与算法之美

17 跳表:为什么Redis一定要用跳表来实现有序集合?

2019/05/17 posted in  极客-数据结构与算法之美

16 二分查找下:如何快速定位IP对应的省份地址?

2019/05/17 posted in  极客-数据结构与算法之美

15 二分查找上:如何用最省内存的方式实现快速查找功能?

2019/05/17 posted in  极客-数据结构与算法之美

14 排序优化:如何实现一个通用的、高性能的排序函数?

2019/05/17 posted in  极客-数据结构与算法之美

13 线性排序:如何根据年龄给100万用户数据排序?

2019/05/17 posted in  极客-数据结构与算法之美

12 排序下:如何用快排思想在O(n)内查找第K大元素?

2019/05/17 posted in  极客-数据结构与算法之美

11 排序上:为什么插入排序比冒泡排序更受欢迎?

2019/05/17 posted in  极客-数据结构与算法之美

10 递归:如何用三行代码找到“最终推荐人”?

2019/04/01 posted in  极客-数据结构与算法之美

09 队列:队列在线程池等优先资源池中的应用

2019/04/01 posted in  极客-数据结构与算法之美

08 栈:如何实现浏览器的前进和后退功能?

2019/04/01 posted in  极客-数据结构与算法之美

07 链表下:如何轻松写出正确的链表代码?

2019/04/01 posted in  极客-数据结构与算法之美

06 链表上:如何实现LRU缓存淘汰算法?

2019/04/01 posted in  极客-数据结构与算法之美

05 数组:为什么很多编程语言中数组都从0开始编号?

2019/04/01 posted in  极客-数据结构与算法之美

04 复杂度分析下:浅析最好、最坏、平均、均摊时间复杂度

2019/04/01 posted in  极客-数据结构与算法之美

03 复杂度分析上:如何分析、统计算法的还行效率和资源消耗?

2019/04/01 posted in  极客-数据结构与算法之美

02 如何抓住重点,系统高效地学习数据结构和算法?

2019/04/01 posted in  极客-数据结构与算法之美

01 为什么要学习数据结构和算法?

2019/04/01 posted in  极客-数据结构与算法之美

14 并发

2019/03/28 posted in  Java核心技术

13部署Java应用程序

2019/03/28 posted in  Java核心技术

12Swing用户界面组件

2019/03/28 posted in  Java核心技术

11事件处理

2019/03/28 posted in  Java核心技术

10图形设计程序

2019/03/28 posted in  Java核心技术

09集合

2019/03/28 posted in  Java核心技术

08 泛型程序设计

2019/03/28 posted in  Java核心技术

07异常、断言和日志

2019/03/28 posted in  Java核心技术

06接口、lambda表达式与内部类

2019/03/28 posted in  Java核心技术

05继承

2019/03/28 posted in  Java核心技术

04对象与类

2019/03/28 posted in  Java核心技术

03Java的基本程序设计结构

2019/03/28 posted in  Java核心技术

02Java程序设计环境

2019/03/28 posted in  Java核心技术

01Java程序设计概述

2019/03/28 posted in  Java核心技术

17 内存优化

2019/03/27 posted in  Android进阶解密

16 绘制优化

2019/03/27 posted in  Android进阶解密

15 插件化技术

2019/03/27 posted in  Android进阶解密

14 Hook技术

2019/03/27 posted in  Android进阶解密

13 热修复原理

2019/03/27 posted in  Android进阶解密

12 理解ClassLoader

2019/03/27 posted in  Android进阶解密

11 Dalvik和ART

2019/03/27 posted in  Android进阶解密

10 Java虚拟机

2019/03/27 posted in  Android进阶解密

09 JNI原理

2019/03/27 posted in  Android进阶解密

08 理解WindowManagerService

2019/03/27 posted in  Android进阶解密

07 理解WindowManager

2019/03/27 posted in  Android进阶解密

06 理解ActivityManagerService

2019/03/27 posted in  Android进阶解密

05 理解上下文Context

2019/03/27 posted in  Android进阶解密

04 四大组件的工作过程

2019/03/27 posted in  Android进阶解密

03 应用程序进程启动过程

2019/03/27 posted in  Android进阶解密

02 Android系统启动

2019/03/27 posted in  Android进阶解密

01 Android系统架构

2019/03/27 posted in  Android进阶解密

11 系统架构与MediaPlayer框架

2019/03/27 posted in  Android进阶之光

02 Material Design

2019/03/27 posted in  Android进阶之光

10 应用架构设计

2019/03/27 posted in  Android进阶之光

09 注入与依赖注入框架

2019/03/27 posted in  Android进阶之光

08 函数响应式编程

2019/03/27 posted in  Android进阶之光

07 事件总线

2019/03/27 posted in  Android进阶之光

06 设计模式

2019/03/27 posted in  Android进阶之光

05 网络编程与网络框架

2019/03/27 posted in  Android进阶之光

04 多线程编程

2019/03/27 posted in  Android进阶之光

01 Android新特性

2019/03/27 posted in  Android进阶之光

15 性能优化

2019/03/06 posted in  Android开发艺术探索

11 Android的线程和线程池

2019/03/06 posted in  Android开发艺术探索

10 Android的消息机制

2019/03/06 posted in  Android开发艺术探索

12 Bitmap的加载和Cache

2019/03/06 posted in  Android开发艺术探索

08 理解Window和WindowManager

2019/03/06 posted in  Android开发艺术探索

09 四大组件的工作过程

2019/03/06 posted in  Android开发艺术探索

06 Drawable

2019/03/06 posted in  Android开发艺术探索

07 Android动画深入分析

2019/03/06 posted in  Android开发艺术探索

02 IPC机制

2019/02/28 posted in  Android开发艺术探索

01 Activity的生命周期和启动模式

2019/02/26 posted in  Android开发艺术探索