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
并发编程
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并发编程
多线程
【最新版】175 道 Go 工程师
大厂面试
题
你好,我是zhenguo昨天,权威编程语言排名网站IEEESpectrum发布就业市场使用最广的语言排名,Go语言排名第六:看网上很多朋友讨论说:Go开发目前前景怎么样?有没有必要学一下?是这样,之前看一个2021年的一个报告就显示Go是程序员最想学的编程语言之一,而且现在不管大厂小厂,Go相关的岗位的确是越来越多,很多公司都在拥抱Go语言!为什么会有那么多人放弃了自己熟悉的语言转学了Go呢?Go
算法channel
·
2024-02-02 02:58
编程语言
列表
微软
nagios
payment
java
大厂面试
题整理(五)线程及线程池相关知识点
先从java开启一个线程开始说。首先常用的有四种方式:继承+两种实现+线程池获取。其实我们之前大量的demo都是newThread(()->{}).start();这个就是继承的方式。这里重点说下两种实现:开启线程方法这里注意两种方式的区别:Runnable没有返回值,而Callable是有返回值的(返回值是传入的泛型类型)Runnable的run是不会抛异常的,而Callable中的call是会
唯有努力不欺人丶
·
2024-02-02 02:54
并发编程
之多线程线程安全
一、什么是线程安全?为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。代码:publicclassThreadTrainimplementsRunnable{privateinttrainCount=100
codeobj
·
2024-02-01 20:49
Java并发基础:Semaphore全面解析!
核心概念Semaphore是java.util.concurrent中非常有用的
并发编程
工具类,它通常被用于限制对某个资源或资源池的并发访问数量。举个实际的例子:假
程序员古德
·
2024-02-01 16:55
Java并发基础
java
数据库
网络
关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
前言在Java
并发编程
中,我们通常使用到synchronized、Lock这两个线程锁,Java中的锁,只能保证对同一个JVM中的线程有效。而在分布式集群环境,这个时候我们就需要使用到分布式锁。
前程有光
·
2024-02-01 16:57
大数据之Spark:Spark
大厂面试
真题
目录1.通常来说,Spark与MapReduce相比,Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制?2.hadoop和spark使用场景?3.spark如何保证宕机迅速恢复?4.hadoop和spark的相同点和不同点?5.RDD持久化原理?checkpoint检查点机制?7.checkpoint和持久化机制的区别?RDD机制理解吗?9.Sparkstreaming以及基本
浊酒南街
·
2024-02-01 12:35
大数据系列三
spark
big
data
面试
双非本科准备秋招(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
开发语言
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
前端
大厂面试
题探索编辑部——第四期
目录题目单选题题解JavaScript的异步编程Promise异步函数async/await关于Ajax题目这期只有一道题,我们来详细讲讲JavaScript的异步编程,当然,异步编程是许多编程语言都有的一种编程思想,我们在前端这个领域,专注学清楚JavaScript和TypeScript就行。单选题6.考虑以下关于JavaScript异步编程的说法,哪个是正确的()A.Promise对象是一种代
曼城巨星哈兰德
·
2024-01-31 22:17
前端
并发编程
-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
JUC
并发编程
(8)--- ForkJoin与Stream并行流
ForkJoin讲解ForkJoin是在JDK1.7出来的,在大数据环境下,并行执行任务,提高效率。原理:用的是分支合并的思想,将大任务拆成多个小任务并行,然后再合并成原来任务ForkJoin的特点:工作窃取假设有线程A和线程B同时执行队列中的任务,线程B先执行完,然后线程B不能闲着,就会窃取线程A对应队列后面没有执行完的来执行,这样就提高效率。就是自己执行完,帮别人执行。我们来举个求和案例,在I
小样x
·
2024-01-31 17:16
JUC并发编程
java
多线程
JUC
并发编程
-单例模式、深入理解CAS、原子引用
18.玩转单例模式饿汉式、DCL懒汉式单例模式,单线程模式下是安全的的,但是多线程模式下,不安全1)饿汉式/***饿汉式单例*/publicclassHungry{/***可能会浪费空间*/privatebyte[]data1=newbyte[1024*1024];privatebyte[]data2=newbyte[1024*1024];privatebyte[]data3=newbyte[10
666-LBJ-666
·
2024-01-31 17:44
JUC并发编程
单例模式
JUC
java并发编程
JUC
并发编程
-异步回调、JMM、volatile
15.异步回调Future设计的初衷:对将来的某个事件结果进行建模!其实就是前端-->发送ajax异步请求给后端但是我们平时都使用CompletableFuture1)异步调用:CompletableFuture没有返回值的异步回调publicstaticvoidmain(String[]args)throwsExecutionException,InterruptedException{//发起
666-LBJ-666
·
2024-01-31 17:14
JUC并发编程
JUC
多线程
并发编程
JuC
并发编程
-ForkJoin与异步回调
1、ForkJoin特点:工作窃取里边维护的是双端队列packagecom.zkw.JUC
并发编程
.forkjoin;importjava.util.concurrent.RecursiveTask;publicclassForkJoinDemonextendsRecursiveTask
小白程序猿一枚
·
2024-01-31 17:43
java
JUC
并发编程
-四大函数式接口、Stream 流式计算、ForkJoin并行执行任务
12.四大函数式接口新时代的程序员:lambda表达式、链式编程、函数式接口、Stream流式计算函数式接口:只有一个方法的接口,可以有一些默认的方法如:Runnable接口函数1)Function函数型接口publicclassFunctionDemo{publicstaticvoidmain(String[]args){Functionfunction=(str)->{returnstr;};
666-LBJ-666
·
2024-01-31 17:12
JUC并发编程
多线程
并发编程
JUC
Java基础-多线程(3)
所以
并发编程
的目标是充分的利用处理器的每一个核,以达到最高的处理性能。36.线程和进程的区别?简而言之,进程是程序运行和资源分配的基本
C乖
·
2024-01-31 16:51
Java
大厂面试
题 Java教程 Java电子书Java导图
Java面试必备技能:Java
大厂面试
题+Java架构视频+Java面试攻略+Java简历模板免费领取!如今的程序开发和10年前有了很大的不同。
刘好看静静
·
2024-01-31 12:45
Python
并发编程
的概念和重要性
并发编程
是一种编程方式,它允许在单台处理器上同时处理多个任务或操作。这些任务可以在单个处理器上通过时间分片技术实现,也可以在多核或多处理器系统上真正地并行执行。
轻编程
·
2024-01-31 10:05
python
java
数据库
开发语言
Reactor简述
1、概念Reactor是一个计算机编程模式,它在
并发编程
和网络编程中用于处理大量并发输入事件。
xixingzhe2
·
2024-01-31 10:42
架构设计
java
网络
数据库
java
漫画图解 Go
并发编程
之:Channel
当谈到并发时,许多编程语言都采用共享内存/状态模型。然而,Go通过实现CommunicatingSequentialProcesses(CSP)而与众不同。在CSP中,程序由不共享状态的并行处理器组成;相反,他们使用Channel来沟通和同步他们的行动。因此,对于有兴趣采用Go的开发人员来说,理解Channel的工作原理变得至关重要。在本文中,我将使用地鼠经营他们想象中的咖啡馆的令人愉快的类比来说
夜莺云原生监控
·
2024-01-31 10:41
SRETalk
golang
Go
并发编程
史上最全HBase面试题,高薪必备,架构必备
这里特别说明一下:《尼恩Java面试宝典》41个专题PDF自首次发布以来,已经汇集了好几千题,大量的
大厂面试
干货、正货,足足4800多页,帮助很多小伙伴进了大厂,拿了高薪。
40岁资深老架构师尼恩
·
2024-01-31 09:09
面试
大数据
架构
面试
hbase
hadoop
java
史上最全Flink面试题,高薪必备,大数据面试宝典
这里特别说明一下:《尼恩Java面试宝典》41个专题PDF自首次发布以来,已经汇集了好几千题,大量的
大厂面试
干货、正货,足足4800多页,帮助很多小伙伴进了大厂,拿了高薪。
40岁资深老架构师尼恩
·
2024-01-31 09:08
面试
大数据
flink
面试
架构
后端
分布式
大厂必面:你们系统qps多少,怎么部署的?假设每天有几千万请求,该如何部署?
在高级开发面试、
大厂面试
、架构师的面试过程中,常常会遇到下面的问题:你们系统qps多少?怎么部署的?假设每天有几千万请求,你的系统如何部署?
40岁资深老架构师尼恩
·
2024-01-31 09:38
面试
java
开发语言
面试
架构
系统架构
分布式
JVM 逃逸分析 (史上最全)
对于JVM“逃逸分析”特性,也是近年来
大厂面试
、高薪面试的常见面试题。和逃逸分析有关的常见面试题:Java中的对象一定是在堆上分配的吗?
40岁资深老架构师尼恩
·
2024-01-31 09:32
java
jvm
java
面试
并发编程
的12条规范
1.获取单例对象需要保证线程安全我们在获取单例对象的时候,要确保线性安全哈。比如双重检查锁定(Double-CheckedLocking)的单例模式,就是一个经典案例,你在获取单实例对象的时候,就需要保证线性安全,比如加synchronized确保现象安全,代码如下:public class Singleton { private volatile static Singleton inst
BUG指挥官
·
2024-01-31 06:54
单例模式
java
上一页
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
其他