E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Juc并发编程
腾讯经典面试题-如何做一个迷你版的微信抢红包呢?
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:Spring源码、
JUC
源码、Kafka原理、分布式技术原理、数据库技术如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成
爱吃芝士的土豆倪
·
2023-12-30 09:09
数据库技术
微信
redis
缓存
Redis的缓存过期淘汰策略
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:Spring源码、
JUC
源码、Kafka原理、分布式技术原理、数据库技术如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成
爱吃芝士的土豆倪
·
2023-12-30 09:38
数据库技术
缓存
redis
数据库
初识linux
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:Spring源码、
JUC
源码、Kafka原理、分布式技术原理、数据库技术如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成
爱吃芝士的土豆倪
·
2023-12-30 09:37
运维
linux
服务器
并发编程
建议
1.给线程命名这样可以帮助调度。2.使用不可变类,把有属性和类都是final不可变的,可保证线程安全。3.总是按照一个全局的固定顺序获取多把锁,可以避免死锁的产生,实例可以参照经典的哲学家就餐问题。4.最小化同步范围,而不是将整个方法同步,只对关键部分做同步。5.分段锁:concurrentHashMap就是采用这种方式。6.如果可以更偏向于使用volatile面不是synchronized.7.
张赵成
·
2023-12-30 08:17
JUC
并发编程
09——队列同步器AQS
目录一.Lock接口1.1Lock的使用1.2Lock接口提供的synchronized不具备的主要特性1.3Lock接口的所有方法二.队列同步器(AQS)2.1队列同步器的接口与示例2.2AQS实现源码分析①同步队列②独占锁的获取与释放获取锁释放锁③共享锁的获取与释放获取锁释放锁一.Lock接口说起锁,你肯定会想到synchronized关键字,没错,这是在jdk1.5之前java程序用来实现锁
汤姆&Tom
·
2023-12-30 07:47
JUC并发编程
java
开发语言
Java
并发编程
解析 | 关于Java领域中的线程机制,我们应该知道的那些事?
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头我们都知道,经过多年的发展和无数Java开发者的不懈努力,Java已经由一门单纯的计算机编程语言,逐渐演变成一套强大的以及仍在可持续发展中的技术体系平台。虽然,Java设计者们根据不同的技术规范,把Java划分为3种结构独立且又彼此依赖的技术体系,分别是JavaSE,JavaEE以及JavaME,其中Java
朝槿木兮
·
2023-12-30 04:48
【阿里面试系列】Java线程的应用及挑战
文章简介上一篇文章【「阿里面试系列」搞懂
并发编程
,轻松应对80%的面试场景】我们了解了进程和线程的发展历史、线程的生命周期、线程的优势和使用场景,这一篇,我们从Java层面更进一步了解线程的使用。
Java架构
·
2023-12-30 04:12
Python中的
并发编程
(7)异步编程
异步编程Python3.4后新增了asyncio模块,支持异步编程。异步是在一个线程中通过任务切换的方式让多个任务”同时“进展。asyncio不涉及线程/进程切换,减少了线程/进程创建、上下文切换的开销,更轻量级。asyncio的核心是事件循环,不断监听/执行队列中的任务。由于asyncio是在一个线程中通过任务切换的方式执行多任务,所以这些任务需要是非阻塞的。如果某个任务是阻塞的,比如常规的sl
一只大鸽子
·
2023-12-30 02:04
python
python
java
服务器
2022总结与展望--Empirefree
年终总结1.1.学习计划1.2.生活计划1.3工作计划1.4个人总结2.未来展望1.年终总结1.1.学习计划尚硅谷:java篇,javaweb篇,ssm篇,spring驱动注解篇,springboot篇,
juc
福宇乔
·
2023-12-29 23:02
年终总结
java
jvm
开发语言
VUE3 中使用 VUEX,报错【[Vue warn]: inject() can only be used inside setup() or functional components.】
VUE3中使用VUEX,报错【[Vuewarn]:inject()canonlybeusedinsidesetup()orfunctionalcomponents.】参考链接1:参考链接vuex报错in
juc
e
搬砖工KO水泥匠
·
2023-12-29 23:09
vue
ant-design-vue
初识Java并发,一问读懂Java并发知识文集(2)
文章目录初识Java
并发编程
Java
并发编程
面试题(2)01、什么是多线程中的上下文切换?02、Java中你怎样唤醒一个阻塞的线程?
普修罗双战士
·
2023-12-29 22:02
并发编程
Java专栏
多线程专栏
java
开发语言
大数据
后端
深度学习
机器学习
spring
boot
【Java
并发编程
的艺术学习】第三章摘要补全
第三章整篇依旧围绕写后读这一核心,本文章目的是为更好的了解学习,所以会添加一些必须了解的知识,同样也会对文章重要内容进行摘要。3.1Java内存模型的基础1.线程之间如何通信方式一:使用volatile关键字基于volatile关键字来实现线程间相互通信是使用共享内存的思想,大致意思就是多个线程同时监听一个变量,当这个变量发生变化的时候,线程能够感知并执行相应的业务。这也是最简单的一种实现方式。方
一日三餐384
·
2023-12-29 22:42
学习
【Java
并发编程
的艺术学习】第二章摘要补全
1.
并发编程
多线程情况下,一个线程需要读取到其他线程写后内容再开始操作。2.如何保证写后读2.1加锁当前线程对资源进行加锁,在此时其他线程相对该资源操作的话是无法上锁的,所以无法对该资源进行任何操作。
一日三餐384
·
2023-12-29 22:42
java
学习
jvm
Java多线程之生产者和消费者模型
1多线程中生产者和消费者在
并发编程
中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。
上善若泪
·
2023-12-29 20:31
啊?这也算事务?!
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析事务的难点在哪?之前分享过一个观点,设计模式最难的不是代码、也不是设计思
smart哥
·
2023-12-29 19:32
生产故障
生产故障
尽量避免删改List
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析尽管在之前介绍了如何避免并发修改异常,但那篇文章的目的,更多的是为了介绍
smart哥
·
2023-12-29 19:31
生产故障
生成故障
万恶的空指针
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析事故场景空指针,全名NullPointerException,简称NPE
smart哥
·
2023-12-29 19:01
生产故障
java
空指针
边界判断缺失
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析事故场景我们在做需求开发时,经常会遇到一些边界条件的判断:查询身高大于1
smart哥
·
2023-12-29 19:59
生产故障
生产故障
并发编程
面试题(2020最新版)转载
文章目录基础知识
并发编程
的优缺点为什么要使用
并发编程
(
并发编程
的优点)
并发编程
有什么缺点
并发编程
三要素是什么?在Java程序中怎么保证多线程的运行安全?并行和并发有什么区别?
奔跑的小酱油
·
2023-12-29 17:20
面试题
Java
并发编程
——Threadlocal源码解析
Threadlocal源码解析一、基本结构二、ThreadLocal操作set操作get操作remove操作三、内存泄露?四、ThreadLocalMap核心变量数组下标计算方式阈值计算扩容下标冲突(hash冲突)从名称上来看可以理解为线程本地变量,也可以认为是线程局部变量,线程与线程之间都是隔离的,所以说也是线程安全的,是典型的空间换时间的设计理念一、基本结构先看一下该类的重要成员和重要的内部类
Colins~
·
2023-12-29 17:37
java
java
开发语言
算法
【
并发编程
篇】同步队列SynchronousQueue
文章目录简述同步队列代码实现代码讲解简述同步队列同步队列(SynchronousQueue)是一种特殊的队列数据结构,它具有以下特点:队列容量为0:同步队列的容量为0,即不能存储任何元素。它主要用于线程间的数据传输,而不是作为一个临时数据存储的结构。阻塞操作:同步队列的插入和删除操作都是阻塞的。当一个线程试图插入元素到同步队列时,如果队列已满,线程将被阻塞直到有其他线程从队列中删除元素;当一个线程
在下小吉.
·
2023-12-29 16:01
并发编程
python
开发语言
【
并发编程
篇】线程安全问题_—_ConcurrentHashMap
文章目录情景引入报错了,解决方案情景引入我们运行下面的代码packageorg.example.unsafe;importjava.util.HashMap;importjava.util.Map;importjava.util.UUID;publicclassMapTest{publicstaticvoidmain(String[]args){Mapmap=newHashMap{map.put(
在下小吉.
·
2023-12-29 16:31
并发编程
安全
java
开发语言
Go面试题学习
并发安全性是指在
并发编程
中,多个goroutine对共享资源的访问不会导致数据竞争和不确定的结果。
CopyLower
·
2023-12-29 10:16
学习
Go
golang
学习
xcode
GO语言是什么?值不值得我们去学习呢?该如何去学习呢?
它是一种静态类型、编译型的语言,旨在提高程序的可读性、简化
并发编程
,并提供高效的性能。Go语言具有简洁的语法和强大的标准库,适用于构建各种类型的应用程序,包括网络服务、系统工具、分布式系统等。
Direct_Yang
·
2023-12-29 04:00
golang
学习
开发语言
c语言
c++
并发编程
--读写锁
读写锁维护一对锁,一个读锁和一个写锁。读写锁在同一时刻允许多个读线程获取读锁;但是同一时刻只能有一个线程获取到写锁,此时其他读写操作均被阻塞。并发性相比其他排他锁有了很大的提升。一、读写锁的特性1、公平性与非公平性选择支持非公平(默认)和公平的锁获取方式,吞吐量非公平优于公平。2、重进入支持重进入,以读写线程为例:读线程在获取读锁能再次获取读锁。而写线程在获取写锁之后,能再次获取写锁,同时也可以获
守住阳光
·
2023-12-29 04:09
记一个有意思的面试题 → 线程交替输出问题
有些是民间偏方,所以没必要全部都知道(其实楼主也不知道具体是哪一百多种)掌握常用的那几个就好;为了方便,我们就以1234567和ABCDEFG为例进行演示synchronized+wait+notify如果我们对
JUC
阿里高级码农
·
2023-12-29 01:03
并发代码中的错误处理挑战
克服
并发编程
中的复杂性
并发编程
可能是增加软件系统效率和响应性的强大技术。它使多个工作负载能够同时运行,充分利用了现代多核CPU。
技术的游戏
·
2023-12-28 23:06
golang
开发语言
后端
Java基础-
并发编程
-哲学家就餐问题
Java工程师知识树/Java基础问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条。哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿到两只筷子才能吃饭。上述问题会产生死锁的情况,当5个哲学家都拿起自己右手边的筷子,准备拿左手边的筷子时产生死锁现象。死锁情况演示packagecom.thread.study;publicclassDiningPhilosophers{p
HughJin
·
2023-12-28 22:08
Spring Boot 中的虚拟线程
它们被设计为易于使用且高效,为
并发编程
提供了比传统Java线程更简单的模型。Lightweight:与传统线程相比,虚拟线程的重量更轻。它们由JVM管理,许多虚拟线程可以映射到
xuejianxinokok
·
2023-12-28 18:03
java
spring
boot
后端
java
云原生时代崛起的编程语言Go
并发编程
实战
文章目录概述基础理论并发原语协程-Goroutine通道-Channel多路复用-Select通道使用超时-Timeout非阻塞通道操作关闭通道通道迭代定时器-TimerAndTicker工作池-WorkerPools等待组-WaitGroup原子操作-Atomic互斥锁-Mutex读写互斥锁-RWMutex有状态协程单执行-Once条件-Cond上下文-Context信号-signalPool线
IT小神
·
2023-12-28 17:55
Go
云原生
golang
服务器
网络
[云原生] Go并发基础
在java/c++中我们要实现
并发编程
的时候,我们通常需要自己维护一个线程池,并且需要自己去包装一个又一个的任务,同时需要自己去调度线程执行任务并维护上下文切换,这一切通常会耗费程序员大量的心智。
程序员三木
·
2023-12-28 17:52
大后端
golang
云原生
xcode
List集合格式转换
最近遇到一个任务:需要把A集合数据转成B集合的形式:A集合:B集合:代码:packagecom.example.
juc
.test;importcom.example.
juc
.entity.Ld;importcom.example.
juc
.entity.Student
夏林夕
·
2023-12-28 16:28
list
python
windows
Go语言
并发编程
:Goroutines和Channels的详细指南
0.并发和并行的区别并发与并行在许多情况下被用作相互替代的术语,但在计算中,它们之间有着明显的区别。并发是指同时管理很多事情,这是软件设计的一种方式;而并行执行则指同时做很多事情,是根据硬件的计算能力来进行的。例如,假设我们在一个餐厅里做若干件事情:点菜、吃饭、结账。在并发的世界里,我们将这些任务分解开,可以同时管理但不一定同时执行。而在并行的世界里,我们实际上在同一时刻做了多件事情,比如我们可以
苍山有雪,剑有霜
·
2023-12-28 16:27
golang
golang
数据库
sql
探索Go语言的魅力:一门简洁高效的编程语言
Go语言的特性:
并发编程
:Go内置了轻量级线程(goroutine)和通信机制(channel),使
并发编程
变得轻松而高效。
码农阿豪
·
2023-12-28 11:08
好“物”分享
golang
go 源码解读 - sync.WaitGroup
goversion1.19.7在Go语言中,sync.WaitGroup是一个
并发编程
的同步工具,用于等待一组Goroutine执行完毕。
Q_X_Q 慶
·
2023-12-28 11:37
golang
java
开发语言
golang
并发编程
之sync. Map线程安全集合
在Golang中,标准库提供了一个线程安全的映射集合——sync.Map。它可以用于在多个goroutine之间共享数据,并保证线程安全性。sync.Map的使用方式与Go语言中的map类似,但有一些不同之处。下面是一个示例程序,演示如何使用sync.Map实现线程安全的映射集合:packagemainimport("fmt""sync")funcmain(){varmsync.Mapm.Stor
SMILY12138
·
2023-12-28 11:02
golang
第十一章 ThreadLocal全面解析
JUC
并发编程
系列文章http://t.csdn.cn/UgzQi文章目录
JUC
并发编程
系列文章前言一、ThreadLocal介绍二、基本使用1、常用方法2、使用案例3、ThreadLocal类与synchronized
无奈朝来寒雨晚来风
·
2023-12-28 09:43
JUC并发编程
java
jvm
开发语言
AQS源码解读(七)——ReentrantReadWriteLock原理详解(读写锁是一把锁吗?如何一把锁两个状态?)
天青色等烟雨,而我在等你,微信公众号搜索:徐同学呀,持续更新肝货,快来关注我,和我一起学习吧~更多
JUC
源码解读系列文章请持续关注
JUC
源码解读文章目录JDK8!
徐同学呀
·
2023-12-28 08:41
JUC源码解读
ReadWriteLock
读写锁
AQS
JDK8
JUC
从源码全面解析Java 线程池的来龙去脉
作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、
JUC
源码系列如果感觉博主的文章还不错的话
爱敲代码的小黄
·
2023-12-28 08:56
#
高并发
java
面试
开发语言
后端
并发
【
并发编程
】(十三)
JUC
并发工具包的基础——AQS概述
文章目录1.AQS概念1.1.什么是AQS1.2.AQS的实现原理2.使用AQS实现互斥锁2.1.简单互斥锁实现2.2.可重入的实现1.AQS概念AQS是Java中的一个
并发编程
的框架,通过这个框架实现了一些
并发编程
中实用的功能
挥之以墨
·
2023-12-28 08:18
#
并发编程
Java
多线程
java
并发编程
并发编程
(十五)-CompletableFuture中常用方法的使用与分析
文章目录一、CompletableFutureAPI介绍1.描述2.CompletionStage3.CompletableFuture4个核心静态方法(1)runAsync(Runnablerunnable)(2)runAsync(Runnablerunnable,Executorexecutor)(3)supplyAsync(Suppliersupplier)(4)supplyAsync(Su
Super_Leng
·
2023-12-28 08:44
并发编程
java
开发语言
Java
并发编程
面试题——
JUC
专题
文章目录一、AQS高频问题1.1AQS是什么?1.2唤醒线程时,AQS为什么从后往前遍历?1.3AQS为什么用双向链表,(为啥不用单向链表)?1.4AQS为什么要有一个虚拟的head节点1.5ReentrantLock的底层实现原理1.6ReentrantLock的公平锁和非公平锁的区别1.7ReentrantReadWriteLock如何实现的读写锁二、阻塞队列高频问题2.1说下你熟悉的阻塞队列
王二蛋!
·
2023-12-28 07:04
#
金三银四面试
面试
java
并发编程
Java多线程synchronized && Lock && volatile,看完这一篇就够了
线程安全问题一、对线程安全的理解(实际上是内存安全)二、线程同步的实现方法synchronized实现同步Lock实现同步volatile实现同步
JUC
的Callable实现同步三、守护线程四、ThreadLocal
后端漫漫
·
2023-12-28 07:42
Java
java
jvm
开发语言
并发编程
学习笔记 之 常用并发容器的概念及使用方法
1、概念 并发容器是指在高并发应用程序的使用过程中,这些容器(数据结构)是线程安全的,而且在高并发的程序中运行它们会有高效的性能表现。2、BlockingQueue(阻塞队列) BlockingQueue是指其中的元素数量存在界限,当队列已满时(队列元素数量达到了最大容量的临界值),对队列进行写入操作的线程将被阻塞挂起,当队列为空时(队列元素数量达到了为0的临界值),对队列进行读取的操作线程将
姠惢荇者
·
2023-12-28 07:29
笔记
学习
java
数据结构
【
并发编程
】LockSupport源码详解
目录一、前言1.1简介1.2为什么说LockSupport是Java并发的基石?二、LockSupport的用途2.1LockSupport的主要方法2.2使用案例2.3总结三、LockSupport源码分析3.1学习原理前的前置知识3.1.1Unsafe.park()和Unsafe.unpark()3.1.2wait和notify/notifyAll3.1.3LockSupport灵活性3.2L
小七mod
·
2023-12-28 07:50
#
并发编程
Java
Java
多线程
阻塞
并发
LockSupport
【
并发编程
】Java的Future机制详解(Future接口和FutureTask类)
目录一、彻底理解Java的Future模式二、为什么出现Future机制2.1Future类有什么用?三、Future的相关类图2.1Future接口2.2FutureTask类五、FutureTask源码分析5.1state字段5.2其他变量5.3CAS工具初始化5.4构造函数5.5jdk1.8和之前版本的区别六、Callable和Future有什么关系?七、CompletableFuture类
小七mod
·
2023-12-28 07:50
Java
#
并发编程
多线程
Java
并发编程
Future
FutureTask
【java 高
并发编程
之
JUC
】高阶
JUC
特性总结
1线程中断机制1.1什么是中断?首先一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop,Thread.suspend,Thread.resume都已经被废弃了。其次在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,如取消一个耗时操作。因此,Java提供了一种用于停止线程的机制——中断。中断只是一种协作机制,Java没有给中断增加任何语
Young丶
·
2023-12-28 07:37
JUC
java
jvm
开发语言
【java 高
并发编程
之
JUC
】2w字带你
JUC
从入门到精通
点击查看脑图目录地址,实时更新1什么是
JUC
1.1
JUC
简介在Java中,线程部分是一个重点,本篇文章说的
JUC
也是关于线程的。
JUC
就是java.util.concurrent工具包的简称。
Young丶
·
2023-12-28 07:36
JUC
java
jvm
JUC
黑马redis学习记录:分布式锁
分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路分布式锁应该满足的条件:可见性:多个线程都能看到相同的结果,注意:这个地方说的可见性并不是
并发编程
中指的内存可见性
ZZDT0917
·
2023-12-28 07:29
redis
redis
分布式
学习
【
JUC
并发编程
】13 读写锁ReentrantReadWriteLock原理/源码解析
文章目录一、ReentrantReadWriteLock实现原理1、概述1)面试题2:为什么要使用读写锁?2)面试题3:为什么读写锁中读锁和写锁采用一个变量来标识?3)面试题4:读写锁如何保证写线程不饿死?4)如何使用读写锁?2、源码分析原理1)面试题1:读写锁如何实现的(实现原理)?2)成员变量/构造函数1>内部类Sync1>面试题5:为什么实例化Sync时要获取到state变量之后再setSt
秃秃爱健身
·
2023-12-28 07:23
#
精通JUC并发编程
java
juc
面试
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他