- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 java8新特性之接口默认方法&静态方法
java8重新升级了接口功能,准许default默认方法和静态方法public interface BaseDaoInte { public void funB(); //传统方法 default void fun() { //默认方法 System.out.println("fun call back..."); } static void func
2017-12-22 11:24:15 195
原创 java8特性介绍之-接口函数
1.函数式接口,@FunctionalInterface1.是一个接口2.接口里面只能有一个抽象方法2.函数式接口可以定义默认方法@FunctionalInterfacepublic interface DriveInte { public void onDrive(String str); default void fun() { //函数式接口定
2017-12-22 10:24:45 240
原创 基础数据机构之ArrayDeque队列源码分析
1.ArrayDeque双端队列,jdk中util包中无ArrayQueue的类实现,在com.sun.jmx.remote.internal中才有ArrayQueue队列的实现。 ArrayDeque双端队列方法有,队列头部插入addFirst,头部移除pollFirst,尾部插入addLast,尾部移除元素pollLast public class ArrayDeque e
2017-12-21 15:15:58 254
原创 基础数据机构之Stack栈源码分析
1.Stack属于经典的数据结构栈,后入先出。方法有pop弹栈,push压栈,isEmpty判断栈空,isFull判断栈满 java源码中stack继承vector基础数据结构,有多线程安全特性。public class Stack extends Vector { /** * Creates an empty Stack. */ publi
2017-12-21 09:28:57 199
原创 基础数据机构之WeakHashMap源码分析
1.WeakHashMap 在HashMap实现上,在HashMap上增加Entry的SoftReference软引用功能 源码分析 Entry实体类继承WeakReference /** * The entries in this hash table extend WeakReference, using its main ref * field as
2017-12-15 15:51:07 209
原创 基础数据结构之TreeMap源码分析
1.TreeMap数据结构属于红黑树,红黑树是自平衡二叉树 TreeMap节点源码static final class Entry implements Map.Entry { K key; //Entry节点key元素 V value; //Entry节点value元素 Entry left = null; //左孩子
2017-12-14 17:51:38 187
原创 移动端多线程编程高级篇-哲学家吃饭问题
1.哲学家就餐问题问题描述 2.源代码描述 volatile public List mLocks = new ArrayList();List mList = new ArrayList();private Object obj = new Object();public DemoPhil() {for(int i = 0;i mLocks
2017-12-05 11:54:01 349
原创 移动端多线程编程高级篇-阻塞队列实现生产者消费者模式
1.生产者消费者模式非常经典的多线程编程 不借助阻塞队列写法 Vector v = new Vector(); @Override public void run() { while(isRunning){ synchronized (v) {//如果Queue为空,不断阻塞中 while(v.size()
2017-12-05 10:12:34 215
原创 其他阻塞队列DelayQueue&PriorityBlockQueue延迟阻塞队列和优先级阻塞队列
1. DelayQueue延迟阻塞队列。 该队列主要作用是延迟添加元素,mQueue,put(Delay)2.DelayQueue实例 由于添加到DelayQueue的item延迟10s,所以调用take方法时候需要等待10秒才可以获取到,否则一直block阻塞状态。 DelayQueue mQueue = new DelayQueue();//添
2017-12-04 16:20:02 564
原创 BlockingDeque&BlockingQueue区别
1.BlockingQueue阻塞队列,FIFO一端进入队列,一端出队列 BlockingQueue,进出口单一明确2.BlockingDequeu 双端阻塞队列,两端都可以进入,也可以出队列 public interface BlockingDeque extends BlockingQueue, Deque 双端阻塞队列,继承了FIFO特性,又继承了双端队列特性
2017-12-04 11:10:55 3204
原创 移动端并发编程基础篇-阻塞队列ArrayBlockingQueue&LinkedBlockingQueue
1.BlockingQueue和普通Queue的区别 BlockingQueue阻塞队列,多线程并发的上下文中,take,put,方法会发生阻塞状态 Queue 普通的Queue如果实现生产者,消费者的阻塞等待,需要自己实现Blocking状态2.ArrayBlockQueue&LinkedBlockQueue区别 ArrayBlockQueue 数组阻塞队列,指定一
2017-12-01 13:24:17 346
原创 移动端并发编程基础篇-锁介绍
1.读写锁 WriteLock,ReadLock基本概念 读锁 -> 共享锁 相同一把读锁,锁住下面逻辑后,如果其他线程还想进入下面的逻辑,不用阻塞等待,可以直接进入到逻辑访问 写锁 -> 排它锁 相同一把写锁,锁住下面的逻辑后,如果其他线程想进入到下面的逻辑,需要阻塞等待前面的释放锁逻辑2.读锁实例volatile private int data = 100;
2017-11-29 16:55:43 179
原创 移动端并发编程基础篇
1.ThreadLocal 解决多个线程访问一个对象 ThreadLocal tl= new ThreadLocal(); tl.set(object); //object绑定到本地线程 tl.get(); //获取该线程下的对象变量 tl.remove(); //移除操作 ThreadLocal实现机制: Map mMap = HashMap() //
2017-11-28 15:45:42 254 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人