冒泡排序(bubbleSort)

说到算法,近来有同事面试,回来有讨论算法问题,大多数面试官多多少少都会让面试者手写某个算法,但我觉得,能够写出来的,能力不一定强,写不出来的,能力不一定弱,因为常用的算法,在某些情况下,死记硬背都可以(譬如,为了面试),所以个人认为,直接写算法欠妥,当然,只是个人愚见。

阅读更多

volatile实现原理

阅读更多

归并排序(merge sort)

归并排序(Merge Sort),是创建在归并操作上的一种有效的排序算法,效率为O(n log n)。该算法是采用分治法的一个典型应用,且各层分支递归可以同时进行。

阅读更多

插入排序

今天我们来学习一下插入排序,言简意赅的来说就是,每一步都将一个待排数据按照其大小插入到已经排序的数据中的适当位置,算法导论里是用扑克牌来举例的,你每抓起一张牌都会放到适当的位置,也就是从摸牌开始到最后,你手里的牌是排好序的(大多数情况。)

阅读更多

concurrent包学习之CountDownLatch

记得在读Java编程思想的时候,Bruce Eckel就有说过,在使用并发的时候,尽量多的使用synchronized关键字,所以当时没有太关注concurrent包下的类,而且,当时的工作及大环境是很少考虑并发。

阅读更多

生产者/消费者模式(BlockingQueue)

可能有很多同学不太了解生产者/消费者模式,也可能有同学会说:”四人帮(Gang Of Four)的23中设计模式中根本就没有生产者/消费者模式啊。”,你说的也对,GOF中是没有生产者/消费者模式,GOF中的23种设计模式主要是基于OO的,但模式可以是OO的,也可以不是OO的呀。所以,消除你的疑虑吧,生产者/消费者模式还是很强大的,大多数时候,它是用来解决并发问题的,后续,我会学习并总结一下JDK Concurrent包下的一些类,但今天我们主要聊一聊这个有趣的模式吧。

阅读更多