JUC系列一:什么是JUC

article/2025/9/19 18:23:48

前言:笔记整理参考尚硅谷周阳老师在B站上的JUC教程,万分感谢周阳老师。有兴趣的朋友可以在B站搜索周阳老师的视频教程,绝对让你受益匪浅,期望未来也能成为像周阳老师那样的人O(∩_∩)O哈哈~。

JUC B站视频地址
https://www.bilibili.com/video/BV1jy4y1k7AP?from=search&seid=7364891347085955403&spm_id_from=333.337.0.0

一、JUC

1.1、什么是JUC

java.util.concurrent在并发编程中使用的工具类
在这里插入图片描述

1.2、进程和线程

1.2.1、什么是进程?什么是线程
进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

线程:通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统多个程序间并发执行的程度。

1.2.2、进程、线程案例
(1)使用QQ,查看进程一定有一个QQ.exe的进程,我可以用qq和A文字聊天,和B视频聊天,给C传文件,给D发一段语言,QQ支持录入信息的搜索。
(2)大四的时候写论文,用word写论文,同时用QQ音乐放音乐,同时用QQ聊天,多个进程。
(3)word如没有保存,停电关机,再通电后打开word可以恢复之前未保存的文档,word也会检查你的拼写,两个线程:容灾备份,语法检查

1.2.3、线程有哪些状态

