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并发】
AbstractQueuedSynchronizer源码解读
AbstractQueuedSynchronizer(AQS),是
Java并发
包中,实现各种同步结构和部分其他组成单元(如线程池中的Worker)的基础。
良辰美景TT
·
2022-02-09 00:16
你的单例模式是真的线程安全吗?
本文的知识点主要来源: 1.方腾飞、魏鹏、程晓明三位老师的《
Java并发
编程的艺术》 2.周志明老师的《深入理解Java虚拟机》1.传统的单例模式 大家都知道,单例模式主要分为:懒汉模式和饿汉模式
琼珶和予
·
2022-02-08 15:42
JUC--CLH同步队列
2018-10-01推荐原文死磕
Java并发
AQS简介中提到了AQS内部维护着一个FIFO队列,该队列就是CLH同步队列。
vsu
·
2022-02-07 18:08
java并发
之线程通信
谈到并发我们就会想到多线程,要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。都涉及取线程之间相互通信。线程通信分为以下四类:文件共享网络共享共享变量jdk提供的线程协调API 细分为:suspend/resume、wait/notify、park/uppack 文件共享、变量共享这里不做讨论,需要提一点:变量共享这里的变量是指的类内的全局变量并不是方法内的局部变
TodoCoder
·
2022-02-07 14:28
Java并发
容器和框架
并发容器:ConcurrentHashMapHashTableConcurrentHashMap的实现原理与使用ConcurrentHashMap是线程安全且高效的HashMap.为什么要使用ConcurrentHashMap?并发编程中使用HashMap可能导致死循环.而线程安全的HashTable效率非常低下,便有了ConcurrentHashMap.HashMap在进行put操作时会引起死循
仇犹
·
2022-02-07 11:04
3. Java内存模型
线程间通信机制有两种:共享内存、消息传递,
Java并发
采用的前者(堆内存和线程本地内存见得数据同步);指令重排序概念:编译器或处理器为了优化程序性能而对指令序列重排序的手段;从源代码到最终的指令序列经过了
星冉子
·
2022-02-07 08:43
10、Executor框架
Java并发
编程的艺术笔记1.并发编程的挑战2.
Java并发
机制的底层实现原理3.Java内存模型4.
Java并发
编程基础5.Java中的锁的使用和实现介绍6.
Java并发
容器和框架7.Java中的12
不干活就没饭吃
·
2022-02-07 05:30
JAVA并发
编程学习笔记之CAS操作
JAVA并发
编程学习笔记之CAS操作CAS操作CAS是单词compareandset的缩写,意思是指在set之前先比较该值有没有变化,只有在没变的情况下才对其赋值。
思考者_小徐
·
2022-02-07 02:23
java并发
—内存模型的几个显见例子
并发三问题:重排序,内存可见性,原子性I、重排序代码示例importjava.util.concurrent.CountDownLatch;publicclassRearrangeTest{privatestaticintx=0,y=0;privatestaticinta=0,b=0;publicstaticvoidmain(String[]args)throwsInterruptedExcept
·
2022-02-06 22:09
java
java并发
编程之线程基本概念
本文为学习笔记。源自学习微信公众号“我们都是小青蛙”。本篇文章将记录如何使用java中的线程。main线程main方法是程序入口,我们对已经编译好的class文件调用java命令时就可以运行一个java程序。这个过程中,其实系统自动为我们创建了一个进程和一个线程,而且这个线程的名字就叫做main。main线程是用来执行我们的程序的,不过系统还会为我们创建一些辅助线程来帮助main线程的执行。在ja
FGY
·
2022-02-06 21:41
Java并发
编程71道面试题及答案
Java并发
编程71道面试题及答案1、在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。
Java机械师
·
2022-02-06 21:58
Java并发
(06)ConcurrentHashMap详解
ConcurrentHashMap是实现了线程安全的HashMap,在JDK1.7和1.8中实现的原理有所区别Jdk1.7基于分段锁的实现原理整个ConcurrentHashMap由一个个Segment组成,Segment代表”部分“或”一段“的意思,所以很多地方都会将其描述为分段锁。注意,行文中,我很多地方用了“槽”来代表一个segment。简单理解就是,ConcurrentHashMap是一个
小亮__
·
2022-02-06 13:56
Java并发
编程知识体系
1.线程基础、线程之间的共享和协作Java线程基础知识(状态、共享与协作)2.线程的并发工具类Java线程并发工具类3.原子操作CASJava原子操作4.显式锁和AQSJava显式锁——相对于synchronized分析AbstractQueuedSynchronizer5.并发容器并发容器——ConcurrentHashMapIntellijIDEA多线程调试——ConcurrentHashMa
王侦
·
2022-02-06 08:33
Java并发
编程 - 阻塞队列(BlockingQueue)
1.概念和特性很多线程问题可以使用一个或多个队列优雅而安全地解决。比如说,生产者线程向队列插入元素,消费者线程负责获取元素。利用这种方式,我们可以安全地从一个线程向另一个线程传递参数。阻塞队列(BlockingQueue)是协调多个线程之间合作的有用工具。当试图向阻塞队列添加元素而队列已满,或者从队列移出元素而队列为空的时候,将导致线程阻塞。阻塞队列的应用场景:工作线程可以周期性地将中间结果存储在
MasterHaKu_KG
·
2022-02-06 00:46
Java并发
编程-Java中的锁
主要内容有:Lock接口队列同步器重入锁读写锁LockSupport工具Condition接口1.Lock接口锁是用来控制多个线程访问共享资源的方式。一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的方法共享资源,比如读写锁)。在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而Java5之后,并发包中新增了Lock接口用来实现锁功
htkeepmoving
·
2022-02-05 23:23
Java并发
(六):并发容器和框架
一.ConcurrentHashMapConcurrentHashMap是线程安全且高效的HashMap。HashMap线程不安全;HashTable使用synchronized保证线程安全,但是效率非常低下;ConcurrentHashMap使用锁分段技术提升并发访问率。注意:ConcurrentHashMap的线程安全指的是其内部的方法线程安全(如get、put等),即单独调用某个方法线程安全
Jorvi
·
2022-02-05 23:11
Java并发
编程面试题(五万字总结)——快来打怪升级吧
并发编程面试题第一关:初出茅庐1.什么是进程?2.什么是线程?3.线程的实现方式?4.线程的状态?5.run方法和start方法的区别6.获取当前线程的名字?7.判断线程是否存活?8.sleep()方法的作用?9.线程的种类10.什么是synchronized?11.线程的基本方法12.为什么wait和notify方法要在同步块中调用?13.怎么检测一个线程是否拥有锁?14.volatile变量和
活跃的咸鱼
·
2022-02-05 21:39
多线程
java
面试
Java并发
编程 - 原子性 可见性 有序性
原子性synchironized:不可中断锁,适合竞争不激烈,可读性好,依赖JVM。Lock:可中断锁,多样化同步,竞争激烈时能维持常态,依赖特殊的CPU指令,代码实现,ReentrantLock。Atomic:竞争激烈时能维持常态,比Lock性能好;只能同步一个值。普通原子类型提供对boolean、int、long和对象的原子性操作。AtomicBooleanAtomicIntegerAtomi
BzCoder
·
2022-02-05 19:36
Java并发
编程(三) - 实战:线程同步的实现
synchronized关键字首先,来看一个多线程竞争临界资源导致的同步不安全问题。packagecom.example.weishj.mytester.concurrency.sync;/***同步安全测试**在无任何同步措施时,并发会导致错误的结果*/publicclassSyncTest1implementsRunnable{//共享资源(临界资源)privatestaticintrace=
未子涵
·
2022-02-05 19:21
【java】并发--阻塞队列 BlockingQueue
如果你对那个感兴趣,参考《
Java并发
指南》BlockingQueue用法BlockingQueue通常用于一个线程生产对象,而另外一个线程消费这些对象的场景。
老鼠AI大米_Java全栈
·
2022-02-05 19:01
(四)
Java并发
编程之可见性,原子性与有序性
相关概念原子性指的是一个操作是不可中断的,即使是在多线程环境下,一个操作一旦开始就不会被其他线程影响。可见性指的是当一个线程修改了某个共享变量的值,其他线程是否能够马上得知这个修改的值。有序性是指对于单线程的执行代码,我们总是认为代码的执行是按顺序依次执行的(但对于多线程环境,则可能出现乱序现象,因为程序编译成机器码指令后可能会出现指令重排现象,重排后的指令与原指令的顺序未必一致)可见性问题示例d
陪安东尼的漫长岁月
·
2022-02-05 14:29
java 线程安全交换区_一篇文章看懂
Java并发
和线程安全(二)
【本文转自爪哇笔记作者:冷血狂魔原文链接:】前言上一篇博文《一篇文章看懂
Java并发
和线程安全(一)》讲述了多线程中,程序总不能按照我们所看到的那样执行,必须保证共享数据的可见性和执行临界区代码的有序性
舒苓
·
2022-02-05 12:23
java
线程安全交换区
JDK中的Future模式
title:JDK中的Future模式date:2017-04-0421:33:48tags:
Java并发
categories:JavaFuture模式Future模式:一个耗时的任务开始后立即返回客户端凭证
zhanghTK
·
2022-02-05 11:30
将ArrayBlockingQueue扒得“体无完肤”
、并发测试五、窥探本尊:ArrayBlockingQueue六、实际场景中玩儿一把一、写在前面较长一段时间以来,都发现不少开发者对jdk中的J.U.C(java.util.concurrent)也就是
Java
JAVA伯乐
·
2022-02-05 10:06
偏向锁的进化和废弃
锁的演变在JDK1.5之前,面对
Java并发
问题,synchronized是一招鲜的解决方案:普通同步方法,锁上当前实例对象静态同步方法,锁上当前类Class对象同步块,锁上括号里面配置的对象拿同步块来举例
乱糟
·
2022-02-04 22:23
多线程与高并发
java
偏向锁
[集合源码]——ConcurrentHashMap源码分析
笔记整理自黑马程序员全面深入学习
Java并发
编程,从《
Java并发
编程的艺术》作为补充文章目录为什么要使用ConcurrentHashMap原理解析️JDK7中源码分析⚙️构造器分析⏳put流程⏳get
一定会去到彩虹海的麦当
·
2022-02-04 17:20
集合源码系列
java
集合
并发编程之深入理解JMM和并发三大特性(一)
前提:JMM属于整个
Java并发
编程中最难的部分也是最重要的部分(JAVA多线程通信模型——共享内存模型),涉及的理论知识比较多,我会从三个维度去分析:JAVA层面JVM层面硬件层面这块如何学?
拾光-铼
·
2022-02-04 17:18
面试
java
spring
boot
maven
jar
Java并发
编程:JMM和volatile关键字
一、Java内存模型 随着计算机的CPU的飞速发展,CPU的运算能力已经远远超出了从主内存(运行内存)中读取的数据的能力,为了解决这个问题,CPU厂商设计出了CPU内置高速缓存区。高速缓存区的加入使得CPU在运算的过程中直接从高速缓存区读取数据,在一定程度上解决了性能的问题。但也引起了另外一个问题,在CPU多核的情况下,每个处理器都有自己的缓存区,数据如何保持一致性。为了保证多核处理器的数据一致
郑能量TuT
·
2022-02-04 17:16
java并发编程
多线程
java
并发编程
java并发
编程-JMM及并发特性(一)
这一章开始就开始
java并发
编程的知识记录与讲解,并发编程相对前面的内容,会更复杂,更难一些。我也梳理了很久的一个顺序以及需要说明的内容。不过没关系,付出总是有回报的,学习能够让自己更加强大。
邋遢道
·
2022-02-04 16:02
java
并发
java
并发编程
高并发
并发编程之JMM模型和并发三大特性
目录1.JMM模型2.并发和并行3.并发三大特性4.
java并发
知识体系5.计算机组成架构
bingtanghulu_6
·
2022-02-04 16:32
java
程序人生
架构
Java并发
编程的三大特性
一.原子性概念:一个操作或多个操作做为一个整体,要么全部执行并且必定成功执行,要么不执行。简单理解就是程序的执行是一步到位的,而不是分布式的。在java当中,直接的读取操作和赋值(常量)属于原子性操作。对于原本不具有原子性的操作我们可以通过synchronized关键字或者Lock接口来保证同一时间只有一个线程执行同一串代码,从而也具有了原子性。二.有序性概念:程序的执行是存在一定顺序的。在Jav
.idea
·
2022-02-04 16:10
并发编程
java
并发编程之深入理解JMM&并发三大特性 (图灵课堂)
并发编程系列JMM属于整个
Java并发
编程中最难的部分也是最重要的部分(JAVA多线程通信模型——共享内存模型),涉及的理论知识比较多,从三个维度去分析:JAVA层面JVM层面硬件层面这块如何学?
lang20150928
·
2022-02-04 16:38
基础
apache
java
开发语言
深入理解
Java并发
编程(一):JMM(Java内存模型)详解
一、JMM是什么?JMM是一个抽象的概念:描述的是一组围绕原子性、有序性、可见性的规范。其定义程序中各个变量的访问规则,即虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量是共享变量。JMM规定:所有共享变量存储在主内存中,每条线程有自己的工作内存,线程的工作内存保存了被该线程使用到的变量的主内存副本,线程对变量的所有操作都必须在工作内存上进行,线程不能直接读写主内存的共享变量。
SEMINECES
·
2022-02-04 16:35
Java并发与多线程
Java并发
指南2:深入理解Java内存模型JMM
https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章同步发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《
Java
Java技术江湖
·
2022-02-04 15:34
Java并发编程指南
Java
并发编程一:深入理解JMM和并发三大特性(上)
文章目录深入理解JMM和并发三大特性(上)前言并发编程三特性JMM内存模型可见性深入分析总结深入理解JMM和并发三大特性(上)前言JMM属于整个
Java并发
编程中最难的部分也是最重要的部分(JAVA多线程通信模型
天黑请闭眼丶风
·
2022-02-04 15:45
并发编程专题
java
并发编程
源码
3.Java内存模型
Java并发
编程的艺术笔记1.并发编程的挑战2.
Java并发
机制的底层实现原理3.Java内存模型4.
Java并发
编程基础5.Java中的锁的使用和实现介绍6.
Java并发
容器和框架7.Java中的12
不干活就没饭吃
·
2022-02-03 15:45
并发编程06--
Java并发
容器和框架
ConcurrentHashMap的实现原理与使用为什么要使用ConcurrentHashMapConcurrentHashMap的结构ConcurrentHashMap的初始化初始化segements数组初始化segmentShift和segmentMask初始化每个segment定位SegmentConcurrentHashMap的操作get操作put操作size操作ConcurrentLin
叫我胖虎大人
·
2022-02-03 14:32
5.Java中的锁的使用和实现介绍
Java并发
编程的艺术笔记1.并发编程的挑战2.
Java并发
机制的底层实现原理3.Java内存模型4.
Java并发
编程基础5.Java中的锁的使用和实现介绍6.
Java并发
容器和框架7.Java中的12
不干活就没饭吃
·
2022-02-03 11:29
并发系列1
Java并发
编程基础
参考:《
Java并发
编程的艺术》第四章《Java多线程编程核心技术》博客https://www.jianshu.com/p/8a04b5ec786cJava多线程基础博客https://www.jianshu.com
莫小归
·
2022-02-03 10:33
Java 并发协作 wait、notify、notifyAll 方法
问:简单谈谈
Java并发
协作的wait、notify、notifyAll等方法的特点和场景?
Little丶Jerry
·
2022-02-03 08:16
Java基础+集合+多线程+JVM(二)
目录1Java基础2Java集合3Java多线程4JVM5常见问题汇总参考资料·《Java编程思想》·《JavaWeb技术内幕》·《
Java并发
编程实战》3Java多线程3.1基本线程机制使用线程可以把占据时间长的程序中的任务放到后台去处理
小小千千
·
2022-02-03 06:37
java并发
小说爬虫,多站点搜索下载,并实现Android客户端开发
小说爬虫真的很简单,但要能优雅地使用却很麻烦。下面让我来诉说一下这几天的肝路历程。整个流程很完整,但不会很深入,主要是讲思路,给想要写类似功能的同学踩点坑,有什么细节问题直接评论就好。[TOC]先奉上项目Github,里面有实现代码以及jar和apk两种软件,几天课余时间肝出来的,有些想的不周到的地方还请见谅。明确产品需求最基本的要求,能够搜索小说,然后点击小说进行阅读或者下载。同时,我们想要能够
Zzzia
·
2022-02-03 00:38
2.
Java并发
机制的底层实现原理
Java并发
编程的艺术笔记1.并发编程的挑战2.
Java并发
机制的底层实现原理3.Java内存模型4.
Java并发
编程基础5.Java中的锁的使用和实现介绍6.
Java并发
容器和框架7.Java中的12
不干活就没饭吃
·
2022-02-03 00:11
JAVA并发
编程——CAS概念以及ABA问题
1.CAS基础概念2.CAS源码阅读(自旋锁)3.CAS产生的ABA问题4.如何解决ABA问题1.CAS基础概念CAS顾名思义,就是CompareAndSwap(比较并交换),简单一点就是说:我们想改变一个变量的值的时候,工作内存会读取现在内存中的值,然后我们对这个值进行一系列的操作之后,再将这个值更新回主存中,这个时候,我们要比较一下主存现在的值和之前读取的值,是否在操作这个变量的时间内,被其它
·
2022-01-15 13:14
并发java
JAVA并发
编程——原子操作类以及LongAdder源码分析
1.原子操作类有哪些2.基本类型原子类3.数组类型原子类4.引用类型原子类5.对象的属性修改原子类6.LongAdder原理分析7.LongAdder源码解读8.总结1.原子操作类有哪些
JAVA并发
编程
·
2022-01-15 13:42
javacascell
JAVA并发
编程——ReentrantReadWriteLock锁降级和StampedLock
1.锁的一路演变2.ReentrantReadWriteLock锁降级3.比读写锁更快的锁————邮戳锁4.总结1.锁的一路演变当我们在学习java的锁的时候,经历了以下四个阶段的锁演变:无锁→独占锁→读写锁→邮戳锁。无锁:我们一开始学会编写代码的时候,肯定写的都是无锁的代码。优点:执行效率高缺点:多线程无序抢夺导致错误数据然后我们发现其中的问题,就学会了synchronized,reentran
·
2022-01-11 21:44
java锁并发编程
Java JUC CopyOnWriteArrayList 解析
CopyOnWriteArrayList原理解析介绍在
Java并发
包中的并发List只有CopyOnWriteArrayList,CopyOnWriteArrayList是一个线程安全的ArrayList
·
2022-01-11 17:33
JAVA并发
编程——Synchronized与锁升级
1.Synchronized的性能变化2.synchronized锁种类及升级步骤3.JIT编译器对锁的优化4.总结1.Synchronized的性能变化我们都知道synchronized关键字能够让程序串行化执行,保证数据的安全性,但是性能会下降。所以java对synchronized进行了一系列的优化:java5之前:synchronized仅仅只是synchronized,这个操作是重量级别
·
2022-01-10 17:34
JAVA并发
编程——Java对象内存布局和对象头
1.对象在堆内存中布局2.对象的对象头3.对象的实例数据4.对象的对齐填充5.看看Object的对象头6.看看自定义对象的对象头7.总结1.对象在堆内存中布局当我们写入这样一行代码Objectobject=newObject();的时候,我们都知道它会在我们的JVM堆->新生区->伊甸园区新建一个对象,但是我们可能只是知道这个对象在哪儿,但是对这个对象的内存结构却知之甚少,今天我们就来细说一下,J
·
2022-01-08 12:12
java对象布局
Java并发
编程——ReentrantLock—Condition原理
一、前言Jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock。虽然在性能上ReentrantLock和synchronized没有什么区别,但ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。使用synchronized结合Object上的wait和notify方法可以实现线程间的等待通知
小波同学
·
2022-01-05 17:38
上一页
41
42
43
44
45
46
47
48
下一页
按字母分类:
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
其他