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后端
面试专题——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
ThreadLocal使用及应用场景分析
特点简单(开箱即用)、快速(无额外开销)、安全(
线程安全
)。场景多线程场景(资源持有、线程一致性、并发计算、
线程安全
等场景)。实现原理Java中用哈希表实现。应用范围几乎所有提供多线程特征的语言。
小灰灰-58
·
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,有,但是基本不考虑。
小灰灰-58
·
2024-02-01 05:52
并发编程
java
并发编程
—如何解决可见性和有序性问题
在上一篇
并发编程
之BUG源头我们介绍了导致
并发编程
出现诡异问题的三大源头,即:缓存导致了可见性问题,线程切换带来了原子性问题,编译优带来了有序性问题,这三个Bug源头在所有的编程语言中都会遇到,那么今天就聊聊
瞎胡扯1
·
2024-02-01 05:48
13.java多线程
`Runnable`接口选择方式的依据线程生命周期线程同步设置线程名称:获取线程名称:线程的优先级设置线程优先级获取线程优先级线程终止1.正常终止2.强制终止线程礼让使用Thread.yield()`
线程安全
冲天锦鲤
·
2024-02-01 03:28
java
[
并发编程
基础] 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框架面试篇
Spring框架springBean
线程安全
问题@Scope注解我们可以在bean的类上加@Scope注解来声明这个Bean是单个实例还是多个实例。
编程小猹
·
2024-02-01 01:33
面试
java
面试
开发语言
设计模式-创建者模式
使用单例模式要做的两件事1.保证一个类只有一个实例2.为该实例提供一个全局访问节点1.1饿汉式在类加载期间初始化静态实例,保证instance实例的创建是
线程安全
的(实例在类加载时实例化,有JVM保证
线程安全
欧冶渃
·
2024-02-01 01:03
23种设计模式
设计模式
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
线程安全
问题
目录1.什么是
线程安全
问题?
_殊途
·
2024-01-31 23:00
jvm
Java
并发编程
之阻塞队列
1.什么是阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来
逍遥白亦
·
2024-01-31 22:24
并发编程
-11
线程安全
策略之线程封闭
原文链接:https://blog.csdn.net/yangshangwei/article/details/87886079脑图概述在上篇博文
并发编程
-10
线程安全
策略之不可变对象,我们通过介绍使用
线程安全
的不可变对象可以保证
线程安全
java高并发
·
2024-01-31 22:38
i++自增运算符的
线程安全
问题
Java中的i++操作在多线程环境下存在
线程安全
问题。原因是i++操作并非原子操作,它包含了读取、递增和写回三个步骤。
你小汁完了
·
2024-01-31 21:21
面试题
java
算法
开发语言
【JAVA】单例模式的
线程安全
性
个人博客:个人主页个人专栏:JAVA⛳️功不唐捐,玉汝于成目录正文我的其他博客正文老生常谈的问题了,首先要说的是单例模式的
线程安全
意味着:某个类的实例在多线程环境下只会被创建一次出来。
还在路上的秃头
·
2024-01-31 21:27
JAVA
java
单例模式
开发语言
面试
笔记
面试官:给我讲讲线程池(上)
面试官:我看简历上写了精通
并发编程
,那么线程池在平时的工作中肯定需要用到吧,你一般是用在什么场景下呢?
码农小张
·
2024-01-31 21:22
android中子线程不能更新主线程实例
image.png这个是具体故障,大家看看我是怎么写的image.png这么写就会出现上述的故障问题,正好验证以下
线程安全
鼾声鼾语
·
2024-01-31 18:09
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这样的操作在并发情况下是否会有问题?我们通过运行代码来看一下。
小黑说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后端
开发面经8
面经来源于github上的Java-Interview在学习时,用自己的语言解释71.描述一下JVM加载class文件的原理机制?JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。这个没有啥好讲的,就记住就好了。72.heap和stack有什么区别。Java的内存分为两类,一类是栈内存
土豆烩芋头
·
2024-01-31 15:32
java面经基础
java
开发语言
JAVA处理类似饼状图占比和100%问题,采用最大余额法
第二种方式是
java后端
取处理这个问题。
【JAVA】玩家
·
2024-01-31 15:21
初阶算法
java
最大余额法
占比误差
Java后端
须知的前端知识
Java后端
须知的前端知识HTML(超文本标记语言)W3C标准结构:HTML表现:CSS行为:JavaScript快速入门结构标签,表示这是一个html文档加载资源信息,添加标题加载标题(窗口上的字)定义文字文字标签
5-StarrySky
·
2024-01-31 14:12
JAVA
WEB基础知识
java
前端
开发语言
Java中的
线程安全
关于多线程并发环境下,数据的安全问题。1.为什么这个是重点?以后在开发中,我们的项目都是运行在服务器当中,而服务器已经将线程的定义,线程对象的创建,线程的启动等,都已经实现完了。这些代码我们都不需要编写。最重要的是:你要知道,你编写的程序需要放到一个多线程的环境下运行,你更需要关注的是这些数据在多线程并发的环境下是否是安全的。2.什么时候数据在多线程并发的环境下会存在安全问题呢?三个条件:条件1:
玖 萬
·
2024-01-31 14:36
java
安全
开发语言
分布式集群如何保证
线程安全
串行化通过串行化可能产生并发问题操作,牺牲性能和扩展性,来满足对数据一致性的要求。比如分布式消息系统就没法保证消息的有序性,但可以通过变分布式消息为单一系统就可以保证消息的有序性了。另外,当接收方没法处理调用有序性,可以通过一个队列先把调用信息缓存起来,然后再串行的处理这些调用。分布式锁需要满足互斥性,在任意时刻,只有一个客户端能持有锁,不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解
李黎明
·
2024-01-31 14:58
多线程
分布式
监视器锁-synchronized关键字
目录1.多线程编程安全1.1多
线程安全
概念1.2多线程不安全实例1.3多线程不安全的原因1.4解决以上线程不安全的示例2.synchronized关键字(重点)2.1synchronized关键字概念2.2synchronized
加菲猫-siu
·
2024-01-31 12:06
JavaEE
(初阶)
java
开发语言
java-ee
Java-阻塞队列
阻塞队列是一种
线程安全
的数据结构,并且具有如下特性:当队列为空时,继续出队列,就会发生阻塞,直到其他的线程往队列中插入元素;当队列为满时,继续入队列,就会发生阻塞,直到其他的线程
加菲猫-siu
·
2024-01-31 12:06
JavaEE
(初阶)
java
开发语言
java-ee
创建型模式之单例模式
这种方式需要考虑
线程安全
2、饿汉式:系统一运行,
川谷_
·
2024-01-31 12:04
单例模式
单例模式(保证
线程安全
)
单例模式(SingletonPattern)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了一个全局访问点来访问该实例。注意:
TL的TwIstz本人
·
2024-01-31 12:28
单例模式
Java中String,StringBuilder和StringBuffer的区别
这三个类的主要区别在两个方面:运算速度(运算性能或执行效率)和
线程安全
性。
啦啦啦啦啦哈1
·
2024-01-31 12:50
Python
并发编程
的概念和重要性
并发编程
是一种编程方式,它允许在单台处理器上同时处理多个任务或操作。这些任务可以在单个处理器上通过时间分片技术实现,也可以在多核或多处理器系统上真正地并行执行。
轻编程
·
2024-01-31 10:05
python
java
数据库
开发语言
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他