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第十一篇:如何在线程之间进行对等数据交换
java.util.concurrent.Exchanger可以用来进行数据交换,或者被称为“数据交换器”。两个线程可以使用Exchanger交换数据,下图用来说明Exchanger的作用在下面的代码中首先我们定义了一个Exchanger,用于数据交换然后定义了两个线程对象bookExchanger1和bookExchanger2,两个线程都持有Exchanger交换器对象用于数据交换两个线程中的
·
2021-04-06 08:26
spring
网络编程1:简易的TCP socket编程
返回:Linux网络
编程学习笔记
1.参考链接(1)【Linux网络编程】TCP网络编程中connect()、listen()和accept()三者之间的关系:https://blog.csdn.net/
snaking616
·
2021-04-04 22:00
linux网络编程
linux网络编程
socket编程
Java并发
——基石篇(下)
Objectwait和notify的实现机制JavaObject类提供了一个基于native实现的wait和notify线程间通讯的方式,这是除了synchronized之外的另外一块独立的并发基础部分,有关wait和notify·的部分内容,我们在上面分析monitor的exit的时候已经有一些涉及,但是并没有过多的深入,留下了不少的疑问,本小节会详细分析。wait实现ObjectMonitor
·
2021-04-04 21:56
java
Java并发
——基石篇(中)
Synchronized实现机制synchronized是
Java并发
同步开发的基本技术,是Java语言层面提供的线程间同步手段。
·
2021-04-04 21:56
java
Java并发
——基石篇(上)
概要并行是这个时代的主旋律,也是很多现代操作系统需要提供的必备功能,在过去摩尔定律催生下,单个CPU核心计算的速度越来越快。但是随着产业的发展,单个CPU核心的计算上限已经难以突破,传统的加强单核的思维模式已经不能满足需求。在古代,人们需要强大的战马来驱动战车,为了能够使得战斗力越来越强,人们驯化了越来越强劲的战马,但是单匹马的力量始终是有限的,因此人们发明了多马并驾的战车结构。同样地,在现代计算
·
2021-04-04 21:26
java
Java并发
——基石篇(中)
Synchronized实现机制synchronized是
Java并发
同步开发的基本技术,是Java语言层面提供的线程间同步手段。
·
2021-04-04 21:12
java
Java并发
——基石篇(上)
概要并行是这个时代的主旋律,也是很多现代操作系统需要提供的必备功能,在过去摩尔定律催生下,单个CPU核心计算的速度越来越快。但是随着产业的发展,单个CPU核心的计算上限已经难以突破,传统的加强单核的思维模式已经不能满足需求。在古代,人们需要强大的战马来驱动战车,为了能够使得战斗力越来越强,人们驯化了越来越强劲的战马,但是单匹马的力量始终是有限的,因此人们发明了多马并驾的战车结构。同样地,在现代计算
·
2021-04-04 21:12
java
Java并发
——基石篇(下)
Objectwait和notify的实现机制JavaObject类提供了一个基于native实现的wait和notify线程间通讯的方式,这是除了synchronized之外的另外一块独立的并发基础部分,有关wait和notify·的部分内容,我们在上面分析monitor的exit的时候已经有一些涉及,但是并没有过多的深入,留下了不少的疑问,本小节会详细分析。wait实现ObjectMonitor
·
2021-04-04 21:40
java
【
Java并发
编程实战】(五):死锁问题
引言在上一篇文章中,我们用Account.class作为互斥锁,来解决银行业务里面的转账问题,虽然这个方案不存在并发问题,但是所有账户的转账操作都是串行的,例如账户A转账户B、账户C转账户D这两个转账操作现实世界里是可以并行的,但是在这个方案里却被串行化了,这样的话,性能太差。试想互联网支付盛行的当下,8亿网民每人每天一笔交易,每天就是8亿笔交易;每笔交易都对应着一次转账操作,8亿笔交易就是8亿次
·
2021-04-01 22:23
java多线程线程安全并发编程
【
Java并发
编程实战】(四):互斥锁——解决原子问题和保护多个资源
@[TOC]引言在第一篇文章中我们提到,一个或者多个操作在CPU执行的过程中不被中断的特性,称为“原子性”。理解这个特性有助于你分析并发编程Bug出现的原因,例如利用它可以分析出long型变量在32位机器上读写可能出现的诡异Bug,明明已经把变量成功写入内存,重新读出来却不是自己写入的。那原子性问题到底该如何解决呢?你已经知道,原子性问题的源头是线程切换,如果能够禁用线程切换那不就能解决这个问题了
·
2021-04-01 22:23
java多线程线程安全并发编程
【
Java并发
编程实战】(三):Java内存模型——看Java如何解决可见性和有序性问题
引言上一节我们讲到在并发场景中,因可见性、原子性、有序性导致的问题常常会违背我们的直觉,从而成为并发编程的Bug之源。这三者在编程领域属于共性问题,所有的编程语言都会遇到,Java在诞生之初就支持多线程,自然也有针对这三者的技术方案,而且在编程语言领域处于领先地位。理解Java解决并发问题的解决方案,对于理解其他语言的解决方案有触类旁通的效果。那我们就先来聊聊如何解决其中的可见性和有序性导致的问题
·
2021-04-01 22:23
java多线程线程安全并发编程
【
Java并发
编程实战】(二):并发编程Bug的源头——可见性、原子性和有序性问题
引言如果你细心观察的话,你会发现,不管是哪一门编程语言,并发类的知识都是在高级篇里。换句话说,这块知识点其实对于程序员来说,是比较进阶的知识。我自己这么多年学习过来,也确实觉得并发是比较难的,因为它会涉及到很多的底层知识,比如若你对操作系统相关的知识一无所知的话,那去理解一些原理就会费些力气。这是我们整个专栏的第一篇文章,我说这些话的意思是如果你在中间遇到自己没想通的问题,可以去查阅资料,也可以在
·
2021-04-01 22:22
java多线程并发编程
【
Java并发
编程实战】(一):如何才能学好并发编程
引言并发编程并不是一门相对独立的学科,而是一个综合学科。并发编程相关的概念和技术看上非常零散,相关度也很低,总给你一种这样的感觉:我已经学习很多相关技术了,可还是搞不定并发编程。那如何才能学习好并发编程呢?其实很简单,只要你能从两个方面突破一下就可以了。一个是“跳出来,看全景”,另一个是“钻进去,看本质”。跳出来,看全景我们先说“跳出来”。你应该也知道,学习最忌讳的就是“盲人摸象”,只看到局部,而
·
2021-04-01 22:22
java多线程并发编程
面试常问集锦——多线程部分
JAVA并发
十二连招,你能接住吗?https://mp.weixin.qq.com/s?
SunAlwaysOnline
·
2021-04-01 22:39
#
多线程
JAVA
面试经历
java
面试
多线程
【
Java并发
编程实战】(五):死锁问题
引言在上一篇文章中,我们用Account.class作为互斥锁,来解决银行业务里面的转账问题,虽然这个方案不存在并发问题,但是所有账户的转账操作都是串行的,例如账户A转账户B、账户C转账户D这两个转账操作现实世界里是可以并行的,但是在这个方案里却被串行化了,这样的话,性能太差。试想互联网支付盛行的当下,8亿网民每人每天一笔交易,每天就是8亿笔交易;每笔交易都对应着一次转账操作,8亿笔交易就是8亿次
·
2021-04-01 22:03
java多线程线程安全并发编程
【
Java并发
编程实战】(四):互斥锁——解决原子问题和保护多个资源
@[TOC]引言在第一篇文章中我们提到,一个或者多个操作在CPU执行的过程中不被中断的特性,称为“原子性”。理解这个特性有助于你分析并发编程Bug出现的原因,例如利用它可以分析出long型变量在32位机器上读写可能出现的诡异Bug,明明已经把变量成功写入内存,重新读出来却不是自己写入的。那原子性问题到底该如何解决呢?你已经知道,原子性问题的源头是线程切换,如果能够禁用线程切换那不就能解决这个问题了
·
2021-04-01 22:03
java多线程线程安全并发编程
【
Java并发
编程实战】(三):Java内存模型——看Java如何解决可见性和有序性问题
引言上一节我们讲到在并发场景中,因可见性、原子性、有序性导致的问题常常会违背我们的直觉,从而成为并发编程的Bug之源。这三者在编程领域属于共性问题,所有的编程语言都会遇到,Java在诞生之初就支持多线程,自然也有针对这三者的技术方案,而且在编程语言领域处于领先地位。理解Java解决并发问题的解决方案,对于理解其他语言的解决方案有触类旁通的效果。那我们就先来聊聊如何解决其中的可见性和有序性导致的问题
·
2021-04-01 22:03
java多线程线程安全并发编程
【
Java并发
编程实战】(二):并发编程Bug的源头——可见性、原子性和有序性问题
引言如果你细心观察的话,你会发现,不管是哪一门编程语言,并发类的知识都是在高级篇里。换句话说,这块知识点其实对于程序员来说,是比较进阶的知识。我自己这么多年学习过来,也确实觉得并发是比较难的,因为它会涉及到很多的底层知识,比如若你对操作系统相关的知识一无所知的话,那去理解一些原理就会费些力气。这是我们整个专栏的第一篇文章,我说这些话的意思是如果你在中间遇到自己没想通的问题,可以去查阅资料,也可以在
·
2021-04-01 22:02
java多线程并发编程
【
Java并发
编程实战】(一):如何才能学好并发编程
引言并发编程并不是一门相对独立的学科,而是一个综合学科。并发编程相关的概念和技术看上非常零散,相关度也很低,总给你一种这样的感觉:我已经学习很多相关技术了,可还是搞不定并发编程。那如何才能学习好并发编程呢?其实很简单,只要你能从两个方面突破一下就可以了。一个是“跳出来,看全景”,另一个是“钻进去,看本质”。跳出来,看全景我们先说“跳出来”。你应该也知道,学习最忌讳的就是“盲人摸象”,只看到局部,而
·
2021-04-01 22:02
java多线程并发编程
Java学习_多线程编程(上)(很全,上篇四万多字)
篇幅太长,阅读不易,关于线程活性故障、线程通信、线程池的知识点会在下篇涉及[JAVA学习_多线程编程(下)]链接参考资料以下均为视频,参考的文章会在摘要后贴上链接黑马【多线程】知识黑马程序员全面深入学习
java
头还没秃我还能学
·
2021-04-01 16:12
java学习
多线程
java
锁
volatile
线程安全
java并发
编程JUC第十篇:CyclicBarrier线程同步
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-04-01 07:20
spring
java并发
编程JUC第十篇:CyclicBarrier线程同步
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-04-01 07:50
spring
java并发
编程JUC第九篇:CountDownLatch线程同步
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-31 09:44
spring
java并发
编程工具类JUC第八篇:ConcurrentHashMap
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-31 09:13
spring
java并发
编程工具类JUC第七篇:BlockingDeque双端阻塞队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-31 09:13
spring
java并发
编程JUC第九篇:CountDownLatch线程同步
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-31 09:02
spring
java并发
编程工具类JUC第八篇:ConcurrentHashMap
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-30 11:42
spring
《我要进大厂》系列之ReentrantLock与synchronized两种锁的区别
在大厂面试中,特别是第一轮技术面试中,锁是一个非常高频的主题,在JDK中主要提供了两种方式:JUC(
JAVA并发
框架)中的ReentrantLock与synchronized关键字。
中间件兴趣圈
·
2021-03-29 23:43
面试指南
锁
公平锁
非公平锁
可重入
java并发
编程工具类JUC第七篇:BlockingDeque双端阻塞队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-29 07:19
spring
java并发
编程工具类JUC第六篇:SynchronousQueue同步队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-27 12:01
spring
java并发
编程工具类JUC第六篇:SynchronousQueue同步队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
·
2021-03-27 12:15
spring
BAT面试多线程最常问的一个问题:谈谈你对Synchronized的理解?
前言
Java并发
编程系列第二篇Synchronized,文章风格依然是图文并茂,通俗易懂,本文带读者们由浅入深理解Synchronized,让读者们也能与面试官疯狂对线。
程序猿阿星
·
2021-03-26 12:33
Java基础
java多线程
java并发
编程工具类JUC第五篇:PriorityBlockingQueue优先级队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue,本文为系列文章第五篇
·
2021-03-26 08:26
spring
java并发
编程工具类JUC第四篇:LinkedBlockingQueue链表队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue。
·
2021-03-26 08:54
spring
java并发
编程工具类JUC第三篇:DelayQueue延时队列
DelayQueue是BlockingQueue接口的实现类,它根据"延时时间"来确定队列内的元素的处理优先级(即根据队列元素的“延时时间”进行排序)。另一层含义是只有那些超过“延时时间”的元素才能从队列里面被拿出来进行处理。DelayQueue队列将阻止其元素对象从队列中被取出,直到达到为元素对象设置的延迟时间。DelayQueue在队列的头部存储最近过期的元素,如果队列内没有元素过期,使用po
·
2021-03-26 08:23
spring
java并发
编程工具类JUC第二篇:ArrayBlockingQueue
类ArrayBlockingQueue是BlockingQueue接口的实现类,它是有界的阻塞队列,内部使用数组存储队列元素。这里的“有界”是指存储容量存在上限,不能无限存储元素。在同一时间内存储容量存在着一个上限值,这个上限制在初始实例化的时候指定,之后便不能修改了。ArrayBlockingQueue内部采用FIFO(FirstIn,FirstOut)先进先出的方法实现队列数据的存取,队首的元
·
2021-03-26 08:23
spring
java并发
编程工具类JUC第五篇:PriorityBlockingQueue优先级队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue,本文为系列文章第五篇
·
2021-03-26 08:22
spring
java并发
编程工具类JUC第四篇:LinkedBlockingQueue链表队列
在之前的文章中已经为大家介绍了
java并发
编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue。
·
2021-03-25 11:52
spring
java并发
编程工具类JUC第三篇:DelayQueue延时队列
DelayQueue是BlockingQueue接口的实现类,它根据"延时时间"来确定队列内的元素的处理优先级(即根据队列元素的“延时时间”进行排序)。另一层含义是只有那些超过“延时时间”的元素才能从队列里面被拿出来进行处理。DelayQueue队列将阻止其元素对象从队列中被取出,直到达到为元素对象设置的延迟时间。DelayQueue在队列的头部存储最近过期的元素,如果队列内没有元素过期,使用po
·
2021-03-24 10:35
spring
java并发
编程工具类JUC第二篇:ArrayBlockingQueue
类ArrayBlockingQueue是BlockingQueue接口的实现类,它是有界的阻塞队列,内部使用数组存储队列元素。这里的“有界”是指存储容量存在上限,不能无限存储元素。在同一时间内存储容量存在着一个上限值,这个上限制在初始实例化的时候指定,之后便不能修改了。ArrayBlockingQueue内部采用FIFO(FirstIn,FirstOut)先进先出的方法实现队列数据的存取,队首的元
·
2021-03-23 13:12
spring
java并发
编程工具类JUC第一篇:BlockingQueue阻塞队列
JavaBlockingQueue接口java.util.concurrent.BlockingQueue表示一个可以存取元素,并且线程安全的队列。换句话说,当多线程同时从JavaBlockingQueue中插入元素、获取元素的时候,不会导致任何并发问题(元素被插入多次、处理多次等问题)。从javaBlockingQueue可以引申出一个概念:阻塞队列,是指队列本身可以阻塞线程向队列里面插入元素,
·
2021-03-22 09:34
spring
java并发
编程工具类JUC第一篇:BlockingQueue阻塞队列
JavaBlockingQueue接口java.util.concurrent.BlockingQueue表示一个可以存取元素,并且线程安全的队列。换句话说,当多线程同时从JavaBlockingQueue中插入元素、获取元素的时候,不会导致任何并发问题(元素被插入多次、处理多次等问题)。从javaBlockingQueue可以引申出一个概念:阻塞队列,是指队列本身可以阻塞线程向队列里面插入元素,
·
2021-03-22 08:30
spring
Java 并发编程 ④ - Java 内存模型
原文地址:
Java并发
编程④-Java内存模型转载请注明出处!
·
2021-03-21 22:58
java并发编程
由浅入深CAS原理,小白也能与BAT面试官对线
前言
Java并发
编程系列番外篇CAS(Compareandswap),文章风格依然是图文并茂,通俗易懂,让读者们也能与面试官疯狂对线。
程序猿阿星
·
2021-03-20 20:34
Java基础
java多线程
java
多线程
二.多线程基础之 volatile(面向面试吐血总结)
并发复习笔记之第二章(多线程基础之volitaile)想看后续请持续关注以下来源有书籍深入理解JVM虚拟机,
java并发
编程的艺术,深入浅出多线程,阿里巴巴技术手册以及一些公众号CS-Notes,JavaGuide
Y_Yl
·
2021-03-17 16:30
多线程
java
多线程
编程语言
并发编程
jvm
资深阿里P8大佬十年经验总结“
Java并发
编程核心方法与框架笔记”,全程案列式讲解!
首先我们先来了解一下什么是并发编程?并发的概念:同时拥有两个或更多的线程,如果是单核CPU,则这多个线程交替获取CPU资源,轮流执行,同一时刻只有一个处于执行状态,其它线程处于其它状态(JVM模型中,线程都有哪些状态?初始状态、就绪状态、运行中状态、阻塞、等待、超时等待、终止);如果是多核CPU,则核心数个线程将同时获取CPU资源,同时执行,多余的线程仍然需要和这些执行中的线程交替获取CPU资源。
熬过无人问津的日子才会有远方
·
2021-03-17 15:26
资源分享
java
编程语言
多线程
spring
并发编程
java并发
编程之线程池总结
一使用线程池的好处二Executor框架2.1简介2.2Executor框架结构(主要由三大部分组成)1)任务(Runnable/Callable)2)任务的执行(Executor)3)异步计算的结果(Future)2.3Executor框架的使用示意图三(重要)ThreadPoolExecutor类简单介绍3.1ThreadPoolExecutor类分析3.2推荐使用ThreadPoolExec
你好梁同学
·
2021-03-17 10:50
Java
并发编程线程池
java
多线程 & 高并发 学习笔记(持续更新ing)
学习资料:《深入理解计算机系统》,《Java高并发程序设计》,《
Java并发
编程实战》,《
Java并发
编程的艺术》,《Java核心技术卷1》多线程一章,极客时间王宝令的
Java并发
编程实战课程…以下大部分阐述来自上述书籍与课程中个人认为很重要的部分
九幽孤翎
·
2021-03-13 11:31
多线程
学习笔记
并发编程
Java并发
编程之CAS原理
什么是CAS?CAS:CompareandSwap,即比较再交换。CAS有3个操作数:①内存值V;②旧的预期值A;③要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。CAS是一种无锁算法(切记CAS不是锁,而是可以利用它构建一系列高并发的锁)。Java的对象偏移量是什么?在学习使用JDK的CAS前,我们需要学习Unsafe类的使用,当然们需要了解一些必要的概念和
单名一个冲
·
2021-03-13 01:56
面试官:我问的是Java内存模型,你回答堆栈方法区干嘛?
Java内存区域是指JVM运行时数据分区域存储,而Java内存模型是定义了线程和主内存之间的抽象关系,了解Java内存模型是学好
Java并发
编程的基础。
二狗家有矿
·
2021-03-11 22:08
Java并发
上一页
57
58
59
60
61
62
63
64
下一页
按字母分类:
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
其他