国庆假期接近尾声,WeeklyBlog 项目在假期中完成了第四期。假期结束,学习和工作还得继续。
Java
作为一篇 Java 多线程 的基础文章,三弟从常见的 2 种启动线程的写法入手,介绍了
Thread
的初始化和启动过程,然后以源码中的注释阐述了 Thread 的几种状态含义,接下来着重讲解了线程中几个重要的函数的作用,并通过实践来具体分析每个函数的用法和实际使用效果。由浅入深的跟读者讲解了 Lambda 表达式的由来、概念、深入以及应用。在引入文章场景的过程中,还带领读者学习了设计模式中策略模式的由来、相关概念和应用场景。总体上如文章所言,Lambda 表达式是追求新颖技术的人所必须掌握的,提供了一种现在炒得很火的函数式编程思想。
算法
本文从新的角度讲解如何用动态规划的求解,通过两个简单的例子,阐述了状态转移方程的推导。文章开始开门见山的提出动态规划的核心就是用空间换时间。很好的让人对 DP 算法有一个初步的了解,还有下篇可以期待。
设计模式
Android 设计模式 Builder模式的分析与实践 (@shadow)
本文司机通过对 Dialog 的源码分析,把 Android 中的 Builder 模式讲解了一番,最后补充了一个实践项目。条理清晰,很容易懂。
Android
本文介绍了 Android 性能优化中的过度绘制,结合原理图说明过度绘制的现象和产生原因,结合自己在项目中的实际应用,逐一用例讲解过度绘制的各种方法,学习 Android 优化的同学不容错过。
BroadcastReceiver 的工作过程分析 (@Melodyxxx)
本文作者从广播的使用流程入手分析,层层跟进源码,解释清楚了广播使用过程中的每一个重要环节。 在源码分析的过程中还赠送了一个小彩蛋(应用停止状态接收广播)。本篇文章为《 Android开发艺术探索 》 笔记,建议结合书中内容及源码进行学习。
在 Android 中使用 Java8 的特性 (@brucezz)
这篇文章用实例的方式详细介绍了Java8的新特性,在介绍Lambda表达式的模块中,将使用场景描述的很详细;通过各种实用场景的对比,突出了 Java8 新特性的好处,尤其是后两个新特性,非常有趣。
Android View 的工作原理下 View 的 layout 和 draw 过程详解 (Android 开发艺术探索读书笔记) (@yongyu)
从源码的角度分析了 View 的 layout 的过程,以及具体的例如
onLayout()
在哪里回调的,顺带还分析了LinearLayout
的 layout 过程。在 View 的 draw 方面,也从源码力分析了 draw 的流程。最后总结了一些自定义 View 的种类和套路,以及一些注意事项。
Nginx
作者从 nginx 介绍,到安装,到配置,一气呵成,很适合初学者实践 nginx 。整体行文规范,干净整洁。并对 nginx 优点加以诠释,介绍下什么是反向代理和负载均衡,让读者更明白为什么要用 nginx ,从而以本文作为初级实践作为开始。