自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 我的Java笔记--线程池

缘由由于涉及与操作系统的交互,构建一个新的线程是有一定代价的。如果程序中需要大量生命周期很短的线程,应该使用线程池。线程池一个线程池(thread pool)中包含许多准备运行的空闲线程,将Runnable对象交给线程池,就会有一个线程调用run方法。当run方法退出时,线程不会死亡,而是在线程池中准备为下一个请求提供服务。使用线程池还可以减少并发线程的数目。创建大量线程会大大降低

2018-01-12 20:25:25 229

原创 Runnable、Callable和Future

概览在多线程中有Runnable、Callable和Future,那么它们之间有什么联系和区别呢?RunnableRunnable接口只有一个方法:public interface Runnable{ void run()}所以Runnable是一个函数式接口(只有一个抽象方法),可以用lambda表达式建立一个实例:Runnable r = ()->{t

2018-01-12 19:52:47 598

转载 小白鼠 测验毒药问题

转自:http://blog.csdn.net/yuanruiau/article/details/68452111. 1000瓶药,有一瓶污染了并有毒,选用最少的小白鼠一次测试出哪一瓶是有毒的。(若有毒,小白鼠7天后死掉,7天做测试时间)对每一瓶药进行编号,并根据编号的二进制数值,位1的让相应的小白鼠喝,需要10位二进制数来表示1000,所以需要10只小白鼠7天后,看

2018-01-12 00:27:04 2519

原创 浅析atomic原子性

什么是atomicjava.util.concurrent.atomic包中的很多类使用很高效的机器级指令(而不是锁)来保证操作的原子性。有哪些常用的类查看api可以知道atomic包下含有以下比较常用的有AtomicBoolean、AtomicInteger、AtomicIntegerArray、AtomicLong等。看看怎么使用以AtomicLong举例,得到

2018-01-11 23:41:07 2235

原创 浅析volatile域

作用如果对共享变量除了赋值之外并不完成其他操作,那么可以将这些共享变量声明为volatile。原理volatile关键字为实例域的同步访问提供了一种免锁机制。如果声明一个域为volatile,那么编译器和虚拟机就知道该域可能被另一个线程并发更新。private volatile boolean done;public boolean isDone(){ return done

2018-01-11 22:06:43 218

原创 25匹马选出最快的3匹马

问题需要在25匹马中以最少的次数选出最快的3匹马,要求每次赛马最多5匹,每次赛马只知道马匹之间的相对快慢,不知道确切的赛马时间。解答首先进行5组(假设为A, B, C, D, E一共5组)赛马,得到每组最快的1匹马;-->进行了5次赛马然后对每组的第一名进行一次赛马,得到跑得最快的那匹马;-->进行了1次赛马假设上一次赛马最快的那匹马来自A组,其余的2-5名分别来自B, C,

2018-01-11 21:27:11 3090

原创 单向链表的快速排序实现

概览上面一篇文章讲解了数组快速排序的实现,由于单向链表与数组天生差异,无法实现从后往前的指针遍历,所以考虑换一种方式来实现。实现原理既然不能从后往前进行指针遍历,那么就从前往后吧。同样的设定基准值pivot为链表的头结点的值,两个指针S(Small)和L(Large)分别指向头结点和头结点的next结点。我们的目标是保证S指针之前的元素都小于等于pivot,而S指针与L指针之间的数据都

2018-01-11 19:55:26 1314

原创 快速排序的实现与时间复杂度

源起 最近面试的时候,遇到很多次关于快速排序的问题以及其变种问题,所以做一个总结,梳理一下知识。快速排序的原理通过设定基准值(一般取第一个数据),进行一趟排序,将待排数据分成独立的两部分,其中一部分数据都小于基准值,另外一部分数据都大于基准值;接着继续使用该方法分别对这两部分数据进行排序,直到所有数据成为有序序列。快速排序的示例一开始设定基准值为数组第一个数据49排

2018-01-11 13:45:36 11512 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除