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并发编程之道
java并发
编程JUC第十篇:CyclicBarrier线程同步
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
nidongla
·
2023-10-21 19:46
java并发
:线程同步机制之CyclicBarrier
一、初识CyclicBarrier二、示例应用场景:在某种需求中,比如vb.net教程一个大型的c#教程任务,常常需要分配很多子任务去执行,只有当所有子任务都执行完成时候,才能python基础教程执行主任务,这时候就可以选择CyclicBarrier了。示例:packagecom.test;importjava.util.concurrent.BrokenBarrierException;impo
chinaherolts2008
·
2023-10-21 19:13
java基础教程
Java并发
编程—CompletableFuture的介绍和使用
在博主上一篇博客介绍中,
Java并发
编程—java异步Future的迭代过程_小魏快起床的博客-CSDN博客,这里面给大家分析了Future的使用过程和一些存在的问题,那么针对里面出现的阻塞问题,博主将在这一篇文章给大家介绍清楚一
沐阳gg
·
2023-10-21 17:23
java从入门到入坟
java
开发语言
Java并发
编程—CompletableFuture的常用方法(建议收藏)
在过去的一段时间里,博主一直在给大家分享多线程并发编程里面的关键CompletableFfuture类的各种技术点,并发编程作为java开发里面关键点之一,也是大家向上提升重要的一点;对于CompletableFuture的学习一定要学到位,前面给大家分享了很多的知识点,这里分享一下CompletableFuture里面的关键方法的用法,码文不易,希望大家多多支持!一、获取结果和主动触发计算的方法
沐阳gg
·
2023-10-21 17:52
java从入门到入坟
java
开发语言
jvm
Java并发
编程——CompletableFuture类
从Future接口开始java.util.concurrent.Future接口是Java5添加的类,用来描述一个异步计算的结果。可以使用该接口的isDone()方法检查计算是否完成,或者使用get()阻塞住调用线程,直到计算完成返回结果,也可以使用cancel()方法停止任务的执行。ExecutorServicees=Executors.newFixedThreadPool(10);Future
GeorgiaStar
·
2023-10-21 17:19
Java学习笔记
java
并发编码
Java并发
之synchronized
一、前言序章 Java因为实现的是共享数据模型,在多线程操作共享数据时,会引起线程安全问题。Java为了解决线程安全问题,在Jvm层面为我们提供了一把内置锁——synchronized。接下来我将带领大家一起探索synchronized的世界。二、synchronized基础使用 synchronized是Jvm层面提供的内置锁,基于Monitor机制实现,它是一把重量级的锁,性能较低。在JD
枫叶红花
·
2023-10-21 13:15
【2024秋招】腾讯云智武汉后端开发一面 2023-9-20
1java1.1hashMap1.2哈希冲突的解决方法1.3讲解一下CAS的aba问题1.4concurrentHashMap的并发方案为什么要使用casConcurrentHashMap是
Java并发
包
xxx_520s
·
2023-10-21 11:18
面经
java后端
云智
2024秋招
volatile如何保证有序性?内存屏障都不知道怎么拿offer呀
整个
java并发
体系也是围绕着如何解决这三个问题来设计的。volatile关键字也不例外,我们都知道它解决了可见性和有序性,但是不能保证原子性。
愚公要移山
·
2023-10-20 19:11
Java多线程系列
Java并发
面试题:(七)ThreadLocal原理和内存泄漏
ThreadLocal是什么?ThreadLocal是线程本地存储机制,可以将数据缓存在线程内部。ThreadLocal存储的变量在线程内共享的,在线程间又是隔离的。ThreadLocal实现原理?ThreadLocal的底层是ThreadLocalMap,每个Thread都有一个ThreadLocalMap。ThreadLocalMap存储的键值对,key就是ThreadLocal实例,valu
青铜爱码士
·
2023-10-20 10:07
java
jvm
面试
Java并发
编程-线程池
1.为什么要用线程池Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。假设一个服务器完成一项任务所需时间为:T1创建线程时间,T2在线程中执行任务的时间,T
千月落
·
2023-10-20 06:17
Java
java
多线程
并发编程
java forkjoin MySQL_
Java并发
编程(五) ForkJoinPool的使用
一.前言之前在整理线程使用的时候,无意间看到了ForkJoinPool,在JDK1.7时(新)加入的,就学习了如何使用;二.ForkJoinPool使用2.1ForkJoinPool的使用姿势ForkJoinPool采用工作窃取算法,将一个大任务根据阈值分割成很多个子任务,最后根据场景是否要合并子任务运算结果;根据是否需要合并子任务运算结果,任务需要继承抽象类RecursiveAction,Rec
亚马逊-黄耀坤
·
2023-10-20 06:43
java
forkjoin
MySQL
JUC概述
从字面上来理解就是
java并发
工具包。其主要内容包含3个部分atomic包、locks包以直接在该包下的直接接口和类。其主要功能如下atomic支持原子操作类相关代码。locksjava中锁相关代码。
大师艾小伦
·
2023-10-20 02:09
Java可重入锁(GPT编写)
Java可重入锁是
Java并发
编程中常用的一种锁机制,它可以允许同一个线程多次获取同一个锁,从而避免死锁和其他并发问题。
CodersCoder
·
2023-10-19 13:12
源码
学习
java
开发语言
Java并发
面试题:(三)sleep和wait方法区别,notify 和 notifyAll方法
sleep和waitwait,notify和notifyAll这些方法不在thread类里面?JAVA提供的锁是对象级的而不是线程级的,每个对象都有锁,通过线程获得。如果线程需要等待某些锁那么调用对象中的wait()方法就有意义了。如果wait()方法定义在Thread类中,线程正在等待的是哪个锁就不明显了。简单的说,由于wait,notify和notifyAll都是锁级别的操作,所以把他们定义在
青铜爱码士
·
2023-10-19 06:22
java
jvm
开发语言
Java并发
面试题:(四)synchronized和lock区别
synchronized关键字synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在Java早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的MutexLock来实现的,Java的线程是映射到操作系统的原生线程之上的。如果
青铜爱码士
·
2023-10-19 06:22
jvm
java
Java并发
编程常见面试题
synchronized修饰普通方法和静态方法的区别?什么是可见性?普通方法对应于对象锁,是作用于对象实例;静态方法对应于类锁,是作用于一个类的class对象;类的对象实例可以有多个,但类的class对象只有一个;不同对象实例的对象锁是互不干扰的,但是每个类只有一个类锁;类锁只是一个概念的东西,真实并不存在,类锁其实锁的是每个类的class对象;可见性是值:当多个线程访问同一个变量时,一个线程修改
惜许
·
2023-10-19 06:15
JAVA基础
java
jvm
面试
Java并发
面试题:(六)悲观锁和乐观锁和Java内存模型和CAS原理
悲观锁和乐观锁的区别什么是悲观锁?基本上我们理解的操作前对资源加锁,操作完后释放锁。说的都是悲观锁。悲观锁认为所有的资源都是不安全的,随时会被其他线程操作、更改。所以操作资源前一定要加一把锁、防止其他线程访问。什么是乐观锁?乐观锁是一种特殊的锁,它认为所有的资源都是安全的,每个线程对资源的操作都是符合预期的,所以它不需要对资源加锁。乐观锁在操作资源时,会采用一种确认机制来保证所操作资源未被其他线程
青铜爱码士
·
2023-10-19 06:42
java
面试
开发语言
Java并发
和多线程-1
更好地利用单个CPU更好地利用多个CPU或CPU内核关于响应能力的更好的用户体验关于公平的更好的用户体验多线程与多任务多任务多线程多线程很难Java中的多线程和并发并发模型
Java并发
学习指南
Java并发
性是一个涵盖
domy_ae5a
·
2023-10-19 00:00
Java并发
编程艺术(三)
Java并发
编程基础
线程状态变化1、启动和终止线程Thread1.1构造线程新构造的线程对象是由其parent线程来进行空间分配的,child线程集成了parent是否为Daemon、优先级和加载资源的contextClassLoader以及可继承的ThreadLocal。1.2中断线程的一个标识位属性,标识运行中线程是否被其他线程进行了中断操作。interrupt()对其进行中断。线程通过isInterrupted
kaiker
·
2023-10-19 00:16
极客时间课程学习感触
Java并发
编程实战Linux性能优化实战数据结构与算法之美(学习中)Nginx核心知识100讲如何设计一个秒杀系统(已学完)深入拆解Java虚拟机(已学完)Java核心技术36讲(已学完)学习感触《如何设计一个秒杀系统
diangui9878
·
2023-10-19 00:20
Android--Retrofit2执行多个请求任务并行,任务结束后执行统一输出结果
1、使用
Java并发
工具privateList>responses=newArrayListresultcall=api.up_file("e2e5198e198c78cb59cebfadc592aa45
木派
·
2023-10-18 18:24
android
java
五道Java集合面试题,看看你会不会
它还包括在
Java并发
包中,阻塞接口以及它们的实现。集合框架的部分优点如下:(1)使
Java架构师CAT
·
2023-10-18 16:12
Java并发
面试题:(五)volatile关键字
volatile是什么一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的,volatile关键字会强制将修改的值立即写入主存。2)禁止进行指令重排序。volatile的作用volatile作用Volatile一般用于状态标记量和单例模式的双
青铜爱码士
·
2023-10-18 16:08
java
面试
开发语言
社招两年半10个公司28轮面试面经
我看过的Java相关的书单如下:Java:《
Java并发
编程的艺术》、《
Java并发
编程实战》JVM:《深入理解Java虚拟机》第三版、《深入Java虚拟机:JVMG1GC的算法与实现》、《新一代垃圾回收器
java晴天过后
·
2023-10-18 15:17
面试
java
开发语言
Happens-Before保证线程可见
前言熟悉
Java并发
编程的都知道,JMM(Java内存模型)中的happen-before规则,该规则定义了Java多线程操作的有序性和可见性,防止了编译器重排序对程序结果的影响。
Perkinl
·
2023-10-18 05:17
java
java
多线程
多线程&并发篇---第十四篇
如果说java.util.concurrent的基础是CAS的话,那么AQS就是整个
Java并发
包的核心了,ReentrantLock、CountD
数据大魔王
·
2023-10-17 11:02
多线程
java并发
编程实战——读书笔记
value++;包含三个独立操作:读取value,将value加1,并将计算结果写入value如果错误的假设程序中的操作将按照某种特定顺序来执行,那么会存在各种可能的危险。框架中如果有多线程并发性,那使用框架的应用程序代码也会遇到并发性问题,在代码中会访问应用程序的状态,所有访问这些状态的代码都应该考虑线程安全问题。Timer\Servlet、JSP\RMI远程方法调用\Swing和AWT都会引入
cyw2002509
·
2023-10-17 11:18
并发
并发
java
多线程
java并发
容器-BlockingQueue
线程安全的阻塞队列,用来处理生产者-消费者问题。当队列容器满时,生产者线程被阻塞直到队列未满。当队列容器为空时,消费者线程阻塞直到队列非空。主要介绍BlockingQueue下三个实现类1。ArrayBlockingQueue底层使用数组来实现的有界阻塞队列。一旦构造方法确定了数组容量大小后就不能改变,使用可重入锁来控制,构造方法中可以选择实现公平锁还是非公平锁。公平锁的意思是先等待的线程最先访问
MJLDG
·
2023-10-17 10:15
Java并发
Java并发
知识启动启动线程的方式只有:1、XextendsThread;,然后X.start2、XimplementsRunnable;然后交给Thread运行线程的状态Java中线程的状态分为6种:
zhuhai0613
·
2023-10-17 02:25
java
Java并发
编程之AQS源码阅读
1.父类AbstractOwnableSynchronizer该类有两个重要的方法,设置独占线程与获取独占线程。publicabstractclassAbstractOwnableSynchronizerimplementsjava.io.Serializable{/**UseserialIDeventhoughallfieldstransient.*/privatestaticfinallong
逍遥白亦
·
2023-10-17 01:14
java并发
编程cmpareAndSet_java CAS compareAndSet, compareAndSwap 区别
我看了
java并发
编程实战找到了答案。CAS是一种计算机的指令。CAS包含3个操作数,需要读写的内存位置V,进行比较的值A和拟写入的新值B。
weixin_39617405
·
2023-10-16 16:07
Java并发
编程——CAS(Compare And Swap)比较与交换
前言在
Java并发
编程中,处理共享数据的相关问题是保证并发安全的前提,对于一个共享数据,我们常常有两种处理方式,一种是方法是将数据和读写数据的操作锁起来,另一种就是不锁。
Viewwuyou
·
2023-10-16 16:37
java
多线程
并发编程
【并发编程的基石】CAS机制 (compareAndSwap)
[并发编程的基石]:CAS机制(compareAndSwap)其实
Java并发
框架的基石一共有两块,一块是本文介绍的CAS,另一块就是AQS。
菜鸟猫喵喵
·
2023-10-16 16:06
#
java并发编程
java
程序人生
架构
并发编程-CAS
说在前面的话正如我开篇所说,我要整理一些
java并发
编程的学习文档,这一篇就是第二篇:java中的CAS。这一篇主要说的CAS的原理,以及java中的CAS的一些应用吧!欢迎关注和点赞。
戴着假发的程序员
·
2023-10-16 16:34
java
java并发编程
java
并发编程
JUC
CAS
Java并发
:CompareAndSwap(CAS)
【1】CAS:CAS:CompareAndSwap,翻译成比较并交换。java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁,使用这些类在多核CPU的机器上会有比较好的性能.【2】compareAndSet()方法:privatestaticfinalUnsafeunsafe=Unsafe.getUnsafe();privatestaticfi
区块链之美
·
2023-10-16 16:33
并发编程
java
并发
CAS
【锁】CAS(Compare And Swap)
—《
Java并发
编程实践》⭐️CompareAndSetCAS(CompareAndSet或CompareAndSwap),即比较并修改的意思
Abner G
·
2023-10-16 16:01
基础总结
锁
java
jvm
面试
深入了解CAS(Compare and Swap):
Java并发
编程的核心
什么是CASCAS(CompareandSwap)是一种多线程同步的原子操作,用于解决共享数据的并发访问问题。它允许一个线程尝试修改共享变量的值,但只有在变量的当前值与预期值匹配的情况下才会执行更新操作。CAS操作包括三个主要步骤:比较(Compare):线程首先读取共享变量的当前值,这个值通常是期望的值。比较预期值:线程将当前值与预期的值进行比较。如果它们匹配,表示变量的当前值与线程期望的值相同
qq_41956309
·
2023-10-16 16:30
并发编程
java
jvm
《
java并发
编程实战》-(2)-线程安全性-(安全发布)
(扯一段废话,第一次用markdown的方式写,只为更好的方便大家阅读。)我们在面试的时候经常会被问到工作中都用到了哪些设计模式?或者阅读源码的时候都见过哪些设计模式的应用?手写一个单例的设计模式等等吧。在手写单例的时候我们一般会写懒汉模式,饿汉模式,内部类模式,枚举模式。在写懒汉模式中有一个双重检测机制的写法(不会的自行百度,这里就做过多的演示),这个写法有效的解决了安全的懒汉模式,synchr
小超人爱小土豆
·
2023-10-16 15:12
Java开发谈:大厂也在用的6种数据脱敏方案
因此,
Java并发
问题一直是各个大厂面试的重点之一。很多程序员每天
Java小麦
·
2023-10-16 11:50
程序员
java
后端
面试
Java进阶篇--AQS(AbstractQueuedSynchronizer)
目录AQS简介同步队列扩展知识代码示例独占锁共享锁AQS简介AQS(AbstractQueuedSynchronizer)是
Java并发
包中的一个基础框架,用于实现同步器的构建。
世俗ˊ
·
2023-10-16 09:21
Java进阶篇
java
开发语言
java并发
之CAS
一、CAS简介1.1CAS是什么CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论哪种情况,它都会在CAS指令之前返回该位置的值。(在CAS的一些特殊情况下将仅返回CAS是否成功,而不提取当前值。)CAS有效地说明了“我认为位置V应该包含值A;如果包含该值,则将B放到这个位置
这一刻_776b
·
2023-10-16 05:18
Java基础(六)
多线程Java多线程并发1.1
JAVA并发
知识库1.2JAVA线程实现/创建方式1.2.1继承Thread类Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。
isuntong
·
2023-10-16 01:19
Java并发
编程:ConcurrentModificationException异常出现的原因和解决方法
版权声明:本文为海子原创文章,转载请注明出处!在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。一、ConcurrentModificationException异常出现的原因先看下面这段代码:publicclas
ZebraWei
·
2023-10-15 19:24
Java8中的LongAdder类,大大提升CAS性能!
V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF#前情回顾上篇文章给大家聊了一下volatile的原理,具体参见:《完美解决
java并发
可见性问题,volatile闪亮登场》。
石杉的架构笔记
·
2023-10-15 18:21
JVM
java
面试
jvm
并发编程进阶类学习--
java并发
编程之美(二)
文章目录Random类原理及其局限性上述代码的执行流程应运而生的ThreadLocalRandomAtomicLong的介绍函数列表缺点使用LongAdder(jdk1.8新增)相比于AtomicLong的好处具体LongAdder实现原理LongAdder的设计结构简略图简单聊一下LongAdder的add方法LongAccumulator类(jdk1.8新增)相比于LongAdderRando
不洇
·
2023-10-15 18:21
并发编程
java
多线程
并发编程
Java并发
编程
写在前面必读同步队列和等待队列同步队列:处于running状态的线程,有资格竞争锁的线程组成的等待获取同步资源的队列。等待队列:调用wait方法或await方法后线程进入等待队列,等待被唤醒后进入同步队列。必须明白并发编程的几个课题如何创建和结束多线程?进程线程概念,线程创建的几种方式,线程的几种状态,如何优雅结束线程。如何保证线程正确执行?并发编程三大特性保证原子性的锁如何控制线程执行顺序?掌握
塔◎
·
2023-10-15 18:46
Java知识点总结
java
并发编程
高并发
Java8中的LongAdder类,大大提升CAS性能
这篇文章给大家聊一下
java并发
包下的CAS相关的原子操作,以及Java8如何改进和优化CAS操作的性能。因为Atomic系列的原子类,无论在并发编程、JDK源码、还是各种开源项目中,都经常用到。
javaYY_
·
2023-10-15 18:16
java
大数据
java
Java并发
编程面试题3
一、CountDownLatch,Semaphore的高频问题:1.1CountDownLatch是啥?有啥用?底层咋实现的?(可以融入到你的项目业务中。)CountDownLatch本质其实就是一个计数器。在多线程并形处理业务时,需要等待其他线程处理完,再做后续的合并等操作,再响应用户时,可以使用CountDownLatch做计数,等到其他线程出现完之后,主线程就会被唤醒。CountDownLa
茶晓i
·
2023-10-15 18:15
java
java
面试
开发语言
Java8中的LongAdder类,提升CAS性能
这篇文章给大家聊一下
java并发
包下的CAS相关的原子操作,以及Java8如何改进和优化CAS操作的性能。因为Atomic系列的原子类,无论在并发编程、JDK源码、还是各种开源项目中,都经常用到。
JavaShark
·
2023-10-15 18:13
计算机
JAVA
程序员
java
后端
【
Java并发
】聊聊LongAdder应用场景及其原理
应用场景我们知道在实际的应用场景中,可能会对某个商品进行浏览次数进行迭代,或者抖音视频的点击,那么如何高效记录呢,首先如果是使用普通的num进行多线程操作的话,那么一定会带来数据一致性问题,所以一般通过syn\lock,但是因为有加锁和解锁的操作,以及线程竞争过多的时候,导致线程上下切换。那么又没有一种高效的方式呢,就是使用无锁编程原子类,atomicInteger但是因为是使用CAS并且针对的是
qxlxi
·
2023-10-15 18:10
#
并发编程
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
其他