随笔分类 -  JUC编程简介

1
摘要:###自旋锁 A线程进来没问题,不解锁的情况下,B线程进来会空循环等待A解锁 package Lock.SpinlockDemo; import java.util.concurrent.atomic.AtomicReference; public class SpinlockA { // int 阅读全文
posted @ 2022-03-27 17:17 小幼虫虫 阅读(29) 评论(0) 推荐(0) 编辑
摘要:##死锁排查 看日志 盏堆信息 使用jps-l定位进程号 使用jstack找到死锁问题 阅读全文
posted @ 2022-03-27 16:28 小幼虫虫 阅读(8) 评论(0) 推荐(0) 编辑
摘要:###CAS会产生ABA问题(使用别人动过的值,但不知情) package VolatileA; import java.util.concurrent.atomic.AtomicInteger; /** * CAS compareAndSet:比较并交换 * 会产生ABA问题(使用别人动过的值,但 阅读全文
posted @ 2022-03-26 14:30 小幼虫虫 阅读(234) 评论(0) 推荐(0) 编辑
摘要:##懒汉单例模式 package singleInstanceA; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetExcep 阅读全文
posted @ 2022-03-25 18:12 小幼虫虫 阅读(16) 评论(0) 推荐(0) 编辑
摘要:####Volatile是Java 虚拟机提供--轻量级的同步机制-- 保证可见性 保持刷新主内存属性 不保证原子性 不可分割 线程A在执行任务的时候,不能被打扰的,也不能被分割。要么同时成功,要么同时失败。 可以用lock/synchronized解决 也可以用原子类AtomicInteger操作 阅读全文
posted @ 2022-03-24 17:32 小幼虫虫 阅读(19) 评论(0) 推荐(0) 编辑
摘要:###forkJoin的使用,分支合并 如何使用forkJoin 1、forkJoinPool 通过他来执行 2、计算任务 forkJoinPool.execute(ForkJoinTask task) 3、计算要继承forkJoinTask package ForkJoinA; import ja 阅读全文
posted @ 2022-03-24 17:01 小幼虫虫 阅读(49) 评论(0) 推荐(0) 编辑
摘要:##CompletableFuture.runAsync 异步任务 //外派一个可能阻塞的任务,另外执行,自己先执行其他任务,后面再get回任务结果 ** CompletableFuture completableFuture = CompletableFuture.supplyAsync(()-> 阅读全文
posted @ 2022-03-24 16:55 小幼虫虫 阅读(2341) 评论(0) 推荐(0) 编辑
摘要:##ambda表达式、链式编程、函数式接口、Stream流计算综合 题目要求:一分钟内完成此题,只能用一行代码实现!现在有5个用户!筛选: 1、ID必须是偶数 2、年龄必须大于23岁 3、用户名转为大写字母 4、用户名字母倒着排序 5、只输出一个用户 package StreamA; import 阅读全文
posted @ 2022-03-23 20:41 小幼虫虫 阅读(58) 评论(0) 推荐(0) 编辑
摘要:##四大函数式接口Function/predicate/Supplier/Consumer Supplier 供给型接口,没有输入参数,只有返回值 predicate 断定性接口:有一个输入参数,返回布尔值 Consumer 消费型接口:只有输入,没有返回值 Function 函数型接口,只有一个参 阅读全文
posted @ 2022-03-23 18:08 小幼虫虫 阅读(58) 评论(0) 推荐(0) 编辑
摘要:##Executors--线程池三大方法,七大参数,4大拒绝策略 七大参数 ExecutorService threadPool = new ThreadPoolExecutor( 2,//默认核心线程数 5,//最大线程数 3,//实际线程量小于默认+阻塞,多久就恢复释放最大线程到默认线程 Tim 阅读全文
posted @ 2022-03-23 16:10 小幼虫虫 阅读(243) 评论(0) 推荐(0) 编辑
摘要:SynchronousQueue *同步队列 和其他的BlockingQueue不一样 SynchronousQueue不存储元素 put一个元素,必须先取出来,否则不能再put元素进去 package SynchronousQueueA; import java.util.concurrent.B 阅读全文
posted @ 2022-03-22 21:04 小幼虫虫 阅读(26) 评论(0) 推荐(0) 编辑
摘要:阻塞队列4组api | 方式 | 抛出异常 | 有返回值,不抛出异常 | 阻塞 等待 | 阻塞超时 | | | | | | | | 添加 | add | offer() | put() | offer(e,long time,TimeUnit) | | 移除 | remove | poll() | 阅读全文
posted @ 2022-03-22 18:42 小幼虫虫 阅读(25) 评论(0) 推荐(0) 编辑
摘要:##阻塞队列 ####2种不得不阻塞的情况 队列满了,阻塞写入,等待移除 队列空了,阻塞移除,等待写入 ####队列使用: 添加 移除 什么情况下我们会使用阻塞队列:多线程并发处理,线程池! 4组API 抛出异常 不抛出异常 阻塞等待 超时等待 阅读全文
posted @ 2022-03-22 17:11 小幼虫虫 阅读(27) 评论(0) 推荐(0) 编辑
摘要:###ReentrantReadWriteLock//读写锁, 只能单线程写,允许多线程读 ReadWriteLock 读-读可以共存! 读-写不能共存! 写-写不能共存! package Lock; import java.util.HashMap; import java.util.Map; i 阅读全文
posted @ 2022-03-22 16:48 小幼虫虫 阅读(23) 评论(0) 推荐(0) 编辑
摘要:###+1计数器CyclicBarrier package add; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; /**CyclicBarrier +1计 阅读全文
posted @ 2022-03-22 15:28 小幼虫虫 阅读(21) 评论(0) 推荐(0) 编辑
摘要:##callable 有缓存 结果可能会阻塞 public interface Callable 一个任务,返回一个结果,可能会抛出一个异常。自定义一个方法不带参数调用 call()。 Runnable Callable界面相似,两者都是设计类的实例可能被另一个线程执行。然而,Runnable不返回 阅读全文
posted @ 2022-03-22 14:03 小幼虫虫 阅读(43) 评论(0) 推荐(0) 编辑
摘要:##并发下的list不安全 CopyOnWriteArrayList/Vector *List list = new ArrayList<>(); >ConcurrentModificationException 并发修改异常 *方案1:List list = new Vector<>(); *方案 阅读全文
posted @ 2022-03-21 18:02 小幼虫虫 阅读(46) 评论(0) 推荐(0) 编辑
摘要:###8锁问题 1。1个phone类对象2synchronized方法,同时执行A/B线程?结果:先A,后B? // synchronized锁的对象是方法的调用者! //两个方法用的是同一个锁(phone对象),谁先拿到谁执行! 2。1个phone类对象2synchronized方法,同时执行A/ 阅读全文
posted @ 2022-03-21 17:04 小幼虫虫 阅读(30) 评论(0) 推荐(0) 编辑
摘要:##Synchronized和lock的区别 Synchronized和lock的区别 1、Synchronized 内置的Java关键字,Lock是一个Java类 2、Synchronized 无法判断获取锁的状态,Lock 可以判断是否获取到了锁 3、Synchronized 会自动释放锁,lo 阅读全文
posted @ 2022-03-19 17:35 小幼虫虫 阅读(97) 评论(0) 推荐(0) 编辑
摘要:1.什么是JUC java.util 工具包 包、类 业务:普通的线程代码 Thread Runnable 没有返回值,效率相对callable要低 2.线程和进程 进程:一个程序。 (qq.exe,music,程序的集合) 一个进程往往包含多个线程,至少包含一个 java默认有几个线程?2个: m 阅读全文
posted @ 2022-03-19 16:24 小幼虫虫 阅读(314) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示