Android OpenGL 开发1 - 初见

Android OpenGL教程第一篇。

Read more »

Java PriorityQueue

PriorityQueue的介绍以及应用。

Read more »

门外汉学Slam

slam入门笔记。。。

Read more »

Android对象池

对象池以及其在Android中的应用。

Read more »

Java线程同步 - synchronized机制

在JDK5之前,Java的多线程(包括它的性能)一直是个软肋,只有synchronized、Thread.sleep()、Object.wait/notify这样有限的方法,而synchronized的效率还特别地低,开销比较大。JDK5在多线程上有了彻底的提高,其引进了并发编程大师Doug Lea的java.util.concurrent包,支持了现代CPU的CAS原语,不仅在性能上有了很大提升,在自由度上也有了更多的选择,此时J.U.C的效率在高并发环境下的效率远优于synchronized。但JDK6中对synchronized的内在机制做了大量显著的优化,加入了CAS的概念以及偏向锁、轻量级锁,使得synchronized的效率与J.U.C不相上下,并且官方说后面该关键字还有继续优化的空间,所以在现在JDK7的时代,synchronized已经成为一般情况下的首选,在某些特殊场景——如可中断的锁、条件锁、等待获得锁一段时间如果失败则停止——下,J.U.C是适用的,所以对于多线程研究来说,了解其原理以及各自的适用场景是必要的。

所以现在的状况是两者效率相差无几,而synchronized使用更简单、更不容易出错,所以其是专家组推荐的首选,除非需要用到J.U.C的特殊功能(可以参考我的上一篇文章)。

既然这样,那么我们就一起来看一下synchronized机制的一些要点。

Read more »

Android多线程开发 - BlockingQueue

在Java的并发开发中,队列是一种常用的数据结构,很多并发数据都会放入到队列中去。幸运的是,java平台提供了现成的并发队列供我们使用,今天我们就来一起看看。

Read more »

Android permissions最佳实践

Android M中的permission介绍以及最佳实践。

Read more »

Builder模式在Android中的应用

盘点Builder模式在Android中的应用。

Read more »

Android应用性能检测工具之CPU篇

Android应用performance检测工具系列之CPU篇。

Read more »

MVP速记

简单做个记录,无他

Read more »