摘要:
将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果该算法相当于递归,且是二分查找思路 class Fibonacci extends RecursiveTask<Integer> { final int n; Fibonacci(int n) { this.n = n; 阅读全文
![12.Fork与Join分支](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406090300124-166340010.png)
摘要:
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用 线程池(英语:thread pool)一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价 阅读全文
![11.线程池](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406090220902-647713653.png)
摘要:
阻塞队列是共享队列(多线程操作),一端输入,一端输出不能无限放队列,满了之后就会进入阻塞,取出也同理 当队列是空的,从队列中获取元素的操作将会被阻塞 当队列是满的,从队列中添加元素的操作将会被阻塞 试图从空的队列中获取元素的线程将会被阻塞,直到其他线程往空的队列插入新的元素 试图向已满的队列中添加新 阅读全文
![10.阻塞队列](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406090132864-543626232.png)
摘要:
回顾悲观锁和乐观锁的概念悲观锁: 见字知意,他是干什么都很悲观,所以在操作的时候,每次都上锁,使用时解锁乐观锁:他很乐观,多线程,并不上锁,但是会发生 线程安全问题 表锁:整个表操作,不会发生死锁行锁:每个表中的单独一行进行加锁,会发生死锁读锁:共享锁(可以有多个人读),会发生死锁写锁:独占锁(只能 阅读全文
![9.读写锁](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406090022453-1153535060.png)
摘要:
该辅助类主要讲述三个减少计数CountDownLatch 循环栅栏 CyclicBarrier 信号灯Semaphore 1 CountDownLatch 该类的构造方法为CountDownLatch(int count)构造一个用给定计数初始化的CountDownLatch在这里插入代码片 两个常 阅读全文
![8.JUC强大辅助类(减少计数CountDownLatch,循环栅栏CyclicBarrier,信号灯Semaphore)便于解决并发功能](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406085903023-1213461909.png)
摘要:
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /* * 一、创建执行线程的方式三:实现 Cal 阅读全文
![7.Callable接口的实现](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406085743755-1734428356.png)
摘要:
某一个时刻内,只能有唯一 一个线程去访问这些synchronized 方法所有的静态同步方法用的也是同一把锁——类对象本身,这两把锁是两个不同的对象,所以静态同步方法与非静态同步方法之间是不会有竞态条件的但是一旦一个静态同步方法获取锁后,其他的静态同步方法都必须等待该方法释放锁后才能获取锁,而不管是 阅读全文
![6.多线程锁 (公平锁和非公平锁,死锁,可重锁)](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406084737926-990997313.png)
摘要:
搭建工程 ES提供多种不同的客户端: 1、TransportClient ES提供的传统客户端,官方计划8.0版本删除此客户端。 2、RestClient RestClient是官方推荐使用的,它包括两种:Java Low Level REST Client和 Java High Level RES 阅读全文
![ElasticSearch-进阶篇](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406083347622-2068870051.png)
摘要:
一、下载jdk8 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" 阅读全文
![linux](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406094706137-1307876390.png)
摘要:
/*给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 二叉树的遍历 前序: 根 -> 左 -> 右 中序: 左 -> 根 -> 右 后序: 左 -> 右 -> 根 /** * Definition for a binary tree node. * public class TreeNo 阅读全文