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并发
编程的艺术之独占式同步状态的获取与释放源码分析
2.1.1acquire()方法2.1.2addWaiter()以及enq()方法2.1.3acquireQueued()方法2.1.4小总结2.2同步状态的释放2.2.1release()方法3总结1问题背景前面了解了
Java
Android_la
·
2021-09-22 10:43
Java并发编程的艺术
lock
Java并发
编程之阻塞队列(BlockingQueue)详解
目录队列阻塞队列ArrayBlockingQueue重要属性构造方法添加元素add(e)offer(e)put(e)offer(e,time,unit)移除元素take()dequeue()LinkedBlockingQueue重要属性构造方法添加元素offer(e)put(e)移除元素poll()take()对比总结大家好,我是小黑,一个在互联网苟且偷生的农民工。队列学过数据结构的同学应该都知道
·
2021-09-15 10:23
Java并发
编程之代码实现两玩家交换装备
目录1Exchanger是什么2Exchanger详解3Exchanger应用总结1Exchanger是什么JDK1.5开始JUC包下提供的Exchanger类可用于两个线程之间交换信息。Exchanger对象可理解为一个包含2个格子的容器,通过调用exchanger方法向其中的格子填充信息,当两个格子中的均被填充信息时,自动交换两个格子中的信息,然后将交换的信息返回给调用线程,从而实现两个线程的
·
2021-09-15 10:52
java并发
编程JUC CountDownLatch线程同步
目录
java并发
编程JUCCountDownLatch线程同步1、CountDownLatch是什么?
·
2021-09-15 10:51
Java并发
学习笔记:ReentrantReadWriteLock(良心之作)
前言上一篇博客介绍了ReentrantLock,可是ReentratLock是独占锁,遇到写少读多的情况,性能会不尽人意。JUC包还提供了一个ReentrantReadWriteLock锁,采用读写分离的方式,多个线程可以同时获取读锁。本文将从源码角度对ReentrantReadWriteLock(以下简称读写锁)的初始化,获取,释放等进行解释和记录。锁的初始化publicclassReentra
·
2021-09-13 15:17
java程序员锁
《重学Java高并发》你管这“破玩意儿”叫锁(没有高并发经验的朋友们看过来,该专栏结合笔者的实战来讲高并发)
专栏目录:《重学Java高并发》Sempahore的使用场景与常见误区《重学Java高并发》手写一个生产者消费者线程模型正确理解锁是深入理解
Java并发
的重中之重。
中间件兴趣圈
·
2021-09-13 13:39
重学Java高并发
java
面试
Java并发
知识总结
首先给大家分享一个github仓库,上面放了200多本经典的计算机书籍,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,可以star一下,下次找书直接在上面搜索,仓库持续更新中~github地址:https://github.com/Tyson0314/...如果github访问不了,可以访问gitee仓库。gitee地址:ht
·
2021-09-11 17:11
java
面试官:你说你精通
Java并发
,给我讲讲 volatile
今天来了解一下面试题:你对volatile了解多少。要了解volatile关键字,就得从Java内存模型开始。最后到volatile的原理。一、Java内存模型(JMM)大家都知道Java程序可以做到一次编写然后到处运行。这个功劳要归功于Java虚拟机。Java虚拟机中定义了一种Jva内存模型(JMM),用来屏蔽掉各种硬件和操作系统之间内存访问差异,让Java程序可以在各个平台中访问变量达到相同的
爱穿格子衫的程序猿
·
2021-09-08 21:40
Java
java
面试
(五)深入剖析并发之AQS独占锁&重入锁(ReetrantLock)及Condition实现原理
引言在我们前面的文章《深入理解
Java并发
编程之无锁CAS机制》中我们曾提到的CAS机制如果说是整个
Java并发
编程基础的话,那么本章跟大家所讲述的AQS则是整个JavaJUC的核心。
竹子爱熊猫
·
2021-09-08 17:32
轻轻松松吃透
Java并发
fork/join框架
目录一、概述二、说一说RecursiveTask三、Fork/Join框架基本使用四、工作顺序图1、ForkJoinPool构造函数2、fork方法和join方法五、使用Fork/Join解决实际问题1.使用归并算法解决排序问题2.使用Fork/Join运行归并算法Fork/Join是一个工具框架,其核心思想在于将一个大运算切成多个小份,最大效率的利用资源,其主要涉及到三个类:ForkJoinPo
·
2021-09-06 17:53
JAVA并发
图解
目录总结
JAVA并发
总览核心问题并不是程序的漏洞导致的,而是操作系统底层机制导致的原子性:可见性问题:改的是缓存,但是缓存对另一个线程不可见有序性问题:正常应该先创建对象,再赋值;而编译器对指令执行顺序出于某些原因进行了优化
·
2021-09-06 17:50
Linux高性能服务器编程 学习笔记③
Linux高性能服务器
编程学习笔记
③Linux网络编程基础APIsocket地址API字节序通用socket地址&&专用socket地址IP地址转换函数创建socket命名socket监听socket连接相关接受连接发起连接关闭连接数据读写
秦淮孤道
·
2021-09-05 21:51
Linux高性能服务器
linux
网络
ubuntu
Java并发
中的Fork/Join 框架机制详解
什么是Fork/Join框架Fork/Join框架是一种在JDk7引入的线程池,用于并行执行把一个大任务拆成多个小任务并行执行,最终汇总每个小任务结果得到大任务结果的特殊任务。通过其命名也很容易看出框架主要分为Fork和Join两个阶段,第一阶段Fork是把一个大任务拆分为多个子任务并行的执行,第二阶段Join是合并这些子任务的所有执行结果,最后得到大任务的结果。这里不难发现其执行主要流程:首先判
·
2021-09-03 19:49
多线程学习-锁升级
参考资料:《
Java并发
编程的艺术》正文一.锁的使用
·
2021-09-02 16:52
Java并发
编程必备之Future机制
前言Java5在concurrency包中引入了java.util.concurrent.Callable接口,它和Runnable接口很相似,但它可以返回一个对象或者抛出一个异常。Callable接口使用泛型去定义它的返回类型。Executors类提供了一些有用的方法在线程池中执行Callable内的任务。由于Callable任务是并行的,我们必须等待它返回的结果。而线程是属于异步计算模型,所以
·
2021-09-02 14:08
Java并发
之Condition案例详解
目录一、Condition接口介绍和示例二、Condition接口常用方法三、Condition接口原理简单解析3.1、等待3.2、通知四、总结五、利用Condition实现生产者消费者模式在使用Lock之前,我们使用的最多的同步方式应该是synchronized关键字来实现同步方式了。配合Object的wait()、notify()系列方法可以实现等待/通知模式。Condition接口也提供了类
·
2021-09-01 13:40
java并发
编程之ThreadLocal详解
目录ThreadLocal是什么?如何使用原理哪些场景使用避免踩坑内存泄漏ThreadLocal是什么?该类提供了线程局部(thread-local)变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其get或set方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal实例通常是类中的privatestatic字段,它们希望将状态与某一个线程(例如,用户ID
·
2021-08-31 19:05
Java并发
之synchronized实现原理深入理解
目录synchronized的三种应用方式synchronized作用于实例方法synchronized作用于静态方法synchronized同步代码块synchronized底层语义原理理解Java对象头与Monitorsynchronized代码块底层原理synchronized方法底层原理Java虚拟机对synchronized的优化偏向锁轻量级锁自旋锁锁消除关于synchronized可能
·
2021-08-27 18:24
多线程学习-锁
内容参考了《
Java并发
编程的艺术》第5章。
·
2021-08-24 16:53
java并发
三大特性
并发编程中两大核心:JMM抽象内存模型以及happens-before规则、三大特性(原子性、有序性、可见性)一、原子性1、原子性简介原子性表示一步操作执行过程中不允许其他操作的出现,直到该操作的完成。在多线程环境下,原子性表现在,当前线程执行字节码的过程中不允许切换到其他线程,去执行其他的字节码。常见如下语句:inta=1;a++;intb=a;a=a+1;在上述4条语句执行过程中,只有第一条能
程序猿老徐
·
2021-08-23 23:20
详解
Java并发
编程基础之volatile
目录一、volatile的定义和实现原理1、
Java并发
模型采用的方式2、volatile的定义3、volatile的底层实现原理二、volatile的内存语义1、volatile的特性2、volatile
·
2021-08-19 16:21
Linux高性能服务器编程 学习笔记②
Linux高性能服务器
编程学习笔记
②Linux系统工具tcpdumplsofncnetstat总结Linux系统工具tcpdump tcpdump是一款网络抓包工具(不过Wireshark更加容易使用和掌握
秦淮孤道
·
2021-08-18 15:42
Linux高性能服务器
linux
网络
ubuntu
【多线程】synchronized基础
线程不安全在《
Java并发
编程实战》中有这么一句话当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替进行,并且不需要额外的同步及调用方代
·
2021-08-18 11:06
Java并发
--- volatile关键字
volatile是java虚拟机提供的轻量级的同步机制在并发编程中,需要解决的两个问题:通信:在命令式编程中,线程之间的通信包括共享内存和消息传递而
java并发
采用的是共享内存模型,线程之间共享程序的公共状态
_code_x
·
2021-08-17 18:50
java高并发高频面试题:Sempahore的使用场景与常见误区
JUC,
java并发
框架也是面试中的常客,而Se
中间件兴趣圈
·
2021-08-16 09:18
面试系列
Sempahore
面试
多线程
【最新版】Java学习路线(含B站口碑推荐链接)
文章目录一、计算机网络二、数据结构与算法三、操作系统四、计算机组成原理五、编译原理六、设计模式七、MySQL八、实操工具九、
JAVA并发
与JVM十、Redis十一、Linux十二、Java路线学习尚硅谷黑马程序员动力节点狂神说十三
Redemption&
·
2021-08-14 20:58
程序员学习
java
经验分享
后端
spring
算法
多线程学习-队列同步器
参考资料:《
Java并发
编程的艺术》正文一.AbstractQueuedSynchronizer的使用AbstractQueuedSynchro
·
2021-08-14 09:50
Java并发
--- 线程创建、状态与方法等
线程的创建方式?三者之间区别是什么?如何进行选择?java天生就是多线程的编程语言,创建新的线程有三种实现方式(实现并发编程),分别是:继承Thread,实现Runable,实现Callable创建线程的三种基本方式:继承Thread类并重写run方法,有单继承的局限性。但不符合里氏替换原则,不可以继承其他类。实现Runnable接口并重写run方法,任务和线程分开,不能返回执行结果。实现Call
_code_x
·
2021-08-13 15:32
带你快速搞定
java并发
库
Java并发
库共分为四个大的部分,如下图Executor和future是为了保证线程的效率性Lock和数据结构是为了维持数据的一致性。
Java并发
编程的时候,思考顺序为,对自己的数据要么加锁。要么
·
2021-08-12 10:03
10张图总结出并发编程最佳学习路线
目录最佳学习路线并发基础
Java并发
集合并发工具类Java内存模型(JMM)线程池阻塞队列锁Atomic其他总结我们开始今天的正文。首先,来看一下今天分享的并发编程最佳学习路线包含哪些内容。
·
2021-08-12 09:42
Java并发
--- 线程安全、并发特性等
什么是多线程编程,有什么优缺点?Java的多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务。多线程的优势:多线程的好处是可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,举个例子:当只有一个线程的时候会导致CPU计算时,IO设备空闲;进行IO操作时,CPU空闲。我们可以简单地说这两者的利用率目前都是50%左右
_code_x
·
2021-08-11 09:44
常见面试题整理:计算机网络篇,值得背诵收藏!
《死磕
Java并发
编程》系列连载中,大家可以关注一波:「死磕
Java并发
编程05」阿里面试失败后,一气之下我图解了Java中18把锁「死磕
Java并发
编程04」说说JavaAtomic原子类的实现原理「
爱笑的架构师
·
2021-08-10 22:54
计算机网络
面试
java
http
tcp/ip
Java并发
编程之ThreadLocal详解
目录一、什么是ThreadLocal?二、ThreadLocal的使用场景三、如何使用ThreadLocal四、数据库连接时的使用五、ThreadLocal工作原理六、小结七、注意点一、什么是ThreadLocal?ThreadLocal叫做线程本地变量,ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal为变量在每个线程中都创建了一个副本,则每个线
·
2021-08-09 13:51
解析
Java并发
Exchanger的使用
目录类定义类继承构造函数具体的例子结语类定义publicclassExchanger其中V表示需要交换的对象类型。类继承java.lang.Objectjava.util.concurrent.ExchangerExchanger直接继承自Object。构造函数Exchanger()Exchanger提供一个无参构造函数。两个主要方法1.publicVexchange(Vx)throwsInter
·
2021-08-09 13:50
Java日常练习题,每天进步一点点(51)
4、以下程序的运行结果是:()5、下列关于
Java并发
的说法中正确的是()6、下面有关struts1和struts2的区别,描述错误的是?
·
2021-08-09 11:58
Linux高性能服务器编程 学习笔记①
Linux高性能服务器
编程学习笔记
①计算机网络知识复习(查漏补缺)协议栈ARP协议令牌环网(TokenRing)ICMP重定向TCP相关TCP连接建立与关闭TCP状态转移图TCP交互数据流TCP成块数据流
秦淮孤道
·
2021-08-08 20:55
Linux高性能服务器
linux
网络
java并发
笔记
并发编程三要素原子性:关键包atomic;线程切换导致原子性问题可见性:关键字volatile;操作工作内存副本机制导致可见性问题有序性:关键字synchronized,Happens-Before规则;并发操作通过锁机制保证有序性线程创建Thread.class;interfaceRunnable;interfaceCallable(Future,FutureTask);Executorsthr
圆方的鱼
·
2021-08-08 08:26
java volatile案例讲解
本篇来自
java并发
编程实战关于volatile的总结。要说volatile,先得明白内存可见性。那我们就从内存可见性说起。
·
2021-08-07 17:41
多线程学习-线程池使用
本篇文章为《
Java并发
编程的艺术》第9章的学习笔记,根据原文作者的编写思路,依次对线程池的原理,线程池的创建,线程池执行任务和关闭线程池进行了学习和总结。
·
2021-08-06 18:40
多线程学习-Executor框架
参考:《
Java并发
编程的艺术》正文一.Executor的组件前言中已经提到,Executor框架将线程的管理分为任务,线程执行任务,任务执行结果三部分。下面以图表形式对这三部分进行说明。
·
2021-08-06 18:38
Java并发
编程之线程间的通信
目录一、概念简介1、线程通信2、等待通知机制3、基础方法二、等待通知原理1、基本原理2、实现案例三、管道流通信1、管道流简介2、使用案例四、生产消费模式1、业务场景2、代码实现五、源代码地址一、概念简介1、线程通信在操作系统中,线程是个独立的个体,但是在线程执行过程中,如果处理同一个业务逻辑,可能会产生资源争抢,导致并发问题,通常使用互斥锁来控制该逻辑。但是在还有这样一类场景,任务执行是有顺序控制
·
2021-08-06 10:15
java并发
之Lock接口的深入讲解
目录Juc中各种各样锁信息synchronized面临缺点Lock接口对比Lock和tryLock的区别总结Juc中各种各样锁信息在java的juc包为我们提供了各种各样的锁信息。如果细心来看其大部分都会实现一个名为LOCK的接口信息本文皆在帮你回顾Lock信息;通过本文你将了解到如下内容:1.Lock和synchronized的对比2.Lock中常见API的总结synchronized面临缺点锁
·
2021-08-05 13:06
Java基础之并发相关知识总结
目录一、
Java并发
是什么?二、怎么做?三、分工四、同步五、互斥六、总结一、
Java并发
是什么?
·
2021-08-03 10:20
Java并发
--- CAS解析(对比synchronized )
什么是CASCAS,compareandswap的缩写,中文翻译成比较并交换。CAS指令在IntelCPU上称为CMPXCHG指令,它的作用是将指定内存地址的内容与所给的某个值相比,如果相等,则将其内容替换为指令中提供的新值,如果不相等,则更新失败。从内存领域来说这是乐观锁,因为它在对共享变量更新之前会先比较当前值是否与更新前的值一致,如果是,则更新,如果不是,则无限循环执行(称为自旋),直到当前
_code_x
·
2021-07-31 17:59
Java并发
编程之详解ConcurrentHashMap类
前言由于Java程序员常用的HashMap的操作方法不是同步的,所以在多线程环境下会导致存取操作数据不一致的问题,Map接口的另一个实现类Hashtable虽然是线程安全的,但是在多线程下执行效率很低。为了解决这个问题,在java1.5版本中引入了线程安全的集合类ConcurrentMap。java.util.concurrent.ConcurrentMap接口是Java集合类框架提供的线程安全的
·
2021-07-31 15:17
剖根问底:Java 不能实现真正泛型的原因是什么?
本文已同步至GitHub《教妹学Java》专栏,风趣幽默,通俗易懂,对Java初学者亲切友善,么么哒,内容包括Java语法、Java集合框架、
Java并发
编程、Java虚拟机等核心知识点,欢迎star。
·
2021-07-30 11:50
java
Java并发
教程之Callable和Future接口详解
刚把Thread的知识理了一遍。Runnable是一个接口,而Thread是Runnable的一个实现类。所以也就有了之前创建线程的两种方法继承Thread实现Runnable我们看一下新建线程的方法:都是得传入一个Runnable对象(这句话很关键)所以传入一个Runnble和Thread对象都行。现在引入创建线程的第三种方法:Callable为了实现Runnable,需要实现不返回任何内容的r
·
2021-07-28 10:18
一文搞懂
Java并发
编程模型有哪些
聊聊
Java并发
编程的模型有哪些并发系统同分布式系统相似并行工作者模式并行工作者模型的优点并行工作者模型的缺点1)共享状态可能会很复杂2)无状态的工作者3)任务顺序是不确定的流水线模式反应器,事件驱动系统流水线模型的优点
神技圈子
·
2021-07-26 16:34
Java大厂应用
Java并发
--- 线程池解析
线程池是什么,有什么好处?简述线程池中线程复用原理?线程是一个重资源,JVM中的线程与操作系统的线程是一对一的关系,所以在JVM中每创建一个线程就需要调用操作系统提供的API创建线程,赋予资源,并且销毁线程同样也需要系统调用。而系统调用就意味着上下文切换等开销,并且线程也是需要占用内存的,而内存也是珍贵的资源。因此线程的创建和销毁是一个重操作(系统调用),并且线程本身也占用资源。总结补充:Java
_code_x
·
2021-07-24 22:36
Java并发
:轻轻松松吃透fork/join
Fork/Join是一个工具框架,其核心思想在于将一个大运算切成多个小份,最大效率的利用资源,其主要涉及到三个类:ForkJoinPool/ForkJoinTask/RecursiveTask一、概述ava.util.concurrent.ForkJoinPool由Java大师DougLea主持编写,它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出
Java罗
·
2021-07-22 16:24
上一页
49
50
51
52
53
54
55
56
下一页
按字母分类:
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
其他