Thread.State
public enum State {NEW,//新建RUNNABLE,//准备就绪BLOCKED,//阻塞WAITING,//不见不散TIMED_WAITING,//过时不候TERMINATED;//终结}

1.2.4、wait和sleep的区别
功能都是当前线程暂停,有什么区别?
wait放开手去睡,放开手里的锁
sleep握紧手去睡,醒了手里还有锁

1.2.5、什么是并发?什么是并行
并发:同一时刻多个线程在访问同一个资源,多个线程对一个点。
例子:
小米9今天上午10点,限量抢购;
春运抢票;
电商秒杀…
并行:多项工作一起执行,之后再汇总
例子:泡方便面,电水壶烧水,一边撕调料倒入桶中


http://chatgpt.dhexx.cn/article/rWe91j0O.shtml

相关文章

01_JUC概述

1. JUC是什么? 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类。此包包括了几个小的、已标准化的可扩展框架,并提供一些功能实用的类,没有这些类,一些功能会很难实现或…

JUC系列(三)

1、Java内存模型 1.1、什么是Java内存模型JMM? JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在,它仅仅描述的是一组约定或规范,通过这组规范定义了程序中(尤其是多线程)各个变量(包括…

JUC系列——基础知识 day1-1

JUC系列——基础知识 day1-1 JUC基础知识进程线程进程和线程区别并行与并发同步使用场景 异步使用情景 QuickStart(new Thread方式创建新线程)匿名内部类方式lambda简化 Thread类(仅分析功能)优先级常量方法(常用&…

JUC系列(六)

1、AbstractQueuedSynchronizer之AQS AbstractQueuedSynchronizer简称为AQS,抽象的队列同步器 AQS:是用来构建锁或者其它同步器组件的重量级基础框架及整个JUC体系的基石,使用一个int类变量表示持有锁的状态,通过内置的FIFO队列…

JUC系列(一)

1、为什么多线程极其重要? ​ 多线程变得极其重要的原因从软硬件两个方面来说,首先硬件方面:主要是摩尔定律失效,它是由英特尔创始人之一Gordon Moore(戈登摩尔)提出来的,其内容是当价格不变时,将每隔18个月&#xff…

JUC系列(一)什么是JUC?

多线程一直Java开发中的难点,也是面试中的常客,趁着还有时间,打算巩固一下JUC方面知识,我想机会随处可见,但始终都是留给有准备的人的,希望我们都能加油!!! 沉下去&#…

JUC系列——JUC入门及多线程并发

文章目录 前言一、JUC简介1、出自哪位大神之手?2、JUC是什么? 二、JUC主要解决什么问题?1、进程 、线程2、并发、并行3、JAVA创建线程的方式(模拟三种线程实现方式)1)继承Thread类(线程的初级用…

Java进阶|JUC系列(持续更新)

文章目录 1、什么是J.U.C2、进程、线程、协程2.1 简介2.2 线程有几个状态2.3 wait和sleep的区别 3、Lock锁(重点)3.1 简介3.2 lock锁和synchronized有什么区别 4、生产者和消费者问题4.1 简介4.2 使用synchronized实现的demo4.3使用Lock实现的demo 5、锁的是谁问题1、两个线程访…

莱布尼茨公式C语言编程,高等数学——手撕牛顿莱布尼茨公式

本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是高等数学专题的第13篇文章,我们来看看定积分究竟应该怎么计算。 定积分的实际意义 通过之前的文章,我们基本上熟悉了定积分这个概念和它的一些简单性质&#x…

[计算机数值分析]牛顿插值公式

Spring-_-Bear 的 CSDN 博客导航 埃特金算法虽然具有承袭性,但其算式是递推型的,不便于进行理论上的分析。所以采用具有承袭性的显式的牛顿插值公式是不错的选择。 p n ( x ) f ( x 0 ) f ( x 0 , x 1 ) ( x − x 0 ) . . . f ( x 0 , x 1 , . . . …

如何用计算机做牛顿迭代公式,牛顿迭代法

牛顿迭代法(Newtons method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 中文名 牛顿迭代法 外文名 Newtons method别 名 牛顿-拉夫逊(拉弗森)方法 提出时间 17世纪 牛顿迭代法产生背景 编辑…

牛顿恒等式 牛顿和

前言:仅个人小记。该恒等式推导逻辑非常简洁。目标:求一个多项式的所有根的次幂和。比如多项式 P ( x ) Σ i 0 n a i x i P(x)\Sigma_{i0}^{n}a_i x^i P(x)Σi0n​ai​xi的根为 α , β , . . . , ω \alpha,\beta,...,\omega α,β,...,ω&#xff…

牛顿插值公式

均差(差商) f[x0,x1]f(x1)−f(x0)x1−x0 一阶 f[x0,x1,x2]f(x1,x2)−f(x0,x1)x2−x0 二阶 ⋮ 性质 1.对上述二解均差展开,得, f[x0,x1,x2]f(x0)(x0−x1)(x0−x2)f(x1)(x1−x0)(x1−x2)f(x2)(x2−x0)(x2−x1) 依次类推 有&am…

5.3 牛顿-科茨公式

学习目标: 理解微积分基础知识,例如导数和微分的概念。学习牛顿-科茨公式的推导过程。这个公式实际上是使用泰勒公式对被积函数进行展开,并使用微积分的基本原理进行简化得到的。学习如何使用牛顿-科茨公式进行数值积分。这通常涉及到将被积…

牛顿迭代公式

问题背景 给定任意一个数x,求其平方根z,平方误差小于0.001。 这个问题直观的去想,我们一般会采取设定一个初始值,然后通过迭代逐渐逼近平方根,但是初始值怎样去迭代才能更快”逼近“成为关键问题,牛顿迭代…

人工智能数学基础---定积分3:微积分基本公式(牛顿-莱布尼茨公式)

一、引言 在《人工智能数学基础—定积分1:定积分的概念以及近似计算》介绍了利用定积分的定义进行定积分的近似计算方法,但这种方式比较复杂,如果被积函数复杂困难更大,那么定积分是否有其他计算方式呢?答案是肯定的&…

二分法求解方程的根java_【数值分析】利用二分法和牛顿公式求解方程的根

1.实验内容 ​分别利用牛顿公式和二分法对某一方程(此实验是以开方公式为准,即x2-c0,在验证时取c115)进行求解。且对两者的求解结果进行比较,比较两者的迭代次数和精度。 分别编写函数Binary(min, max, times)和 Newton(x0, times)实现以上两种方法。实验…

验证牛顿公式的局部收敛性,并找到对于牛顿公式不收敛(发散)的函数,比较二分法与牛顿公式的收敛速度

文末有代码,大家可以自己跑一下,体会一下牛顿法的运算过程 二、实验目的: a.验证牛顿公式的局部收敛性; b.比较二分法与牛顿公式的收敛速度; c.验证求解结果的正确性; 三、实验内容 a.在验证牛顿公式的…

牛顿迭代公式(详细)

牛顿迭代公式 X n 1 X n − f ( x ) f ′ ( x ) X_{n1} X_n -\frac{f(x)}{f(x)} Xn1​Xn​−f′(x)f(x)​ 上网搜了很久,搞懂了一点,简单记录一下 其实弄懂了一点后会发现它并不是很高大上😅 . 先来一段代码 求9的平方根,java实现 public static void main…