![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA 并发
文章平均质量分 67
CodeStars码星人
CodeMoon,学习不可能永远都是一件很快乐的事,但也不会很痛苦。
展开
-
git简单使用
22原创 2023-03-04 13:42:51 · 196 阅读 · 1 评论 -
面向对象的一点小想法
2原创 2023-02-23 10:56:05 · 284 阅读 · 0 评论 -
Stream流式计算
Stream流式计算大数据:存储 + 计算集合、MySQL 本质就是存储东西的;计算都应该交给流来操作!乘着上篇函数式接口的步伐,我们顺势来讲讲Stream流式计算。它与函数式接口有着千丝万缕的关系。直接看案例吧:/*** 题目要求:一分钟内完成此题,只能用一行代码实现! * 现在有5个用户!筛选:1、ID 必须是偶数2、年龄必须大于23岁3、用户名转为大写字母 *4、用户名字母倒着排序5、只输出一个用户!定义5个user类User u1 = new User(1,"a",21原创 2021-07-27 22:19:15 · 85 阅读 · 0 评论 -
一文讲懂函数式接口
函数式接口在谈函数式接口之前,得先聊聊lam表达式。其实之前并不知道函数式接口的概念,只是听说了lam表达式,所以一切从lam表达式说起。初识lam表达式初见lam表达式是在创建线程的时候,发现可以这么创建。比如在一个线程中要实现输出的功能。之前创建一个线程,然后重写它的run方法。而有了lam表达式,就直接new Thread(()->{ System.out.println("nihao");}).start();将Thread要实现的功能,或者说原本写在run函数原创 2021-07-27 20:57:30 · 202 阅读 · 1 评论 -
Java并发之读写锁
读写锁首先了解读写锁之前,可以先来聊聊其它锁。比如说乐观锁和悲观锁。什么为乐观锁,什么为悲观锁呢?这个名字听起来就很有趣有没有!如图所示:其实有点像之前做UE4项目时用到的P4V,就是用来远程在线协同合作中小型项目。里面就讲到了,在把项目拿出来修改的时候,必须上锁,防止别人的误操作。悲观锁就是只允许一个人进行修改,在修改的时候对资源进行上锁,其它人操作不了。乐观锁就是可以同时允许两个人进行操作,但是每个操作的时候都有版本号。比如A和B同时进行操作,而A先操作完提交了,版本号从原本1.0原创 2021-07-27 18:32:05 · 188 阅读 · 0 评论 -
Java并发之阻塞队列
阻塞队列首先,先把队列以及阻塞队列整个家族的关系理清楚。什么情况下我们会使用 阻塞队列:多线程并发处理,线程池!学会使用队列添加、移除四组API抛出异常首先创建队列的时候,要指定队列大小ArrayBlockingQueue blockingQueue = new ArrayBlockingQueue<>(3);然后就可以往队列中添加元素,比如添加3个元素,而队列大小只有3,所以当加第4个时候,用add()方法就会抛出异常。同样的,用remove()方法可以移除原创 2021-07-27 15:40:05 · 85 阅读 · 0 评论 -
Java并发之ForkJoin
ForkJoinFork拆分Join合并实际上就是一个递归ForkJoinTask:我们要使用 Fork/Join 框架,首先需要创建一个 ForkJoin 任务。该类提供了在任务中执行 fork 和 join 的机制。通常情况下我们不需要直接集成 ForkJoinTask 类,只需要继承它的子类,Fork/Join 框架提供了两个子类:a.RecursiveAction:用于没有返回结果的任务b.RecursiveTask:用于有返回结果的任务• ForkJoinPool:ForkJo原创 2021-07-26 21:45:16 · 116 阅读 · 0 评论 -
Java并发之线程池
线程池三大方法,七大参数,四种拒绝策略池化技术程序的运行,本质:占用系统的资源!优化资源的使用!=>>池化技术事先准备好一些资源,有人使用,就来我这里拿,用完之后再还给我线程池的好处降低资源的消耗提高响应的速度方便管理阿里巴巴开发手册三大方法就是可以有这三种方法来创建线程池。1是单个线程大小的线程池2是固定的线程池大小的线程池3是可伸缩的线程池大小的线程池效果是怎么样呢?我们看下面。首先必须明确,有了线程池之后,就是利用线程池来创建线程,而不是之前的Th原创 2021-07-26 19:19:34 · 185 阅读 · 0 评论 -
JAVA并发之三个辅助类
JUC三大辅助类CountDownLatch 减少计数CyclicBarrier 循环栅栏Semaphore 信号灯对于这三个辅助类的要求,其实原理了解一下即可,最重要的还是要去运用。减少计数 CountDownLatch这个用一个例子来记住就好了,叫做6个同学离开教室后值班同学才可以关门步骤如下:创建1个CountDownLatch类,然后里面传一个参数,表示从多少减到0就执行。for循环中创建线程,每一个线程执行完就将countDown数量减1我的理解是,将countDow原创 2021-07-26 17:40:28 · 141 阅读 · 0 评论 -
Java并发——Callable和Future接口
刚把Thread 的知识理了一遍。Runnable是一个接口,而Thread是Runnable的一个实现类。所以也就有了之前创建线程的两种方法继承Thread实现Runnable我们看一下新建线程的方法:都是得传入一个Runnable对象(这句话很关键)所以传入一个Runnble和Thread对象都行。现在引入创建线程的第三种方法:Callable为了实现 Runnable,需要实现不返回任何内容的 run()方法,而对于Callable,需要实现在完成时返回结果的 call()方原创 2021-07-25 19:14:43 · 962 阅读 · 14 评论 -
Java 并发5——关于集合的线程安全问题
关于集合的线程安全问题在讲解之前,先来一张集合类的思维导图复习一下集合的知识。集合类的线程问题,什么意思呢,其实很简单。就是说平时在单个线程在集合中增删数据时,是没有什么问题的,但是如果是在多线程下,也就是多个线程同时对一个集合进行操作的话,那么就会出现集合安全问题。Listpublic static void main(String[] args) {List list = new ArrayList();for (int i = 0; i < 100; i++) {new Thr原创 2021-07-25 17:20:56 · 454 阅读 · 0 评论 -
Java并发4——八锁现象
Java并发之八锁现象1.这么说吧,如果两个都是普通方法,那么就看谁先调用,一般先调用先执行2.如果都是普通方法,但是有加延时,那么就延时少的先调用(因为时间是差不多同时调用,但是一个延时4秒再执行,一个延时2秒再执行,肯定2秒的先执行出来)3.如果加锁的话,无延时,仍然是谁先调用谁执行4.如果加锁加延时的话,延时不管,谁先调用谁执行,管它延不延时,反正没执行完不出来,这就是锁的作用锁的是对象,没结束,锁不释放(这里先后调用看的是 程序中先调用了哪个方法的线程)5.两个对象,两把锁,不存在锁的原创 2021-07-25 16:29:53 · 163 阅读 · 0 评论 -
Java并发3 ——关于锁的生产者和消费者问题
这个问题是一步步进阶的,if,while 虚假唤醒问题一开始是这样 package com.kuang.pc; /** * 线程之间的通信问题:生产者和消费者问题! 等待唤醒,通知唤醒 * 线程交替执行 A B 操作同一个变量 num = 0 * A num+1 * B num-1 */ public class A { public static void main(String[] args) { Data data = new Data(); new Thread(()-原创 2021-07-24 22:17:41 · 121 阅读 · 2 评论 -
Java并发 2.初识Lock锁
Lock锁Synchronized在看lock锁之前,我们先看看我们之前用的传统Synchronized想一想,我们之前通过这个synchronized锁是想实现什么效果,就是多线程同时操作一个资源。如果不加锁,会出现什么情况呢?可能会出现多个线程同时操作同一个资源类的情况可能会出现资源类负数的情况加了锁之后,就保证每次操作同个资源的都只有一个线程还记得我们之前怎么创建线程的吗?新建一个线程类去基础thread或实现runnable,然后重写它们的run函数。但到了多并发,要这么创原创 2021-07-24 18:24:58 · 123 阅读 · 4 评论 -
Java并发——1.JUC基础知识
1.1 什么是JUCJUC就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5之后开始出现。1.2 进程与线程通俗解释:进程是一个应用程序,比如我们打开一个酷狗音乐,就是打开了一个进程。然后酷狗音乐里可以听歌,可以评论,可以看视频,这些就是不同的线程。官方解释:进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执原创 2021-07-24 18:21:47 · 101 阅读 · 0 评论