上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页
摘要: CountDownLatch 让一些线程堵塞直到另一个线程完成一系列操作后才被唤醒。CountDownLatch 主要有两个方法,当一个或多个线程调用 await 方法时,调用线程会被堵塞,其他线程调用 countDown 方法会将计数减一(调用 countDown 方法的线程不会堵塞),当计数其值 阅读全文
posted @ 2020-07-13 23:08 夜半钟声到客船 阅读(181) 评论(0) 推荐(0)
摘要: 1、公平锁、非公平锁 是什么 公平锁就是先来后到、非公平锁就是允许加塞,Lock lock = new ReentrantLock(Boolean fair); 默认非公平。 **==公平锁==**是指多个线程按照申请锁的顺序来获取锁,类似排队打饭。 **==非公平锁==**是指多个线程获取锁的顺序 阅读全文
posted @ 2020-07-13 22:11 夜半钟声到客船 阅读(352) 评论(0) 推荐(0)
摘要: 一、我们知道ArrayList是线程不安全的,请编写一个不安全的案例并给出解决方案 HashSet与ArrayList一致 HashMap HashSet底层是一个HashMap,存储的值放在HashMap的key里,value存储了一个PRESENT的静态Object对象 protected tr 阅读全文
posted @ 2020-07-12 22:24 夜半钟声到客船 阅读(476) 评论(0) 推荐(0)
摘要: 当一个处理器想要更新某个变量的值时,向总线发出LOCK#信号,此时其他处理器的对该变量的操作请求将被阻塞,发出锁定信号的处理器将独占共享内存,于是更新就是原子性的了。 1、compareAndSet 比较并交换 AtomicInteger.conpareAndSet(int expect, indt 阅读全文
posted @ 2020-07-12 22:19 夜半钟声到客船 阅读(290) 评论(0) 推荐(0)
摘要: 一.谈谈对volatile的理解 volatile是java虚拟机提供的轻量级的同步机制 保证可见性、不保证原子性、禁止指令重排 1.可见性理解:所有线程存放都是主内存的副本(比如某个变量值为25),t1线程的工作内存发生改变(值25改为37),写会主内存中,及时通知其他线程t2,t3更新最新的主内 阅读全文
posted @ 2020-07-06 00:43 夜半钟声到客船 阅读(225) 评论(0) 推荐(0)
摘要: jvm 一、类装载器ClassLoader 负责加载class文件,class文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engin 阅读全文
posted @ 2020-06-15 23:36 夜半钟声到客船 阅读(192) 评论(0) 推荐(0)
摘要: 1.RDD[K,V],键值对类型的rdd的函数在PairRDDFunctions这个类中 rdd类中,通过隐士转换让rdd有了PairRDDFunctions这个类里面方法的功能 2.rdd 的join方式 1.join=》rdd[k,v] join rdd[k,w]=》RDD[(K, (V, W) 阅读全文
posted @ 2020-05-20 10:18 夜半钟声到客船 阅读(332) 评论(0) 推荐(0)
摘要: distinct的底层使用reducebykey巧妙实现去重逻辑 //使用reduceByKey或者groupbykey的shuffle去重思想rdd.map(key=>(key,null)).reduceByKey((key,value)=>key) .map(_._1) 阅读全文
posted @ 2020-05-17 18:35 夜半钟声到客船 阅读(1530) 评论(0) 推荐(0)
摘要: 从源码看: reduceBykey与groupbykey: 都调用函数combineByKeyWithClassTag[V]((v: V) => v, func, func, partitioner)reduceBykey的map端进行聚合combine操作mapSideCombine = true 阅读全文
posted @ 2020-05-17 17:55 夜半钟声到客船 阅读(440) 评论(0) 推荐(0)
摘要: //判断a是否小于b private static boolean less(Comparable v, Comparable w) { return v.compareTo(w) < 0; } //两个交换 private static void swap(Comparable arr[], in 阅读全文
posted @ 2020-05-13 22:30 夜半钟声到客船 阅读(178) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页