很少写技术类的问题,或者说高考结束以后就没怎么写过文章,时常想想作为一个吃技术这碗饭的人,应该多写写技术博客,好处至少有3点。
第一 写文章是一个非常好的总结机会,虽然平时看的东西也很多,但都是走马观花式的看,看似当时理解了,过后很快就忘了。
第二 可以增强自己的语言组织能力,这个是很多程序员的弱点。
第三 以后面试的时候,拿出自己写的文章,可以让面试官更快速的了解你,增加好感度。
废话就不多说了,我打算就用最近开始看的学习的okhttp源码来作为我的写作开始。
OkHttp是一个非常优秀的网络请求框架,已被谷歌加入到Android的源码中。 最开始我不太明白为什么会加入到Android的源码中,我疑惑的原因是android 原生的http请求有HttpURLConnection,我本以为OkHttp是在这个HttpURLConnection上面做的二次封装,只是复用了一些线程池和增加了回调接口使得上层使用http请求变得非常便捷。但是当我看了源码以后,我才为我的无知而感到惭愧,okhttp是完全基于tcp socket实现了http请求,如果完全理解了okhttp,对于网络编程你的水平会提升好几个档次,尤其是只会调用API的朋友们,你会学到什么是tcp 如何实现socket的编程 同步与异步 阻塞与非阻塞之间的区别 http协议的实现等等。这样一个庞大的工程肯定一篇文章是无法全面完成的。所以打算分几个模块来写
第二 okhttp中的拦截器
第三 okhttp中的socket连接
第四 okhttp中如何实现http协议
第五 okhttp中使用的设计模式
当前只想到这些,因为源码也只阅读了30%以后看别的新东西再加上吧。今天先写到这里吧