Mockito源码解析

Mockito 是Java平台上超火的Mock框架,因为其便捷的API,深受广大开发者喜爱。本文将从源码的角度,来分析Mockito的运行流程。

浅析几种线程安全模型

多线程编程一直是老生常谈的问题,在Java中,随着JDK的逐渐发展,JDK提供给我们的并发模型也越来越多,本文摘取三例使用不同原理的模型,分析其大致原理。

理解RxJava线程模型

RxJava作为目前一款超火的框架,它便捷的线程切换一直被人们津津乐道,本文从源码的角度,来对RxJava的线程模型做一次深入理解。(注:本文的多处代码都并非原本的RxJava的源码,而是用来说明逻辑的伪代码)

Android中如何判断升级用户

最近一个需求是在请求参数中添加判断是否为升级用户的字段,简单来说,当前用户使用版本为1.1,如果是从0.9或者1.0升级过来则算老用户,如果是直接安装的1.1则为新用户,新用户升级到1.2后就会自动变为老用户。方法比较多,我这里列举三种:

约瑟夫环与魔术

本篇文章将介绍一个魔术,并且将会通过数学与程序来证明魔术的原理,相信我,这绝对是手法简单,效果上乘的魔术。表演如下:

sqlbrite源码解析

sqlbrite是square公司又一开源产品,当前版本是0.6.3。正如其简介所说,sqlbrite是对Android中SQLiteOpenHelper的轻量级包装,可以响应式的对SQL语句进行操作。本文关注响应式这个词,来对sqlbrite的源码进行解析。

AWK常用技法

AWK 作为linux下的一款优秀的工具,在文本处理方面拥有天然的优势。此文是我本周业余时间学习、整理而成。作为一名程序新手,对这款上古神器难免有理解不到的地方,不正确之处,劳烦斧正。

反编译与重打包“疯狂大脑”应用

作为一名最强大脑节目的粉丝,十分崇拜里面选手的精彩表现,所以在大学的时候就下载了一款名字叫做疯狂大脑的应用,该应用可以构建自己的记忆宫殿、训练记忆编码等等,对训练记忆十分方便。可是最近更换手机重新安装的时候发现,该应用的许多功能都被设为付费项目,需要支付一定金额才可以打开,这引起了我的极大兴趣,很想看看它是怎么做的。于是就有了下面的过程。

构建编译Android项目的Docker镜像

在接触Docker的这段时间里,Docker给我的Android开发带来了许多方便与惊喜。本文就是将Docker用于自动化编译Android项目的一次尝试。

Webview上传文件的那些坑

要说Android中最厉害的组件莫过于Webview 了,夸张点说把这个组件放在屏幕上就可以算作一个简单地浏览器应用了。但你若认为这就万事大吉了,可太小看Webview这个磨人的妖精了,下面单就上传文件的这个坑来做展开。