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
java后端并发模型并发编程
Linux:无锁化编程 __sync_fetch_and_add原理及其实现分析
这也是
并发编程
的难点。在目前多核条件下,这种困境会越来越彰显出来。最简单的处理办法就是加锁保护,看下面的代码:pthread_mutex_tc
技术探索者
·
2024-02-02 19:45
#
C
linux
知识
__sync_fetch
【代码随想录-链表】环形链表 II
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-02-02 18:48
s6
算法与数据结构
链表
数据结构
什么是接口的幂等性,如何保证接口的幂等性?
✅作者简介:大家好,我是Leo哥,热爱
Java后端
开发者,一个想要与大家共同进步的男人个人主页:Leo哥的博客当前专栏:Java✨特色专栏:MySQL学习本文内容:什么是接口的幂等性,如何保证接口的幂等性
LeoToJavaer
·
2024-02-02 18:18
Java
幂等性
final,finally,finalize有什么不同?
在
并发编程
中,final声明的变量可以减少额外的同步开销,和省去防御性拷贝的必要
原创迷恋者
·
2024-02-02 16:50
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
摘要 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
JUC
并发编程
-各种锁:公平锁,非公平锁、可重入锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁升级顺序、死锁、死锁排查
21.各种锁的理解1)公平锁,非公平锁在Java中,锁(Lock)是一种用于多线程同步的机制。公平锁和非公平锁是两种不同类型的锁。公平锁(FairLock)是指线程获取锁的顺序与线程请求锁的顺序保持一致。换句话说,当多个线程同时请求一个公平锁时,锁会按照线程请求锁的顺序逐一分配锁。因此,公平锁保证了线程获取锁的公平性,在一定程度上避免了线程饥饿现象(某些线程一直无法获取到锁)。公平锁的实现通常会有
666-LBJ-666
·
2024-02-02 06:27
JUC并发编程
JUC
java并发编程
多线程
Java后端
发送http请求
1、在pom.xml中导入jar的坐标org.apache.httpcomponentshttpclient4.5.52、创建请求客户端CloseableHttpClientaDefault=HttpClients.createDefault();//方式一CloseableHttpClienthttpClient=HttpClientBuilder.create().build();//方式二3
榎木
·
2024-02-02 00:00
java
SpringBoot
java
后端
http
java后端
的http网络编程---主要是传输文件接口
先放一句话:传输过程中,客户端断网或者什么其他情况,导致传输终止。服务器不会因为接受一半而保存一半文件的。另外,建议如果服务器端端口是80,我们在创建http连接的时候,不要带上端口号了,否则在域名的情况下,会报错。
m0_67401228
·
2024-02-02 00:59
java
服务器
运维
java
大数据
xcode
并发编程
之多线程线程安全
一、什么是线程安全?为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。代码:publicclassThreadTrainimplementsRunnable{privateinttrainCount=100
codeobj
·
2024-02-01 20:49
充电桩项目实战:短信功能 分布式限流
题外话:如果想年后找到更好的工作,推荐看这篇文章:
Java后端
面试复习规划表,5万字登录界面在做充电桩项目时,其中用户的登录、注册等都需要用到短信这个功能,所以,我们在开发之前要做一些相对深入的考虑。
田哥coder
·
2024-02-01 18:51
分布式
java安装与入门,MySQL安装与入门,Linux安装与入门,git安装与入门
一.java安装与入门1,安装idea2.快捷方式3.Java入门基础4.常见的API(非常全面)链接:
java后端
__阿伟_的博客-CSDN博客二.MySQL安装与入门1.MySQL安装2.MySQL
_阿伟_
·
2024-02-01 16:13
java
开发语言
Java并发基础:Semaphore全面解析!
核心概念Semaphore是java.util.concurrent中非常有用的
并发编程
工具类,它通常被用于限制对某个资源或资源池的并发访问数量。举个实际的例子:假
程序员古德
·
2024-02-01 16:55
Java并发基础
java
数据库
网络
关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
前言在Java
并发编程
中,我们通常使用到synchronized、Lock这两个线程锁,Java中的锁,只能保证对同一个JVM中的线程有效。而在分布式集群环境,这个时候我们就需要使用到分布式锁。
前程有光
·
2024-02-01 16:57
Servlet过去好兄弟JSP
例如,对于已经存在大量JSP页面的传统项目,或者需要与现有
Java后端
代码紧密集成的项目
Gambler_Tu
·
2024-02-01 13:18
servlet
servlet
jsp
HTTP概述
在
Java后端
开发中,HTTP扮演着重要的角色。以下是
Java后端
视角下的HTTP概述:HTTP请求:客户端发送HTTP请求到服务器,请求中包含了请求行、请求头和请求体。
Gambler_Tu
·
2024-02-01 13:15
http
servlet
http
网络协议
Rust实践:使用Tokio实现Actor系统
简介:原文:ActorswithTokio原文主要介绍了如何使用Tikio而不是已有的Actor库(Actix)来实现Actor系统,在我之前的文章里也讲过Actor系统是什么C++Actor
并发模型
框架
BBinChina
·
2024-02-01 11:00
Rust
每周入门实践
双非本科准备秋招(12.1)—— JVM4:类文件结构与加载机制
学了五天JVM了,不打算学的太深,这几天收获也很多,对很多底层原理有了那么一点了解,以后肯定还会继续加深JVM的学习理解的,暂时先到此为止,接下来是为期一个星期的JUC
并发编程
学习。
随心自风流
·
2024-02-01 10:21
开发语言
jvm
java
求职招聘
intellij-idea
【
并发编程
】锁
目录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
面试专题——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
开发语言
Go语言在构建HTTP代理时的优势和挑战
并发模型
:Go语言的
并发模型
基于
华科℡云
·
2024-02-01 03:14
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后端
开发面经2
面经来源于github上的Java-Interview在学习时,用自己的语言解释11."=="和equals方法究竟有什么区别?==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独
土豆烩芋头
·
2024-02-01 00:58
java面经基础
java
开发语言
学习
经验分享
JAVA后端
开发面经3
面经来源于github上的Java-Interview在学习时,用自己的语言解释21.面向对象的特征有哪些方面面向对象的编程语言有封装、继承、抽象、多态等4个主要的特征。封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。例如,人要在黑板上画圆,这一共涉及三个对象:人、黑板、圆,画圆的方法要分配给哪个对象呢?由于画圆需要使
土豆烩芋头
·
2024-02-01 00:28
java面经基础
java
开发语言
学习
经验分享
Java后端
开发面经1
面经来源于github上的Java-Interview在学习时,用自己的语言解释1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。深入说明:无,有过编程经验的人都比较了解2.Java有没有goto?没有,但是goto是java中的保留字。深入说明:无3.说说&和&&的区别(好问题)&和&
土豆烩芋头
·
2024-02-01 00:57
java面经基础
java
面试
经验分享
百度
java后端
开发面经
1.说一下线程池的四种创建方法newCachedThreadPoolnewFixedThreadPoolnewSingleThreadExecutornewScheduledThreadPool2.乐观锁和悲观锁的区别就是比较悲观的锁,总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它
Tomatoin丶
·
2024-02-01 00:25
java
面试
后端
Java后端
开发面经
有赞(一面)2021年5月26日时长:53分钟1.自我介绍2.springboot用过吗?和spring有什么区别?3.spring创建对象的过程,顺带着引申了一下ioc4.AOP是啥,然后讲讲它的原理,再讲讲什么是动态代理(这个问题回答的不好,动态代理没有讲清楚,解耦忘了说了)5.Hashmap的原理,如何存放元素,什么时候扩容,什么时候链表变成红黑树,再讲一下红黑树的实现原理(红黑树讲的不清楚
大黑写代码
·
2024-02-01 00:55
面经
java
mysql
spring
redis
JAVA后端
开发面经7
面经来源于github上的Java-Interview在学习时,用自己的语言解释61.去掉一个Vector集合中重复的元素第一种方法:VectornewVector=newVector();For(inti=0;io1.age?1:age
土豆烩芋头
·
2024-02-01 00:19
java面经基础
java
开发语言
学习
经验分享
面试
spring
boot
java-ee
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
JUC
并发编程
三(stream流式计算、ForkJoin、异步回调、JMM、Volatile、单例模式)
十三、Stream流式计算(必修掌握)什么是Stream流式计算?大数据:存储+计算存储:集合、MySQL本质就是存储东西的;计算:都应该交给流来操作!常用方法:可以看出参数类型是我们刚刚学过的断点型函数式接口,只有参数返回值类型为boolean等等,大多数的都是函数式接口,所以一定要先学会函数式接口再来学stream流解析:u就是个形式参数,是从stream里面得出的泛型推荐使用stream流,
无极的移动代码
·
2024-01-31 17:46
Java基础学习
java
java-ee
spring
maven
tomcat
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他