• 反射、注解与依赖注入总结

    上一篇【线程、多线程与线程池总结】中主要记录线程、多线程相关概念,侧重于线程的Future使用与线程池的操作;同样这一篇【反射、注解与依赖注入总结】依然着重于相关概念与使用。

    现在在我们构建自己或公司的项目中,或多或少都会依赖几个流行比较屌的第三方库,比如:Butter KnifeRetrofitDagger 2等,如果你没用过,那你需要找时间补一下啦;有时在使用后我们会好奇他们到底是怎么做到这种简洁、高效、松耦合等诸多优点的,当然这里我不探讨它们具体怎么实现的,而关心的是它们都用到同样的技术反射和注解,并实现的依赖注入。


  • 线程、多线程与线程池总结

    先看几个概念:
    线程:进程中负责程序执行的执行单元。一个进程中至少有一个线程。

    多线程:解决多任务同时执行的需求,合理使用CPU资源。多线程的运行是根据CPU切换完成,如何切换由CPU决定,因此多线程运行具有不确定性。

    线程池:基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。

    如果对线程概念不清晰的话,不妨先看看我是一个线程这篇文章,拟人化的故事阐述线程的工作原理。


  • 依托于Github的个人博客自定义域名设置

    每一天都是特别的,但四月一号的今天尤其Special,不仅仅是因为愚人节,因为从今天起原来的个人博客域名sfsheng0322.github.io又多了个兄弟新的简洁域名sunfusheng.com,当然两个域名都可用,前者在通过Jekyll搭建博客后默认的域名,新域名则是从阿里云那买的;但是我所有的博客文章都在GitHub上啊,难道还要重新部署到阿里云上嘛,当然不用啦,下面我记录了依托于Github的个人博客自定义域名设置。


  • 回家吃饭Android客户端整理后总结

    来到回家吃饭五个月了!客户端从Eclipse环境上迁移到Studio上变化比较大, 下面具体从以下几方面总结下回家吃饭Android客户端的变化。


  • RxJava 的使用与理解(二)

    接下来把Rxjava在实际的项目中使用,并结合Retrofit网络库,源码参考个人作品【图灵机器人】


  • RxJava 的使用与理解(一)

    ReactiveX编程简称Rx编程,又叫响应式编程、响应式扩展,英文为Reactive Extensions。可以查看官方网站www.reactive.io,就像其网站说的”Expertise makes better software.”,响应式编程的目标是提供一致的编程接口, 帮助开发者更方便的处理异步数据流,使软件开发更高效、更简洁。Rx是一个多语言的实现,已经支持多种语言包括Java、Swift、C++、.NET、JavaScript、Ruby、Groovy、Scala等等,支持的库包括:RxJavaRxSwift、Rx.NET、RxJS、RXRuby等等,真是屌炸天。在Android上我们添加 RxAndroid 库就可以,RxAndroid 是对 RxJava 一种更接地气的扩展。下面让我们通过 RxAndroid 去使用、理解 RxJava 吧。


  • 通过 Retrolambda 体验 Java 8 Lambda 表达式

    Lambda 表达式是在Java 8中开始支持的一种函数式推导语言,能够大量减少匿名内部类那种冗余的代码。在Android中,可以大量使用在设置监听、设置异步回调等场景。


  • 亲身实践Git分支管理

    我司以前一直用的是SVN作为代码版本库管理。最近切换到Git上,相比于SVN,Git有很多优点, 其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便,接下来的内容是自己实际中操作的笔记。


  • 即将逝去的2015

    今天是2015年12月31日,本年度的最后一天,本年度的最后一天班,快下班了,利用几分钟回顾下这一年,只言片语总结一下。


  • Android截屏并对图片做高斯模糊处理

    本文使用仅仅是使用Blurring Github库实现高斯模糊效果,在这里自己做下笔记。
    具体实现步骤,如下:
    1、截屏当前显示页并处理状态栏和标题栏是否显示
    2、对截屏后的图片做高斯模糊处理
    3、根据情况释放cache资源