随笔分类 - java
摘要:案例 package com.wt.forkjoin; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; import java.util.concurrent.RecursiveT
阅读全文
摘要:一、七个参数 int corePoolSize, // 常驻线程数量(核心) int maximumPoolSize, // 最大线程数量 long keepAliveTime, // 线程存活时间 TimeUnit unit, // 线程存活单位 BlockingQueue<Runnable> w
阅读全文
摘要:一、一池N线程 ExecutorService pool = Executors.newFixedThreadPool(5); 二、一池一个线程 ExecutorService pool = Executors.newSingleThreadExecutor(); 三、一池可变线程,遇强则强 Exe
阅读全文
摘要:一、用法 方法类型 异常抛出 特殊值 阻塞 超时 插入 add(e) offer(e) put(e) offer(e,time,unit) 移除 remove() poll() take() poll(time,unit) 检查 element() peek() 不可用 不可用 二、案例 packa
阅读全文
摘要:一、注意 写锁可以降级为读锁,读锁不能升级为写锁 二、过程 1、写锁 2、读锁 3、释放写锁 4、释放读锁 三、案例 package com.wt.readwrite; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * @
阅读全文
摘要:一、语法 private ReadWriteLock rwLock = new ReentrantReadWriteLock(); // 上锁 rwLock.writeLock().lock(); // 释放锁 rwLock.writeLock().unlock(); 二、案例 存入、读取 map数
阅读全文
摘要:一、作用 抢占资源 二、过程 1、生命对象,并设置数量 2、获得资源 3、释放资源 三、案例,强车位 package com.wt.juc; import java.util.Random; import java.util.concurrent.Semaphore; import java.uti
阅读全文
摘要:一、用法 当数量达到 定义的值,执行CyclicBarrier里面的内容 二、语法 1、定义对象 CyclicBarrier cyclicBarrier = new CyclicBarrier(NEED_NUM, Runnable); 2、在线程中使用await()方法 三、案例 package c
阅读全文
摘要:一、场景 执行多个线程,多个线程执行完后,再执行其他内容 二、过程 1、定义CountDownLatch对象,并设置数量 2、对象.countDown()方法,使数量减1 3、对象.await()方法,当数量值为0时,执行后续代码 三、案例 package com.wt.juc; import ja
阅读全文
摘要:一、区别 Runnable 1、返回值 2、处理异常 3、实现方法 二、FuturnTask 1、创建线程,需借助FuturnTask 2、获取返回值 FutrunTask对象.get() 三、案例 package com.wt.call; import java.util.concurrent.C
阅读全文
摘要:一、案例 package com.wt.lock; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class ThreadDemon02 { public
阅读全文
摘要:Lock lock = new ReentrantLock(true); ture 效率比非公平锁低
阅读全文
摘要:一、lock package com.wt.lock; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class ThreadDemon01 { publ
阅读全文
摘要:解决方案 //List<String> list = new ArrayList<>(); List<String> list = new CopyOnWriteArrayList<>();
阅读全文
摘要:一、过程 1、创建资源类,在资源类创建属性和方法 2、在资源类中操作方法 a、判断 b、干活 c、通知 3、创建多个线程,调用资源类的操作方法 4、防止虚假唤醒 二、同步 package com.wt.sync; /** * @Description: TODO * @Author: 1872428
阅读全文
摘要:1、创建result文件夹 2、创建ResultCodeEnum枚举 package com.wt.lease.common.result; import lombok.Getter; /** * 统一返回结果状态信息类 */ @Getter public enum ResultCodeEnum {
阅读全文
摘要:jdbc.username=root jdbc.password=123 jdbc.url=jdbc:mysql://localhost:3306/数据库名?allowMultiQueries=true jdbc.driver=com.mysql.cj.jdbc.Driver
阅读全文
摘要:<dependencies> <!--spring pom.xml依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>6.1.18</ve
阅读全文
摘要:一、静态方法 package com.wt.ioc_01; public class ClientService { private static ClientService clientService = new ClientService(); private ClientService() {
阅读全文
摘要:一、五大引用类型 类、数组、接口、注解、枚举 二、定义 1、创建 public enum State { } 2、枚举值 a、默认是 static final,但是不用写 b、默认全大写 c、枚举值之间用逗号隔开,枚举值写完用;区分普通参数 public enum State { NEW, RUNN
阅读全文

浙公网安备 33010602011771号