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
并发编程原理分析
go语言-用channel控制goroutine的退出
的退出本文简要介绍了,如何用channel控制goroutine的退出的基本方法for-range主动停止goruitinepackagemainimport("fmt""sync""time")/*Go
并发编程
模型
SRExianxian
·
2024-02-03 03:34
golang
数据库
开发语言
【
并发编程
】JUC原子操作类
个人主页:五敷有你系列专栏:
并发编程
⛺️稳重求进,晒太阳原子操作类原子基本数据类型原子数组原子引用类型原子更新字段类型原子基本数据类型AtomicBooleanAtomicIntegerAtomicLong
五敷有你
·
2024-02-03 01:13
并发编程
spring
boot
开发语言
juc
并发编程
juc并发线程学习笔记(一)
并发编程
进程与线程1.进程和线程的概念程序是静态的,进程是动态的进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。
happystudy_neu
·
2024-02-02 23:59
学习
笔记
后端
epoll
原理分析
,图文并茂讲解epoll,彻底弄懂epoll机制
目录1.epoll基础简介1.1相关函数介绍2.epoll软件架构3.LT模式和ET模式3.1LT模式:水平触发3.2ET模式:边缘触发4.阻塞和非阻塞5.epoll为什么高效?6.epoll示例程序6.1服务端程序6.2客户端程序往期文章回顾:IO复用之selectIO复用之pollUDP编程基础TCP编程基础套接字核心函数套接字地址1.epoll基础简介1.1相关函数介绍epoll_creat
物联网心球
·
2024-02-02 22:46
Linux网络编程
linux
物联网
tcp/ip
网络
c语言
C++新特性 协程
本篇文章我们来讲述一下C++协程协程(Coroutine)是一种能够挂起个恢复的函数过程是一种轻量级的
并发编程
方式,也称为用户级线程。
4399.9855
·
2024-02-02 22:31
C++
新特性
开发语言
c++
Linux:无锁化编程 __sync_fetch_and_add原理及其实现分析
这也是
并发编程
的难点。在目前多核条件下,这种困境会越来越彰显出来。最简单的处理办法就是加锁保护,看下面的代码:pthread_mutex_tc
技术探索者
·
2024-02-02 19:45
#
C
linux
知识
__sync_fetch
JUnit Rule
原理分析
为了加深对JUnitRule的理解,将其拆分出来单独作为一篇文章讲述.JUnitRule
原理分析
在写自定义Rule之前先对之前说到的系统实现的Rule做一个简单的
原理分析
,这样更能加深我们对自定义Rule
changer0
·
2024-02-02 19:14
【代码随想录-链表】环形链表 II
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-02-02 18:48
s6
算法与数据结构
链表
数据结构
final,finally,finalize有什么不同?
在
并发编程
中,final声明的变量可以减少额外的同步开销,和省去防御性拷贝的必要
原创迷恋者
·
2024-02-02 16:50
promise 简介
二、Promise
原理分析
Promise原理说起来并不难,它内部有三个状态,分别是pending,fulfilled和rejected。
菜菜的小阿允
·
2024-02-02 15:52
JUC, Java
并发编程
JUC概述线程状态线程状态枚举类NEW新建RUNNABLE准备就绪BLOCK阻塞WAITING不见不散TIMED_WAITING过时不候TERMINATED中结并行与并发wait和sleep的区别sleep是Thread的静态方法,wait是Object的方法,任何对象实例都可以调用。sleep不会释放锁,它也不需要占用锁。若当前线程占有锁,那么wait会释放锁。他们都可以被interrupted
Benaso
·
2024-02-02 14:10
JUC
java
开发语言
JUC
并发编程
Java
并发编程
(JavaConcurrency)是指在Java程序中同时进行多个任务的一种编程方式。
星光不问赶路人-
·
2024-02-02 12:14
并发
JUC
c.x.j.core.thread.TriggerCallbackThread: java.io.EOFException:read0bject:unexpected end of file 解决方法
目录前言1.问题所示2.
原理分析
3.解决方法前言一般出现如下问题,都由xxl-Job引起,推荐基础知识补充:详细分析Java中的分布式任务调度框架XXL-Jobjava框架零基础从入门到精通的学习路线附开源项目面经等
码农研究僧
·
2024-02-02 11:57
BUG
java
xxl-job
Bug
关于Redis Cluster集群运维与核心原理
、Redis集群方案比较哨兵模式高可用集群模式2、Redis高可用集群搭建3、Java操作redis集群1、Redis客户端Jedis操作2、集群的SpringBoot整合Redis4、Redis集群
原理分析
槽位定位算法跳转重定位
秋天的一亩三分地
·
2024-02-02 10:00
redis
运维
分布式
摘要 Think in Java (Bruce Eckel) (一)
第一章对象导论1抽象过程2每个对象都有一个接口3每个对象都提供服务4被隐藏的具体实现5复用具体实现6继承7伴随多态的可互换对象8单根继承结构9容器10对象的创建和生命期11异常处理处理错误12
并发编程
13Java
viclesliewong
·
2024-02-02 09:15
Java
java
并发编程
基础(四)
Java中的锁1.Lock接口锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程访问共享资源。在lock接口出现之前,java程序依靠synchroized关键字实现锁的功能,Loc接口拥有了获取锁与释放锁的可操作性,可中断的获取锁。packagecn.smallmartial.concurrency;importjava.util.concurrent.locks.Reen
smallmartial
·
2024-02-02 08:21
JVM逃逸分析详解
逃逸分析的基本
原理分析
对象动态作用域,当一个对象在方法里面被定义后,它可能被
创作小达人
·
2024-02-02 07:51
java
jvm
开发语言
【Objective-C语言 面向对象版的士兵突击】
一、
原理分析
士兵要射击,需要有枪。枪要开火,需要有弹夹。弹夹装子弹,需要判断子弹数量是否大于最大装弹量。原则就是自己的事情自己做,判断装弹量是否大于0,并且小于最大装弹量,是弹夹的事儿。
清风清晨
·
2024-02-02 07:00
Objective-C
objective-c
ios
开发语言
JUC
并发编程
-各种锁:公平锁,非公平锁、可重入锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁升级顺序、死锁、死锁排查
21.各种锁的理解1)公平锁,非公平锁在Java中,锁(Lock)是一种用于多线程同步的机制。公平锁和非公平锁是两种不同类型的锁。公平锁(FairLock)是指线程获取锁的顺序与线程请求锁的顺序保持一致。换句话说,当多个线程同时请求一个公平锁时,锁会按照线程请求锁的顺序逐一分配锁。因此,公平锁保证了线程获取锁的公平性,在一定程度上避免了线程饥饿现象(某些线程一直无法获取到锁)。公平锁的实现通常会有
666-LBJ-666
·
2024-02-02 06:27
JUC并发编程
JUC
java并发编程
多线程
并发编程
之多线程线程安全
一、什么是线程安全?为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。代码:publicclassThreadTrainimplementsRunnable{privateinttrainCount=100
codeobj
·
2024-02-01 20:49
【Java】Java的对象参数踩坑总结
文章目录前言失败的修改成功的修改
原理分析
基本类型参数对象引用参数举一反三:不修改对象参数怎么写?前言今天写代码的时候,犯了一个很基础很低级的错误。实在惭愧,在此花点顺手记录一下,养成习惯。
Shujie_L
·
2024-02-01 18:19
Java
java
开发语言
《ARM与Linux些许问题》第四章:ARM平台系统调用
原理分析
本文基于mstar801平台Linux2.6.35.11版本。首先说明:系统调用不会导致进程上下文切换。一、介绍系统调用——Linux用户空间主动进入内核空间的唯一方法1.系统调用是操作系统提供给用户程序调用的一组“特殊”接口;用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口;把用户进程的请求传达给内核,待内核把请求处理
zhangjikuan
·
2024-02-01 16:00
ARM
Linux
系统调用
swi
api
Java并发基础:Semaphore全面解析!
核心概念Semaphore是java.util.concurrent中非常有用的
并发编程
工具类,它通常被用于限制对某个资源或资源池的并发访问数量。举个实际的例子:假
程序员古德
·
2024-02-01 16:55
Java并发基础
java
数据库
网络
关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
前言在Java
并发编程
中,我们通常使用到synchronized、Lock这两个线程锁,Java中的锁,只能保证对同一个JVM中的线程有效。而在分布式集群环境,这个时候我们就需要使用到分布式锁。
前程有光
·
2024-02-01 16:57
Cesium箭头线实现
原理分析
Cesium原生提供了箭头线的材质,效果如图1所示图1Cesium箭头线效果由于遇到了改造箭头线材质的需求,因此花了一些时间对箭头线材质的原理做了一些了解。在此总结和分享,不足之处也请大家指正。Cesium在内部做了哪些操作,使得我们通常认为的如图2所示的一根带宽度线变为如图3所示的箭头线的呢?图2普通带宽度的线图3箭头线轮廓Cesium箭头线材质的着色器代码位于Source/Shaders/Ma
refineiks
·
2024-02-01 14:43
Cesium
图形渲染
双非本科准备秋招(12.1)—— JVM4:类文件结构与加载机制
学了五天JVM了,不打算学的太深,这几天收获也很多,对很多底层原理有了那么一点了解,以后肯定还会继续加深JVM的学习理解的,暂时先到此为止,接下来是为期一个星期的JUC
并发编程
学习。
随心自风流
·
2024-02-01 10:21
开发语言
jvm
java
求职招聘
intellij-idea
快速排序
算法思想:从序列中找一个数作为基准数将比基准数大的数放到它的右边,比基准数小的数放到它的左边再分别对左右区间重复步骤二,直到各个区间只有一个数为止算法
原理分析
1、选择最左边的数为基准数key2、设立两个游标
Amica
·
2024-02-01 10:14
【
并发编程
】锁
目录1、锁的分类1.1可重入锁、不可重入锁1.1.1定义1.2乐观锁、悲观锁1.2.1定义1.3公平锁、非公平锁1.3.1定义1.4互斥锁、共享锁1.4.1定义2、synchronized2.1类锁,对象锁2.2synchronized优化2.3synchronized实现原理2.4synchronized的锁升级2.5重量锁底层ObjectMonitorObjectMonitor核心属性:C++
lxtx-0510
·
2024-02-01 09:49
并发编程
java
开发语言
go
并发编程
-定时器与select多路复用
1.定时器Timer:时间到了,执行只执行1次packagemainimport("fmt""time")funcmain(){//1.timer基本使用//timer1:=time.NewTimer(2*time.Second)//t1:=time.Now()//fmt.Printf("t1:%v\n",t1)//t2:=<-timer1.C//fmt.Printf("t2:%v\n",t2)/
leellun
·
2024-02-01 08:39
go并发编程
go从入门到实践
golang
开发语言
后端
go
并发编程
-锁、Sync与原子操作
1.并发安全和锁有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞态)。类比现实生活中的例子有十字路口被各个方向的的汽车竞争;还有火车上的卫生间被车厢里的人竞争。举个例子:varxint64varwgsync.WaitGroupfuncadd(){fori:=0;i<5000;i++{x=x+1}wg.Done()}funcmain(){w
leellun
·
2024-02-01 08:39
go并发编程
golang
算法
开发语言
【
并发编程
】线程安全单例
个人主页:五敷有你系列专栏:
并发编程
⛺️稳重求进,晒太阳产生线程安全的原因:1.操作系统中,线程的调度是随机的2.两个线程针对同一个变量进行修改3.修改操作,不是原子性的4.内存可见性问题解决线程安全使用
五敷有你
·
2024-02-01 05:37
并发编程
java
单例模式
开发语言
并发编程
jvm
Mybatis的两级缓存简述
的两级缓存简述一级缓存一级缓存分析清空缓存的方式二级缓存二级缓存原理图开启二级缓存步骤二级缓存的禁用缓存的属性配置一级缓存一级缓存默认自动开启,存在内存中(本地缓存)不能被关闭,可以调用clearCache()来清空本地缓存,或者改变缓存的作用域,是SqlSession级别的缓存一级缓存分析工作
原理分析
当用户发起第一次查询
CavenWang
·
2024-02-01 05:34
mybatis
缓存
java
开发语言
面试专题——JUC
并发编程
+集合
文章目录面试系列1、Cas(比较并交换)2、AQS(AbstractQueuedSynchronizer)=>抽象队列同步器3、Volatile:3.1、JMM3.2、As-If-Serial原则3.3、Happens-Before原则3.4、volatile原理3.5、作用3.6、原子操作3.7、高速缓存3.8、MESI状态切换3.9、伪共享4、ReentrantLock4.1、原理5、Sync
zhz小白
·
2024-02-01 05:24
架构师-性能优化
java
Java——JUC高
并发编程
,面试必问( CompletableFuture )
12CompletableFuture12.1CompletableFuture简介CompletableFuture在Java里面被用于异步编程,异步通常意味着非阻塞,可以使得我们的任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是否异常等信息。CompletableFuture实现了Future,CompletionStage接口,实现了F
真真最可爱
·
2024-02-01 05:24
JUC
大厂必备
高并发编程
java
面试
completable
future
并发编程
技术之J.U.C中的并发容器——七个面试知识点
点关注,不迷路;持续更新Java架构相关技术及资讯热文!!!眼尖的朋友可能还看见了此博客页面左上角还有惊喜哟面试题1.Java集合框架以及J.U.C框架中列举List、Set、Map的实现?集合框架ListArrayListLinkedListMapHashMapSetHashSetTreeSetJ.U.C框架ListCopyOnWriteArrayListSetCopyOnWriteArrayS
Java_No01
·
2024-02-01 05:53
面试题
并发编程
并发容器
面试题
Java
程序人生
并发编程
专题——第二章(
并发编程
之Synchronized详解)
日常中我们都会用到Synchronized关键字,但是面试就喜欢问这些,你说不重要吧,面试就不问了,你说重要吧,工作中除了高并发之外,很少能在业务代码中使用到的。所以笔者顶着风险,写下此篇对Synchronized的深入剖析,看完你会有收获!1、抛砖引玉多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况,这个资源我们称之其为临界资源;这种资源可能是:对象、变量、文件等。共享:资源
风清扬逍遥子
·
2024-02-01 05:53
并发编程专题
面试
java
synchronized
并发编程
核心——一基本概念
主要内容(镇楼!)1.常见高并发基础:synchronized、volatile、happens-before、CAS、ThreadPoolExecutor、Executor、ThreadLocal、Condition、Semaphore;2.经典并发工具:automic、ABA、ReentrantLock、ReadWriteLock、Adder、Accumulator、StampedLock、C
过期小朋友、
·
2024-02-01 05:53
高并发学习笔记
并发编程
(九)——集合相关面试问题
1、线程安全的集合(单列)怎么选择?List、Set集合,线程安全的有哪些?Vector,有,但是基本不考虑。(synchronized同步方法)Collections.synchronizedList,也可以拿到线程安全的集合(synchronized同步代码块)CopyOnWrite系列。(lock锁)如果数据体量贼大,不考虑读的问题,还需要保证线程安全?答:第一点,不能考虑CopyOnWri
小灰灰-58
·
2024-02-01 05:52
并发编程
java
并发编程
—如何解决可见性和有序性问题
在上一篇
并发编程
之BUG源头我们介绍了导致
并发编程
出现诡异问题的三大源头,即:缓存导致了可见性问题,线程切换带来了原子性问题,编译优带来了有序性问题,这三个Bug源头在所有的编程语言中都会遇到,那么今天就聊聊
瞎胡扯1
·
2024-02-01 05:48
[
并发编程
基础] Java线程的创建方式
文章目录线程的创建方式继承`Thread`实现`Runnable`接口实现`Callable`接口使用`Lambda`使用线程池线程创建相关的`jdk`源码`Thread`类`Runnable`函数接口`Callable`函数接口`executors`线程的创建方式继承Thread创建一个继承Thread类的子类。重写Thread类的run()方法。在run()方法中编写线程要执行的任务。创建Th
程序员三木
·
2024-02-01 03:48
Java探索者之路
java
开发语言
Java-
并发编程
-常见面试题-总结
JMM(Java内存模型)JMM(Java内存模型)相关的问题比较多,也比较重要,于是我单独抽了一篇文章来总结JMM相关的知识点和问题:JMM(Java内存模型)详解。#volatile关键字#如何保证变量的可见性?在Java中,volatile关键字可以保证变量的可见性,如果我们将变量声明为volatile,这就指示JVM,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。volatile
无心六神通
·
2024-02-01 02:13
java
开发语言
Java 并发系列十五 : 两阶段终止模式-如何优雅地终止线程?
前言感谢王宝令老师的
并发编程
课程今天咱们从技术的角度聊聊如何优雅的终止一个线程。
逗逼程序员
·
2024-02-01 00:39
Java
并发编程
之阻塞队列
1.什么是阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来
逍遥白亦
·
2024-01-31 22:24
并发编程
-11线程安全策略之线程封闭
原文链接:https://blog.csdn.net/yangshangwei/article/details/87886079脑图概述在上篇博文
并发编程
-10线程安全策略之不可变对象,我们通过介绍使用线程安全的不可变对象可以保证线程安全
java高并发
·
2024-01-31 22:38
面试官:给我讲讲线程池(上)
面试官:我看简历上写了精通
并发编程
,那么线程池在平时的工作中肯定需要用到吧,你一般是用在什么场景下呢?
码农小张
·
2024-01-31 21:22
Java 高
并发编程
——Reactor模式(多线程)
1多线程版本的Reactor模式演进Reactor和Handler挤在一个单线程中会造成非常严重的性能缺陷,可以使用多线程来对基础的Reactor模式进行改造。多线程Reactor的演进分为两个方面:1、升级Handler。既要使用多线程,又要尽可能高效率,则可以考虑使用线程池。2、升级Reactor。可以考虑引入多个Selector(选择器),提升选择大量通道的能力。总体来说,多线程版本的Rea
geminigoth
·
2024-01-31 18:01
java
java
开发语言
nio
Reactor
netty
Java 高
并发编程
——Reactor模式(多线程)备份
1多线程版本的Reactor模式演进Reactor和Handler挤在一个单线程中会造成非常严重的性能缺陷,可以使用多线程来对基础的Reactor模式进行改造。多线程Reactor的演进分为两个方面:1、升级Handler。既要使用多线程,又要尽可能高效率,则可以考虑使用线程池。2、升级Reactor。可以考虑引入多个Selector(选择器),提升选择大量通道的能力。总体来说,多线程版本的Rea
geminigoth
·
2024-01-31 18:01
java
java
开发语言
nio
Reactor
netty
java-JUC
并发编程
学习笔记03(尚硅谷)
线程间通信例子:对一个值+1-1交替完成,a的值就是1b的值就是0这个过程就是线程间通信Synchronized实现:虚假唤醒问题:我们再添加两个线程。我们发现我们的结果就不对了。我们只需要使用while即可。我们线程通信的最后一步就是防止虚假通信的出现。Lock实现:运行结果:这就是我们使用lock和synchronized两种方式进行线程的通信的基础学习。
抹茶味的西瓜汁
·
2024-01-31 18:20
多线程并发编程
学习
笔记
并发编程
之:Atomic
大家好,我是小黑,一个在互联网苟且偷生的农民工。在开始讲今天的内容之前,先问一个问题,使用int类型做加减操作是不是线程安全的呢?比如i++,++i,i=i+1这样的操作在并发情况下是否会有问题?我们通过运行代码来看一下。publicclassAtomicDemo{publicstaticvoidmain(String[]args)throwsInterruptedException{Datada
小黑说Java
·
2024-01-31 17:31
JUC
并发编程
(九)-- Fork/Join框架
JUC
并发编程
(九)--Fork/Join框架一、什么是Fork/Join1、概述2、特点二、代码实现一、什么是Fork/Join1、概述fork/join框架可以将一个大任务,拆分成一个个的小任务,然后分别计算
书生灬今天不吃饭
·
2024-01-31 17:47
多线程
java
java
多线程
并行计算
并发编程
forkjoin
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他