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
多线程与高并发
专题——什么是阻塞队列?
引入阻塞队列(BlockingQueue)是一种线程安全的队列数据结构,它的主要特点是:线程安全:多个线程可以安全地同时访问队列。阻塞操作:当队列为空时,从队列中获取元素的操作会被阻塞,直到队列中有元素可用;当队列为满时,向队列中插入元素的操作会被阻塞,直到队列有空间可用。BlockingQueueBlockingQueue继承了Queue接口,是队列的一种。Queue和BlockingQueue
黄雪超
·
2025-03-10 03:21
技术基础
java
开发语言
并发编程
Java
多线程与高并发
专题——为什么 Map 桶中超过 8 个才转为红黑树?
引入JDK1.8的HashMap和ConcurrentHashMap都有这样一个特点:最开始的Map是空的,因为里面没有任何元素,往里放元素时会计算hash值,计算之后,第1个value会首先占用一个桶(也称为槽点)位置,后续如果经过计算发现需要落到同一个桶中,那么便会使用链表的形式往后延长,俗称“拉链法”。当链表长度大于或等于阈值(默认为8)的时候,如果同时还满足容量大于或等于MIN_TREEI
黄雪超
·
2025-03-07 01:10
技术基础
java
开发语言
并发编程
Java
多线程与高并发
专题——线程池源码剖析
引入我们先梳理一下如何自定义线程池,首先ThreadPoolExecutor中,一共提供了7个参数,每个参数都是非常核心的属性,在线程池去执行任务时,每个参数都有决定性的作用。但是如果直接采用JDK提供的方式去构建,可以设置的核心参数最多就两个,这样就会导致对线程池的控制粒度很粗。所以推荐自己去自定义线程池,也就是手动的去newThreadPoolExecutor设置他的一些核心属性。自定义构建线
黄雪超
·
2025-02-08 09:48
技术基础
java
开发语言
并发编程
Java
多线程与高并发
专题——线程池补充1
引入首先,如上图所示,结合上一篇线程池相关文章的内容,我们总结一下线程池的内部结构如下:第一部分是线程池管理器,它主要负责管理线程池的创建、销毁、添加任务等管理操作,它是整个线程池的管家。第二部分是工作线程,也就是图中的线程t0~t9,这些线程勤勤恳恳地从任务队列中获取任务并执行。第三部分是任务队列,作为一种缓冲机制,线程池会把当下没有处理的任务放入任务队列中,由于多线程同时从任务队列中获取任务是
黄雪超
·
2025-02-07 08:36
技术基础
java
并发编程
开发语言
Java
多线程与高并发
专题——线程池补充2
引入前面我们通过以下问题梳理了线程池相关内容:Java
多线程与高并发
专题——线程池为什么要使用线程池?如何使用线程池?使用线程池的优缺点?线程池的各个参数的含义?线程池有哪几种拒绝策略?
黄雪超
·
2025-02-07 08:36
技术基础
java
开发语言
并发编程
多线程与高并发
(6)——CAS详解(包含ABA问题)
一、乐观锁和悲观锁乐观锁和悲观锁都是用于解决并发场景下的数据竞争问题,不局限于某种编程语言或数据库。1、乐观锁:就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据。乐观锁的实现方式:主要有两种,一种是CAS机制,一种是版本号机制。(1)版本号机制:在数据中增加一个version字段用来表示该数据的版本号,每当数据被修改版本号就
李王家的翠花
·
2025-01-31 01:14
java
多线程
java
开发语言
Java
多线程与高并发
专题——JMM
引入上一篇我们讲到在并发场景中,存在结果问题和性能问题,其中结果问题主要是因为没有保障可见性、原子性、有序性等导致的。这三者在编程领域属于共性问题,所有的编程语言都会遇到,Java在诞生之初就支持多线程,所以肯定有保障它们的技术方案。理解Java解决并发问题的方案,对于了解其他语言的解决方案有触类旁通的效果。在Java中,对应的解决方案就是JMM(Java内存模型)。什么是JMM?为了更准确的理解
黄雪超
·
2025-01-25 23:18
大数据面试
java
开发语言
JMM
Java
多线程与高并发
专题——基础篇1
基础概览进程与线程什么是进程?进程是指运行中的程序。比如我们使用聊天软件,浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源。什么线程?线程是CPU调度的基本单位,每个线程执行的都是某一个进程的代码的某个片段。进程是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。在Java中,当我们启动main函数时其实就启动了一个
黄雪超
·
2025-01-22 10:24
大数据面试
java
开发语言
并发编程
JUC
多线程与高并发
(一)
1.谈谈对volatile的理解volatile是java虚拟机提供的一种轻量级的同步机制保证可见性不保证原子性禁止指令重排相当于轻量级的sychronized1.1.JMM的理解JMM,java内存模型JavaMemoryModel,是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM关于同步的
JasonHuan1123
·
2024-03-17 21:02
计算机类
linux
java
jvm
缓存
Java
多线程与高并发
(二):线程安全性
线程安全性当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在调用代码中不需要任何额外的同步,这个类都能表现出正确的行为,那么这个类就是线程安全的。原子性:同一时刻只能有一个线程对它操作可见性:一个线程对内存的修改能让其他线程观察到有序性:指令执行顺序,杂乱无序原子性Atomic包AtomicIntegerAtomicInteger中的incrementAndG
java高并发
·
2024-02-14 15:42
并发编程面试题(持续更新...)
目录基础知识
多线程与高并发
Java多线程涉及技术点高并发技术解决方案并发编程的优劣为什么要使用并发编程(并发编程的优点)并发编程有什么缺点并发编程三要素是什么?
心安成长
·
2024-01-21 23:47
面试题
并发编程
面试
java
JAVA
多线程与高并发
学习笔记(十三)——JUC显式锁
前面孩子生病了,一直照顾孩子。然后自己又感冒了,嗓子难受的要死。今天终于好多了。显式锁介绍JDK5引入了Lock接口,与内置加锁机制不同的是,Lock提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有加锁和解锁的方法都是显式的。显式锁Lock接口Lock接口位于java.util.concurrent.locks包中,是JUC显式锁的一个抽象,主要抽象方法如下表。方法说明voidlo
简单一点点
·
2024-01-15 16:57
多线程与高并发
编程(一)
多线程与高并发
编程(一)什么叫线程,进程,协程?
woaihuoguoooo
·
2024-01-13 16:51
java 多线程 安全 源码,纯干货,从源码解析
多线程与高并发
,再说不会,我再也不踏足IT圈...
没什么太多说的,
多线程与高并发
,面试重点,咱直接进入正题,联合底层源码,咱们从源码看一下,
多线程与高并发
底层的知识点,这也是阿里p8+的面试官建议的学习到的级别javaCASCompareAndSwap
李轶林
·
2024-01-05 19:10
java
多线程
安全
源码
JAVA
多线程与高并发
学习笔记(一)——线程创建
好久没写笔记了,重新回归Java,打好基础。Java进程中每一个线程都对应着一个Thread实例,其中保存着线程的描述信息。Thread类Java使用Thread类表示线程,首先看一个简单的示例。publicstaticvoidmain(String[]args)throwsInterruptedException{Threadthread=newThread();System.out.print
简单一点点
·
2023-12-30 06:30
J2SE II一一
多线程与高并发
编程的基础知识及运用(详解)
前言几乎所有的程序员都知道,现代操作系统进行资源分配的最小单元是进程,而操作系统进行运算调度的最小单元是线程,其实,在Linux中线程也可以看作是一种轻量级的进程,那么线程是包含于进程之中的,是进程中实际的运作单位;同一进程中的多个线程共用同一块内存空间,而不同的线程又拥有独立的栈内存用以存放线程本地数据;大家都知道,现在的计算机动辄就是多处理器核心的,而每一个线程同一时间只能运行在一个处理器上,
Help_II
·
2023-12-01 10:03
多线程与高并发
-volatile与CAS
多线程与高并发
-volatile与CAS1.volatile1.1volatile的作用1.2DCL单例模式1.3volatile与synchronized的区分2.CASABA问题ReentrantLockCountDownLatchCyclicBarrierPhaserReadWriteLockSemaphoreExchanger
我是流浪者
·
2023-11-26 22:25
java
java
Java
多线程与高并发
(三):对象的安全发布与共享策略
面试官:你知道如何发布或共享一个对象吗?发布对象:使一个对象能够被其他线程、其他作用域的代码所使用。变量逸出原有作用域importjava.util.Arrays;publicclassMain{privateString[]strs={"1","2","3"};publicString[]getStrs(){returnstrs;}publicstaticvoidmain(String[]arg
java高并发
·
2023-11-23 22:30
3万5千字70+道大厂Java经典面试题【金三银四(金九银十)面试小抄之Java经典
多线程与高并发
篇总结】(附答案)
关注我,私信回复面试题,获取《3万5千字70+道大厂
多线程与高并发
面试题【金三银四(金九银十)面试小抄之Java经典
多线程与高并发
篇总结】(附答案)》pdf目录一.前言二.J
硕风和炜
·
2023-11-04 15:22
面试小抄
多线程与高并发
java
面试
多线程
高并发
锁
高并发、多线程、分布式都不懂,你拿什么跳槽阿里、腾讯、京东?
Java
多线程与高并发
实战实践先来看看高并发多线程一些大厂并发面试题,看你能答出几道!(1)synchronized的CPU原语级别是如何实现的?
小课VIP
·
2023-11-03 13:29
2022年阿里核心版Java面试八股文合集+各大厂面试真题
为了能让大家有更好的面试资料去面试大厂的技术岗位,花费了2个多月的时间,把市面上的所有的Java面试题,做了一个归纳本文档是从阿里面试官整理的Java面试题其包含的内容模块有:基础、JVM、
多线程与高并发
「已注销」
·
2023-10-31 23:29
java
面试
jvm
自旋锁和互斥锁实例_JUC
多线程与高并发
面试题——公平锁/非公平锁/重入锁/递归锁/自旋锁...
一、公平锁和非公平锁1.1公平锁和非公平锁分别是什么公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。在高并发的情况下,有可能会造成优先级反转或者饥饿现象。1.2区别并发包中ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或非公平锁,默认是非公平
你十分甜
·
2023-10-31 17:01
自旋锁和互斥锁实例
骨灰级扫地神僧出版的《
多线程与高并发
》,2020你值得拥有
某粉丝年前参加某个NB企业的面试题列表:1.聊聊synchronized的CPU原语级别实现2.有一千万个数,写一个程序进行高效求和3.已知2开平方为1.414,如何不用数学库,求开平方的值,精确到小数点儿后面10位4.编码实现两个线程,线程A不断打印1-10的数字,要求在打印到第五个数字的时候通知线程B5.自定义线程池需要指定哪7个参数,为什么不建议使用JUC内置线程池?6.高并发、任务执行时间
Java互联网进阶架构师
·
2023-10-30 13:08
马士兵《
多线程与高并发
》电子版,附笔记+代码+最新大厂面试真题
来看看清华架构师马兵老师全网最底层的
多线程与高并发
训练营,本次训练营的内容基本都是最新。限时福利,全网最底层的
多线程与高并发
内容,-年让你轻轻松松涨薪!!
小宁学JAVA
·
2023-10-25 02:08
多线程与高并发
1.线程创建的3种方式2.线程的状态切换步骤3.线程的5中状态Java中的线程的生命周期大体可分为5种状态。1.新建(NEW):新创建了一个线程对象。2.可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。3.运行(RUNNING):可运行状态(runnable)的线程获得
果粒多
·
2023-10-24 07:16
1024程序员节
多线程与高并发
1.synchronized四种状态以及锁升级过程无锁->偏向锁->轻量级锁(cas)->重量级锁当只有一个线程进行加锁的时候,默认会使用偏向锁一旦有线程竞争就会升级成轻量级锁(未获得锁的线程会通过自旋等待获取锁,占用cpu资源)默认自旋超过10次还未获取锁会升级为重量级锁2.synchronized和ReentrantLock区别synchronized使用的是锁升级的方式加锁,Reentran
6596dfcf0778
·
2023-10-22 15:25
多线程与高并发
(一):正确使用Thread
1.创建一个线程Threadt=newThread(()->{System.out.println("runbythread")})这里使用了Lambda表达式,等同于Threadt2=newThread(newRunnable(){@Overridepublicvoidrun(){System.out.println("runinthread");}});2.使用t.start();t.run(
SteveLaw1124
·
2023-10-18 02:21
JAVA
多线程与高并发
学习笔记(十七)——异步回调
异步回调模式是高并发下的核心模式,本部分对异步回调进行详细介绍。泡茶案例本部分从一个很好理解的异步生活示例-泡茶开始。为了异步执行泡茶流程,分别涉及三个线程:泡茶线程(主线程)、烧水线程和清洗线程。泡茶线程的工作是:启动清洗线程、启动烧水线程,等清洗、烧水的工作完成后,泡茶喝;清洗线程的工作是:洗茶壶、洗茶杯;烧水线程的工作是:洗好水壶、灌上凉水,放在火上,一直等水烧开。下面分别使用阻塞模式、回调
简单一点点
·
2023-10-09 03:06
java
多线程与高并发
(六)AQS源码阅读与强软弱虚4中引用以及ThreadLocal原理与源码
1.AQS源码分析AQS核心是什么,就是一个state,这个代表的意思由其子类决定,我们先来讲一下ReentranLock,刚才state为0,当你获得锁之后,它就变成了1,释放的时候变成0,这个state值得基础之上,它的下面还带有一个队列,是AQS自己内部所维护的队列,队列所维护的是一个node节点,node节点是AQS的内部类,最重要的是,它保留了一个Thread一个线程,所以这个队列是线程
小偷阿辉
·
2023-09-24 03:22
多线程与高并发
——基本概念
多线程与高并发
——基本概念1.何为进程?何为线程?进程是程序的一次执行过程,是系统运行程序的基本单位,是动态的。线程是一个比进程更小的执行单位(也叫轻量级进程)。
wyjal
·
2023-09-13 14:26
多线程与高并发
多线程
多线程与高并发
——并发编程(8)
文章目录八、异步编程1FutureTask应用&源码分析1.1FutureTask介绍1.2FutureTask应用1.3FutureTask源码分析1.3.1FutureTask中的核心属性1.3.2FutureTask的run方法1.3.3FutureTask的set&setException方法1.3.4FutureTask的cancel方法1.3.5FutureTask的get方法1.3.
斗志昂-杨
·
2023-09-13 14:53
Java多线程并发编程
并发编程
异步编程
Future
多线程与高并发
系列七(阻塞队列和Atomic 原子类)
多线程与高并发
系列七(阻塞队列和Atomic原子类)生产者消费者的实际使用阻塞队列的使用案例注册成功后增加积分阻塞队列的应用场景J.U.C提供的阻塞队列阻塞队列的操作方法原子操作类J.U.C中的原子操作类
写hello world还有bug
·
2023-09-12 15:14
Java相关知识
分布式
java
多线程
多线程与高并发
——并发编程(5)
文章目录五、线程池1什么是线程池2JDK自带的构建线程池的方式2.1FixedThreadPool2.2SingleThreadExecutor2.3CachedThreaPool2.4ScheduleThreadPool2.5WorkStealingPool3ThreadPoolExecutor应用&源码剖析3.1为什么要自定义线程池3.2ThreadPoolExecutor应用3.3Threa
斗志昂-杨
·
2023-09-11 17:25
Java多线程并发编程
并发编程
线程池
多线程与高并发
——并发编程(7)
文章目录七、JUC并发工具1CountDownLatch应用&源码分析1.1CountDownLatch介绍1.2CountDownLatch应用1.3CountDownLatch源码分析1.3.1有参构造1.3.2await方法1.3.3countDown方法2CyclicBarrier应用&源码分析2.1CyclicBarrier介绍2.2CyclicBarrier应用2.3CyclicBar
斗志昂-杨
·
2023-09-11 17:25
Java多线程并发编程
JUC并发工具
CountDownLatch
CyclicBarrier
Semaphone
多线程与高并发
——并发编程(6)
文章目录六、并发集合1ConcurrentHashMap1.1存储结构1.2存储操作1.2.1put方法1.2.2putVal方法-散列算法1.2.3putVal方法-添加数据到数组&初始化数组1.2.4putVal方法-添加数据到链表1.3扩容操作1.3.1treeifyBin方法触发扩容1.3.2tryPresize方法-针对putAll的初始化操作1.3.3tryPreSize方法-计算扩容
斗志昂-杨
·
2023-09-11 16:48
Java多线程并发编程
哈希算法
红黑树
写时复制
多线程与高并发
(2)——synchronized用法详解
这篇文章主要总结synchronized的用法,考虑到篇幅和方便自己记忆,synchronized的原理会在下篇文章详细总结。一、定义Synchronized是Java中常用的一个关键字。Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码。——原子性(2)保证共享变量的修改能够及时可见。——可见性(3)有效解决重排序问题。——有序性二、基础理论这里只总结几大特性的基础理论,
李王家的翠花
·
2023-09-10 03:45
java
多线程
java
多线程与高并发
——并发编程(2)
文章目录二、并发编程的三大特性1原子性1.1什么是原子性1.2怎么保证原子性1.2.1synchronized1.2.2CAS1.2.3Lock锁1.2.4ThreadLocal2可见性2.1什么是可见性2.2解决可见性的方式2.2.1volatile2.2.2synchronized2.2.3Lock2.2.4final3有序性3.1什么是有序性3.2as-if-serial3.3happens
斗志昂-杨
·
2023-09-05 03:52
Java多线程并发编程
java
并发编程
原子性
可见性
有序性
多线程与高并发
——并发编程(3)
文章目录三、锁1锁的分类1.1可重入锁、不可重入锁1.2乐观锁、悲观锁1.3公平锁、非公平锁1.4互斥锁、共享锁2深入synchronized2.1类锁、对象锁2.2synchronized的优化2.3synchronized实现原理2.4synchronized的锁升级2.5重量级锁底层ObjectMonitor3深入ReentrantLock3.1ReentrantLock和synchroni
斗志昂-杨
·
2023-09-05 03:52
Java多线程并发编程
多线程并发编程
锁
Synchronized
ReentrantLock
多线程与高并发
——并发编程(1)
文章目录并发编程一、线程的基本概念1基础概念1.1进程和线程1.2多线程1.3串行、并行、并发1.4同步异步、阻塞非阻塞2线程的创建2.1继承Thread类,重写run方法2.2实现Runnable接口,实现run方法2.3实现Callable接口,实现call方法,配合FutureTask2.4基于线程池构建线程3线程的使用3.1线程的使用3.2线程常用的方法3.2.1获取当前线程3.2.2线程
斗志昂-杨
·
2023-09-05 03:51
Java多线程并发编程
java
线程
多线程与高并发
——并发编程(4)
文章目录四、阻塞队列1基础概念1.1生产者消费者概念1.2JUC阻塞队列的存取方法2ArrayBlockingQueue2.1ArrayBlockingQueue的基本使用2.2生产者方法实现原理2.2.1ArrayBlockingQueue的常见属性2.2.2add方法2.2.3offer方法2.2.4offer(time,unit)方法2.2.5put方法2.3消费者方法实现原理2.3.1re
斗志昂-杨
·
2023-09-05 03:20
Java多线程并发编程
java
中间件
开发语言
JAVA
多线程与高并发
(七)[线程池的基本概念,ThreadPoolExecutor的简单使用和源码解读]
link-JAVA
多线程与高并发
系列[前言,大纲,目录]目录前置知识Executor:ExecutorService:Future&CallableFutureTask(比较常用)CompletableFuture
君陌先生
·
2023-08-24 02:55
JAVA多线程与高并发
java
多线程
并发编程
thread
多线程和高并发知识梳理
多线程与高并发
线程什么是线程进程进程相对于可执行程序来说是一个动态概念,比如磁盘上有一个QQ.exe程序,双击运行就是一个进程线程进程是一个运行的程序,线程则是程序不同的执行路径,比如qq包含聊天,浏览空间属于不同的线程线程创建方式
Mr_Editor
·
2023-08-24 02:54
多线程与高并发
编程一
文章目录一、故事背景二、知识点主要构成1、线程的概念2、启动方式2.1、继承Thread类重写run方法2.2、实现Runnable接口重写run方法2.3、实现Callable重写call方法配合FuterTask获取线程结果3、常用方法start()方法:run()方法:sleep(longmillis)方法:join()方法:interrupt()方法:isAlive()方法:4、synch
王梦杰.
·
2023-08-22 06:35
总结
Java基础
java
开发语言
锁
synchronized
多线程与高并发
文章目录根本性问题线程安全典型现象threadsynchronizedmark-word锁升级;锁优化volatileAtomicXXXunsafeCAScasaba问题LongAdderReentrantLockCountDownLatchCyclicBarrierCyclicBarrier与CountDownLatch区别PhaserReentrantReadWriteLockSemaphor
AntHub
·
2023-08-16 10:33
java
多线程与高并发
--------锁
三、锁一、锁的分类1.1可重入锁、不可重入锁Java中提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是可重入锁。重入:当前线程获取到A锁,在获取之后尝试再次获取A锁是可以直接拿到的。不可重入:当前线程获取到A锁,在获取之后尝试再次获取A锁,无法获取到的,因为A锁被当前线程占用着,需要等待自己释放锁再获取锁。1.2乐观锁、悲观锁Java中提
奔跑的码农小哥
·
2023-08-13 22:10
多线程与高并发
java
多线程与高并发
--------阻塞队列
四、阻塞队列一、基础概念1.1生产者消费者概念生产者消费者是设计模式的一种。让生产者和消费者基于一个容器来解决强耦合问题。生产者消费者彼此之间不会直接通讯的,而是通过一个容器(队列)进行通讯。所以生产者生产完数据后扔到容器中,不通用等待消费者来处理。消费者不需要去找生产者要数据,直接从容器中获取即可。而这种容器最常用的结构就是队列。1.2JUC阻塞队列的存取方法常用的存取方法都是来自于JUC包下的
奔跑的码农小哥
·
2023-08-13 22:40
多线程与高并发
java
多线程与高并发
--------线程池
线程池一、什么是线程池在开发中,为了提升效率的操作,我们需要将一些业务采用多线程的方式去执行。比如有一个比较大的任务,可以将任务分成几块,分别交给几个线程去执行,最终做一个汇总就可以了。比如做业务操作时,需要发送短信或者是发送邮件,这种操作也可以基于异步的方式完成,这种异步的方式,其实就是再构建一个线程去执行。但是,如果每次异步操作或者多线程操作都需要新创建一个线程,使用完毕后,线程再被销毁,这样
奔跑的码农小哥
·
2023-08-13 22:08
多线程与高并发
java
JAVA
多线程与高并发
学习笔记(十六)——高并发设计模式
本部分介绍几种在高并发场景中常用的设计模式:线程安全的单例模式、ForkJoin模式、生产者——消费者模式、Master-Worker模式和Future模式。线程安全的单例模式单例模式很常见,一般用于全局对象管理,比如XML读写实例、系统配置实例、任务调度实例、数据库连接池实例等。从饿汉式单例到懒汉式单例按照单例对象初始化的时机,单例模式分为懒汉式和饿汉式,懒汉式单例对象在类被加载时就直接被初始化
简单一点点
·
2023-08-10 05:20
【
多线程与高并发
3】常用锁实例
各式锁的实际应用乐观锁cas(要改的对象,期望的值,要给的值)无锁操作,其实是一个乐观锁…cas本身可以看成是一个锁automic:一种使用cas实现的原子性操作原子操作的简单方法:函数效果备注AtomicIntegera=newAtomicInteger(0);inta=0;创建对象a并且赋初值为0;a.incrementAndGet();i++;对原值+1后返回;a.getAndIncreme
Jim.KK
·
2023-08-07 14:53
Java
并发编程
java
入职阿里巴巴,阿里P7高级架构师需要哪些技术栈?
阿里P7Java技术栈
多线程与高并发
编程spring,ioc入门与详解maven的简单构建、springAOPspring中的循环依赖、代理方式
ZzzzjQqqq
·
2023-08-01 10:46
java
Java工程师
程序员
java
开发语言
后端
架构
分布式
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他