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并发
编程实战》课程笔记(十五)
如何使用Java中的线程池
Java并发
包里提供的线程池,最核心的是ThreadPoolExecutor,它强调的是Executor,而不是一
fangzhan666
·
2023-06-08 09:17
Java
基础
java
笔记
jvm
《
Java并发
编程实战》课程笔记(十三)
并发容器同步容器及其注意事项Java中的容器主要可以分为四个大类,分别是List、Map、Set和Queue,但并不是所有的Java容器都是线程安全的。例如,我们常用的ArrayList、HashMap就不是线程安全的。如何将非线程安全的容器变成线程安全的容器?只要把非线程安全的容器封装在对象内部,然后控制好访问路径就可以了。组合操作需要注意竞态条件问题,即便每个操作都能保证原子性,也并不能保证组
fangzhan666
·
2023-06-08 09:16
Java
基础
java
笔记
jvm
Java并发
编程实战读书笔记
http://note.youdao.com/noteshare?id=3d02d4751355fbfcdda050442432d492&sub=B2D84548E3A74D2D8C0CC1AA2CEBF5F0点击打开链接1.进程:进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单
GUO_YANG_FAN
·
2023-06-08 09:13
java
读书笔记
并发编程实战
JAVA并发
编程实战读书笔记-1
其实并发编程可以总结为三个核心问题:分工、同步、互斥。所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共享资源。01|可见性、原子性和有序性问题:并发编程Bug的源头CPU、内存、I/O设备都在不断迭代,不断朝着更快的方向努力。但是,在这个快速发展的过程中,有一个核心矛盾一直存在,就是这三者的速度差异。CPU和内存的速度差异可以形象
ByLir
·
2023-06-08 09:42
1024程序员节
java
《
Java并发
编程实战》课程笔记(七)
Java线程Java线程的生命周期通用的线程生命周期通用的线程生命周期基本上可以用下图这个“五态模型”来描述。这五态分别是:初始状态、可运行状态、运行状态、休眠状态和终止状态。Java中线程的生命周期Java语言中线程共有六种状态,分别是:NEW(初始化状态)RUNNABLE(可运行/运行状态)BLOCKED(阻塞状态)WAITING(无时限等待)TIMED_WAITING(有时限等待)TERMI
fangzhan666
·
2023-06-08 09:10
Java
基础
java
笔记
jvm
Java并发
编程(一)线程的各种创建方式
方法一:继承Thread类,作为线程对象存在(继承Thread对象)publicclassCreatThreadDemo1extendsThread{/***构造方法:继承父类方法的Thread(Stringname);方法*@paramname*/publicCreatThreadDemo1(Stringname){super(name);}@Overridepublicvoidrun(){wh
FantJ
·
2023-06-08 02:25
java并发
编程:CAS与原子操作
文章目录乐观锁与悲观锁CASUnsafe类AtomicInteger类CAS实现原子操作的三大问题ABA问题循环时间长开销大只能保证一个共享变量的原子操作乐观锁与悲观锁锁可以从不同的角度分类。其中,乐观锁和悲观锁是一种分类方式。悲观锁就是我们常说的锁。对于悲观锁来说,它总是认为每次访问共享资源时会发生冲突,所以必须对每次数据操作加上锁,以保证临界区的程序同一时间只能有一个线程在执行。乐观锁又称为“
初念初恋
·
2023-06-07 10:00
java并发
java
后端
AtomicInteger
目录一、从a++说起为什么使用AtomicInteger二、原理分析三、总结
java并发
包里面的类一直是学习和面试的重点,这篇文章主要是对
java并发
包的其中一个类AtomicInteger的讲解。
半桶水的码农
·
2023-06-07 06:35
并发编程篇
java
Happens-Before原则深入解读
关于Java内存模型中所规定的可见性定义本文不再叙述,感兴趣的读者可参考的书籍有《深入理解Java虚拟机》和《
Java并发
编程的艺术》。1Happens-Before(先行发生)原则的定义
转转技术团队
·
2023-06-07 03:11
java
jvm
面试
Happens-Before原则
一、让人又爱又恨的指令重排了解过
Java并发
编程知识的童鞋都知道,Java内存模型是围绕着并发过程中如何处理原子性、可见性和有序性3个特征来建立的,其中有序性最为复杂。
H阿布
·
2023-06-07 03:56
并发编程
并发
Happens-Before
多线程
Happens-Before规则详解
在《
Java并发
编程Bug的源头》一节中提到编译优化会带来有序性问题,具体来说就是JIT编译器会进行指令重排序(InstructionReorder)优化。
hresh
·
2023-06-07 03:48
Java高并发
java
java虚拟机
jvm
Java并发
编程实战第五章笔记
第五章笔记5.1同步容器类同步容器类包括Vector和Hashtable,还有Collections.synchronizedXxx等。5.1.1同步容器类的问题同步线程类都是线程安全的,但在某些情况下可能需要额外的客户端加锁来保护复合操作。迭代条件运算(检查在Map中是否存在键值K,如果没有,就加入二元组)在并发容器中,这些复合操作也是线程安全的,但当其他线程并发修改容器时,可能会出现意料之外的
逍遥白亦
·
2023-06-07 01:07
一文吃透
Java并发
高频面试题
内容摘自我的学习网站:topjavaer.cn分享50道
Java并发
高频面试题。线程池线程池:一个管理线程的池子。为什么平时都是使用线程池创建线程,直接new一个线程不好吗?
·
2023-06-07 01:01
后端java
阿里P8化身GitHub开源狂魔,强行开源这份
Java并发
图册(全彩版)
真正能成长为高级工程师甚至架构师的选手,无一不是先稳打稳扎,把一个技术栈弄夯实了再考虑其他技术栈。更何况,每一个语言技术栈真要弄透,必然就会学习算法和数据结构、计算机网络、操作系统、数据库等计算机底层基础知识,而这些知识本质上都是通用的,掌握了它们之后,再学其他语言就会事半功倍。为Java后端开发,都不会高并发/高可用,那基本就是笑话了,想跳槽去大厂也几乎是不可能的。并发编程可没这么容易,先上一张
Java架构师之路
·
2023-06-07 00:42
程序人生
MySQL
Java
java
跳槽
面试
mysql
spring
boot
java并发
编程面试题
1、Synchronized用过吗,其原理是什么?Synchronized是由JVM实现的一种实现互斥同步的一种方式,如果你查看被Synchronized修饰过的程序块编译后的字节码,会发现,被Synchronized修饰过的程序块,在编译前后被编译器生成了monitorenter和monitorexit两个字节码指令。在虚拟机执行到monitorenter指令时,首先要尝试获取对象的锁:如果这个
南方淮竹20
·
2023-06-06 22:17
视频教程-
Java并发
编程系列-AQS源码解析-Java
Java并发
编程系列-AQS源码解析鲁班学院—子路老师曾就职于谷歌、天猫电商等多家互联网公司,历任java架构师、研发经理等职位,参与并主导千万级并发电商网站与后端供应链研发体系搭建,多次参与电商大促活动技术保障
weixin_33384853
·
2023-04-21 03:53
并发编程:AQS 源码分析
AQSAQS简介state变量CLH同步队列独占式共享式自定义同步组件AQS简介在
Java并发
包中很多锁都是通过AQS来实现加锁和释放锁的过程的,AQS就是并发包基础。
醒然自然醒
·
2023-04-21 03:49
多线程
java
开发语言
Java并发
编程-AQS源码之条件队列
System.out.println(name+“==>成功获取到锁”+lock);try{condition.await();}catch(InterruptedExceptione){e.printStackTrace();}System.out.println(name+“==>被唤醒”);lock.unlock();System.out.println(name+“==>释放锁”);},“
世纪末Java
·
2023-04-21 03:17
程序员
面试
java
后端
八股+面经
MapHashMapv.sHashtable(5点)ConcurrentHashMapv.sHashtable(2点)代理模式1.静态代理2.动态代理2.1JDK动态代理机制2.2CGLIB动态代理机制
Java
倒过来是圈圈
·
2023-04-21 02:58
java
jvm
开发语言
Java并发
编程--基础进阶高级(完结)
Java并发
编程--基础进阶高级完整笔记。这都不知道是第几次刷狂神的JUC并发编程了,从第一次的迷茫到现在比较清晰,算是个大进步了,之前JUC笔记不见了,重新做一套笔记。
薇薇细雨
·
2023-04-20 21:03
(一)
Java并发
基础介绍
什么是线程现代操作系统运行一个应用程序的时候会创建一个进程,进程中包含多个线程,线程是现在操作系统的最小调度单元,也叫轻量级进程。这些咸亨都具有各自的计数器,堆和局部变量,并且能访问共享的内存变量。为什么要使用多线程更多的处理器核心多线程会将线程分配到多个处理器CPU,程序云溪行时间显著减少。更快的响应时间更好的变成模型Java提供了很好的并且一致的编程模型,我们使用简单。线程优先级Java线程通
覆水无言
·
2023-04-20 19:59
Java并发
编程从基础到进阶
从Java多线程基础到Java内存模型;从synchronized关键字到
Java并发
工具包JUC。我们不生产知识,我们只做知识的搬运工!基石——Java多线程的基本概念线程与进程的不同点:起源不同。
BeautifulSoup2019
·
2023-04-20 11:28
JAVA基础
JAVAEE
java
多线程
编程语言
JAVA并发
之ReentrantLock原理解析
在java.util.concurrent.locks包内给我们提供了除了synchronized关键字以外的几个新的锁功能的实现,ReentrantLock就是其中的一个。但是这并不意味着我们可以抛弃synchronized关键字了。在这些锁实现之前,如果我们想实现锁的功能,只能通过synchronized关键字,例子如下:privatestaticvolatileintvalue;public
大哥手下留情
·
2023-04-20 05:50
java
开发语言
java
jvm
开发语言
Redisson实现分布式锁从入门到应用
在单机环境中,应用是在同一进程下的,通过
Java并发
包提供的API即可保证线程的安全性。在集群多机部署的环境中,应用在不同的进程中,也就引出了分布式锁的问题。白话讲分布式锁:所
结构化思维wz
·
2023-04-20 04:12
微服务
Java
#
Redis
分布式
java
redis
Java并发
-CountDownLatch、CyclicBarrier、Semaphore、Runnable、Callable、Future、FutureTask总结记录
1、CountDownLatch、CyclicBarrier、Semaphore,都位于java.util.concurrent包中,是并发控制的辅助类,可以控制线程的协同工作;2、Runnable(java.lang.Runnable)、Callable(java.util.concurrent),作为线程创建相关类;3、Future(java.util.concurrent),是对于具体的Ru
Muscleape
·
2023-04-20 03:05
Java 并发编程之美-高级篇之三(锁)-Chat
借用
Java并发
编程实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了。
阿里加多
·
2023-04-20 03:12
Java并发
工具合集JUC大爆发
1.CountDownLatchCountDownLatch是一个同步计数器,初始化的时候传入需要计数的线程等待数,可以是需要等待执行完成的线程数,或者大于,一般称为发令枪。\countdownlatch是一个同步类工具,不涉及锁定,当count的值为零时当前线程继续运行,不涉及同步,只涉及线程通信的时候,使用它较为合适1.1作用用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥
白露与泡影
·
2023-04-20 01:07
java
开发语言
《
Java并发
编程实战》中关于allowCoreThreadTimeOut描述的个人见解
最近在看《
Java并发
编程实战》这本书,的确有很大的收获。
LouisLee变强大
·
2023-04-19 18:27
Java并发
ThreadPool
三、聊聊并发 — 为什么
Java并发
编程必须了解Java内存模型
前言前面我们说了在并发编程中引起线程不安全的原因,主要因为共享变量的可见性、重排序、原子性,也稍微的提了一下内存模型,那什么是内存模型呢?为什么必须要了解Java内存模型呢?那我们这篇文章就来聊一聊Java内存模型什么是Java内存模型Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节。此处的变量与Java编程时所说的变量不一样,只
lisnail
·
2023-04-19 13:20
【开发宝典】
Java并发
系列教程
作者:京东零售刘跃明Monitor概念Java对象的内存布局对象除了我们自定义的一些属性外,还有其它数据,在内存中可以分为三个区域:对象头、实例数据、对齐填充,这三个区域组成起来才是一个完整的对象。对象头:在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。实例数据:存放类的属性数据信息,包括父类的属性信息。对齐填充:由
·
2023-04-19 11:42
Java源码分析-【ConcurrentHashMap】深入浅出的源码分析(JDK1.7版本)
前提概要ConcurrentHashMap是
Java并发
包中提供的一个线程安全且高效的HashMap实现,以及被广泛使用,经典的开源框架Spring的底层数据结构就是使用ConcurrentHashMap
洛神灬殇
·
2023-04-19 04:11
JAVA并发
编程艺术(二)——
Java并发
机制底层实现
本系列文章只做个人读书笔记首先明确:Java中所使用的并发机制依赖于JVM的实现和CPU的指令。1、volatile的分析:volatile如何保证内存可见性:volatile修饰的共享变量,转成汇编代码会多出一个Lock前缀的指令,Lock前缀的指令在多核处理器下会引发两件事情:1)将当前处理器缓存行的数据写回到系统中2)这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效那么,问题来
Steven_cao
·
2023-04-19 01:00
Zookeeper和Redis分布式锁对比
为了保证一个方法或属性在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用
Java并发
处理相关的API(如ReentrantLock或Synchronized)进行互斥控制
小石潭记丶
·
2023-04-19 01:36
分布式
java-zookeeper
zookeeper
如何突破“Java高并发并发编程”的难关?面试题整理(含答案)
下面是我花了不少时间整理的
Java并发
编程相关的面试题,知识点等。部分答案在GZH可以找到(在这里:多线程并发编程文章合集)。感兴趣的话,可以私下和我一起讨论学习哈。大家一起进步。多线程并发编程
Java尖子生
·
2023-04-18 15:24
# Java 并发编程的艺术(一)
Java并发
编程的艺术(一)文章目录
Java并发
编程的艺术(一)Java中的线程池线程池的实现原理线程池的处理流程ThreadPoolExecutor执行流程线程池队列线程池拒绝策略线程池的使用Java
爱码代码的喵
·
2023-04-18 14:47
读书笔记
Java并发
并发编程艺术
java ConcurrentLinkedQueue在并发场景中的应用
本文为原创文章,转载请注明出处,谢谢你……>喜欢
java并发
编程的请加群:736156823开始-->有些时候,我们想使用非阻塞队列,但是还希望如果队列中有任务到来时就去即时的消费掉。
胶布小子
·
2023-04-18 05:49
java并发
包中aqs浅谈
aqs原理aqs即AbstractQueuedSynchronizer,是
java并发
包中的一个抽象类,ReentrantLock,Semaphore,CountdownLatch均基于该类实现自己的功能
ImushroomT
·
2023-04-18 04:30
多线程的学习(七) AQS的简单学习
什么是AQSAQS,全称AbstractQueuedSynchronizer,名字抽象队列同步器
JAVA并发
包中,有许多API都是基于AQS来实现的加锁与释放锁的,比如常见的ReentrantLock,
蜜橘奶冻
·
2023-04-18 04:20
Java并发
编程面合集
1、在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(boolon);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:唯一的区别是判断虚拟机
MrShen_1eaa
·
2023-04-18 03:39
新手也能看懂的线程池学习总结
这里借用《
Java并发
编程的艺术》提到的来说一下使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程
xiaomage9527
·
2023-04-18 01:26
java并发
编程之四:volatile的使用及其原理
1.volatile的作用我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchronized原理有了解的话,应该知道Synchronized是一个比较重量级的操作,对系统的性能有比较大的影响,所以,如果有其他解决方案,我们通常都避免使用Synchronized来解决问题。而volatile关键字就是Java中提供的另一
ModestStorm
·
2023-04-17 20:23
「高并发业务必读」深入剖析 Java 并发包中的锁机制
这一天,在公司年会上,他们两个意外地坐到了同桌,之后就开始了一场关于
Java并发
包的讨论。小张:老李,我最近研究了一下
Java并发
编程,学习了一些锁机制和线程池等知识点,感觉很有用。
李福春
·
2023-04-17 17:49
java
技术管理
[并发编程]快速解读Condition的实现
摘自《
java并发
编程的艺术》Condition定义了等待/通知两种类型的方法,当前线程调用这些方法时,需要提前获取到Condition对象关联的锁。
6cc89d7ec09f
·
2023-04-17 17:11
java并发
--版本号字段解决并发更新数据引起的数据一致性问题
1.问题背景在实际项目中,对数据的更新操作是避免不了的。保持数据的一致性是非常重要的。之前考虑到是否可以通过比较update的时间,或者单独保存一个时间戳字段来进行比较,但需要手动更新,比较麻烦且容易出错。比如在一个简单的交易订单系统中,对于同一笔订单的更新动作是很频繁的,比如更新订单状态的同时并发去更新订单其他字段信息,就会导致数据不一致。可以使用乐观锁来解决这种问题,可以有效的提高程序的吞吐量
maligebilaowang
·
2023-04-17 14:25
java基础
java
java并发
java多线程
Java并发
编程——ExecutorCompletionService原理详解
一、简介在JDK并发包中有这么一个类ExecutorCompletionService,提交任务后,可以按任务返回结果的先后顺序来获取各任务执行后的结果。该类实现了接口CompletionService:publicinterfaceCompletionService{Futuresubmit(Callabletask);Futuresubmit(Runnabletask,Vresult);Fut
小波同学
·
2023-04-17 12:03
Lock接口
Java并发
编程简析@[toc]并发编程在Java实际开发中,占有举足轻重的地位,在接下来的篇幅中,以java.util.concurrent包下重要的、常用的接口、实现类为切入点,逐步分析并发编程。
闲来也无事
·
2023-04-17 10:13
Java并发
系列-深入Jvm理解Thread启动流程
前言近期整理笔记想开个专题,准备从并发入手。并发这块又从哪里入手,一开始想的是AQS,偶然间看到自己之前编译调试openjdk的时候整理的一些笔记,又有了新的想法,决定先从最基础的开始,并发这块脱离不了线程,那么我们就结合jdk,hotspot探究一下线程的来龙去脉。线程的定义:程序运行的最小单元,被包含在进程中。Java中的线程classThreadimplementsRunnable{/*Ma
dingqi6485
·
2023-04-17 08:20
java
【Java编程的逻辑】异步任务执行服务 Executor和ExecutorService
Java并发
包提供了一套“异步任务执行服务”机制,将“任务的提交”和“任务的执行”相分离。
whyalwaysmea
·
2023-04-17 06:04
Java基础
Executor
ExecutorService
FutureTask
Java Thread.sleep/Thread.join/Thread.yield/Object.wait/Condition.await 详解
地中断线程-实践篇Java“优雅”地中断线程-原理篇真正理解JavaVolatile的妙用JavaThreadLocal你之前了解的可能有误JavaUnsafe/CAS/LockSupport应用与原理
Java
小鱼人爱编程
·
2023-04-17 03:45
【
Java并发
】1. Java线程内存模型JMM及volatile相关知识
Java招聘知识合集:https://juejin.cn/collection/6951410518129115144该系列用于汇集Java招聘需要的知识点JMM并发编程的三大特性:可见性(volatile)、有序性(volatile)、原子性(synchronized)JMM跟CPU缓存模型相似,是基于CPU缓存模型来建立的,是标准化的,屏蔽了不同计算机的区别JMM隶属于JVM,定义了线程与主内
后端技术学习分享
·
2023-04-17 03:46
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
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
其他