
JUC
小铭爱学习
这个作者很懒,什么都没留下…
展开
-
JUC学习笔记七:JMM
1.谈谈对volatile的理解Volatile是java提供的轻量级的同步机制,有以下特点:保证可见性不保证原子性禁止指令重排在解释这三个特性之前,我们先来了解一下JMM2.JMMJMM全称是Java内存模型,是一种概念性的东西,不是真实存在的他其实是java为了管理内存数据安全而提出的一种解决方案在程序运行中,其实存在两种内存,一个称为主存,一个称为工作内存。数据在不使用的时候都是存放在主存的,当有个线程任务需要这个数据的时候,就先把数据载入到工作内存使用,用完再把数据刷新回主存。原创 2020-09-28 22:27:59 · 252 阅读 · 0 评论 -
JUC学习笔记六:ForkJoin
ForkJoin1.forkjoin原理fork join是在jdk1.7开发出来,他的原理的就是提供并行的任务,提高效率。在大数据量的前提下,把一个任务拆分成多个任务去执行,再把多个任务的结果汇总起来成为最终的结果2.forkjoin工作特点工作窃取假设有两个任务运行,A任务运行到一半阻塞了,B任务运行完了,那么这时候B任务就会把A任务接过来运行,提高运行的效率这个里面使用的就是双端队列3.forkjoin的使用使用的时候需要继承RecursiceTaskpackage com.原创 2020-09-28 12:36:24 · 205 阅读 · 0 评论 -
JUC学习笔记五:四大函数式接口,流式计算
四大函数式接口lambda表达式、链式编程、函数式接口、Stream流式计算函数式接口:只有一个方法的接口查看文档:下面来一个一个查看1.Function 函数式接口只要是函数式接口都可以使用lambda表达式来简化public class Demo01 { public static void main(String[] args) { //传入一个值,返回一个值// Function function= new Function<S原创 2020-09-26 22:14:24 · 187 阅读 · 0 评论 -
JUC学习笔记四:线程池
线程池:3大方法,7大参数,4种拒绝策略1.池化技术程序运行的本质就是占用系统的资源!使用池化技术能够更好的优化资源的使用。包括:线程池,连接池,对象池,内存池。。。什么是池化技术:就是事先准备好的资源,如果有人要用就来这里拿,用完再还回来。线程池的好处:降低资源的消耗提高响应的速度方便管理线程复用、可以控制最大并发数、管理线程2.三大方法/** * 创建线程池的三大方法 */public class Demo01 { public static void main原创 2020-09-26 15:41:46 · 145 阅读 · 0 评论 -
JUC学习笔记三:读写锁,阻塞队列
1.读写锁读可以被多个线程去读 (共享锁)写的时候只能是被一个线程去写 (独占锁)我们先来写一个demo,在没有读写锁的情况下import java.util.HashMap;import java.util.Map;public class ReadWriteLockDemo { public static void main(String[] args) { MyCache myCache = new MyCache(); //写入原创 2020-09-26 12:49:30 · 304 阅读 · 1 评论 -
JUC学习笔记二:集合不安全,Callable,辅助类
集合不安全1.List不安全通常我们在单线程的情况下去操作集合是不会出现任何问题的。但是如果在多线程的情况下去操作集合呢。下面代码来看一下package com.ycm.unsafe;import java.util.ArrayList;import java.util.UUID;public class ListTest { public static void main(String[] args) { ArrayList<String> list原创 2020-09-24 09:38:37 · 164 阅读 · 0 评论 -
JUC学习笔记一:锁,生产者和消费者问题
1.进程和线程进程:就是一个程序。进程包含多个线程,至少包含一个。线程:开了一个程序的进程中有用于不同功能的线程。java默认开启了2个线程:main,GC对于Java而言有几种开启线程的方式:Thread,Runnable,CallableJava不能开启线程:Java是运行在虚拟机上的,不可以操作硬件public synchronized void start() { /** * This method is not invoked for the m原创 2020-09-23 12:22:18 · 137 阅读 · 0 评论