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并发
编程的模型有哪些并发系统同分布式系统相似并行工作者模式并行工作者模型的优点并行工作者模型的缺点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
大厂面试快问快答,10分钟搞定MySQL夺命20问,你都能接住吗?
《死磕
Java并发
编程》系列连载中,大家可以关注一波:「死磕
Java并发
编程05」阿里面试失败后,一气之下我图解了Java中18把锁「死磕
Java并发
编程04」说说JavaAtomic原子类的实现原理「
爱笑的架构师
·
2021-07-19 23:01
mysql
数据库
MySQL数据库面试
数据库面试高频题
java
Java并发
编程之并发容器ConcurrentHashMap详解
1初步认识ConcurrentHashMap,HashMap,HashtableConcurrentHashMap是一个常用的高并发容器类,也是一种线程安全的哈希表。Java7以及之前版本中的ConcurrentHashMap使用Segment(分段锁)技术,将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问,能够实现真正的
干天慈雨
·
2021-07-15 14:02
Java并发
编程 锁
1.Lock接口1.1简介、地位、作用锁是一种工具,用于控制对共享资源的访问。Lock和synchronized,这两个是最常见的锁,它们都可以达到线程安全的目的,但是在使用上和功能上又有较大的不同。Lock并不是用来代替synchronized的,而是当使用synchronized不合适或不足以满足要求的时候,来提供高级功能的。Lock接口最常见的实现类时ReentrantLock通常情况下,L
香沙小熊
·
2021-07-13 22:40
Java并发
编程之显式锁
1.前言使用Java内置锁的时候,不需要通过Java代码显式地对同步对象的监视器(Monitor)进行抢占和释放,因为这些工作由JVM层面来完成。而且任何一个Java对象都能作为一个内置锁来使用,所以,Java的对象锁使用起来很方便。但是,Java内置锁的功能相对单一,不具备一些比较高级的锁功能:限时抢锁:在抢锁时设置超时时长,如果超时还未获得锁就放弃,不至于无限等下去中断抢锁:在抢锁时,外部线程
干天慈雨
·
2021-07-12 14:57
Java并发
--- AQS解析
常见问题:对某个知识点的理解或看法,一般从是什么,原理,好处与应用场景来回答你对AQS的理解(想法)?CountDownLatch和CyclicBarrier了解吗,两者的区别是什么?用过Semaphore吗?1AQS简单介绍AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面。AQS是一个用来构建锁和同步器的基
_code_x
·
2021-07-11 23:53
Linux系统
编程学习笔记
课程链接:https://www.bilibili.com/video/BV1KE411q7ee课程视频资源和笔记:链接:https://pan.baidu.com/s/150gSAFxTGBaBF-wb6yZfhQ提取码:unix练习代码:https://gitee.com/daniel187/Linux_System001-Linux命令基础习惯终端:一系列输入输出设备的统称;$echo$SH
Daniel_187
·
2021-07-04 11:04
Linux
linux
操作系统
c语言
多线程
多进程
【
Java并发
】从限流看JUC之Semaphore(信号量)
文章目录A.限流的定义B.QPS限流1.计数器算法(滑动窗口)2.令牌桶算法3.漏桶算法4.总结C.并发数限流D.Semaphore(信号量)1.AQS2.信号量模型3.Semaphore如何实现信号量模型4.使用Semaphore实现并发数限流5.总结E.最后的总结本文作者:AceCandy博客原文链接:https://acecandy.cn/archives/从限流看juc之semaphore
AceCandy
·
2021-06-29 17:42
点将
Java
semaphore
并发
java
juc
【
Java并发
001】使用级别:线程相关知识全解析
一、前言本文介绍Java线程相关知识(不包括线程同步+线程通信,这个内容在笔者的另一篇博客中介绍过了),包括:线程生命周期、线程优先级、线程礼让、后台线程、联合线程。二、线程生命周期2.1引子:线程生命周期本节阐述线程生命周期相关知识,Java支持多线程技术,除了Main函数主导一个main线程以外,可以用代码创建一系列的前台线程、后台线程(本文后面会讲),每一个线程都有自己的生命周期,线程生命周
毛毛的学习笔记
·
2021-06-27 18:04
Java并发
编程--基础进阶高级(完结)
Java并发
编程--基础进阶高级完整笔记。这都不知道是第几次刷狂神的JUC并发编程了,从第一次的迷茫到现在比较清晰,算是个大进步了,之前JUC笔记不见了,重新做一套笔记。
Empirefree
·
2021-06-27 17:00
Java并发
容器和框架
1.ConcurrentHashMap的实现原理与使用 ConcurrentHashMap是线程安全高效的HashMap。本节让我们一起研究一下该容器是如何在保证线程安全的同时又能保证高效的操作。1.1为什么要使用ConcurrentHashMap 在并发编程中HashMap可能导致程序死循环。而使用线程安全的HashTable效率又非常低下,基于以上两个原因,便有了ConcurrentHas
ShayHe
·
2021-06-27 09:26
JAVA并发
(9)— 共享锁的获取与释放
publicstaticvoidmain(String[]args){ReentrantReadWriteLocklock=newReentrantReadWriteLock();//共享锁获取lock.readLock().lock();//共享锁的释放lock.readLock().unlock();}在ReentrantLock中,不仅存在独占锁,而且还存在共享锁(即多个线程可以获取到锁)1
小胖学编程
·
2021-06-27 06:49
JAVA并发
编程 并发容器 线程安全——ConcurrentHashMap
ConcurrentHashMap使用除了Map系列应该有的线程安全的get,put等方法外,ConcurrentHashMap还提供了一个在并发下比较有用的方法putIfAbsent,如果传入key对应的value已经存在,就返回存在的value,不进行替换。如果不存在,就添加key和value,返回null。publicclassUseMap{publicstaticvoidmain(Stri
咕噜咕噜_f443
·
2021-06-27 06:58
Java并发
指南10:Java 读写锁 ReentrantReadWriteLock 源码分析
更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial文章同步发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《
Java
Java技术江湖
·
2021-06-26 20:14
Java并发
编程——"this"逸出解决方法的思考
最近在看《
Java并发
编程实战》这本书的“3.2发布与逸出”章节时,对“this”引用在对象构造方法中逸出问题的解决方法有点小疑惑。
猫狗爪抓
·
2021-06-26 17:15
【
Java并发
002】使用层面:线程同步与线程通信全解析
一、前言本文介绍Java多线程技术,分为五个部分:多线程的两种实现方式——继承Thread类和实现Runnable接口;线程同步应用:三人吃苹果;线程同步+线程通信应用之一:生产者-消费者问题;线程同步+线程通信应用之二:打蜡抛光问题;线程同步+线程通信之用之三:哲学家就餐问题。二、初识多线程上小学的时候,语文老师让我们用"一边......,一边......"造句,比如“小明一边吃饭,一边看电视”
毛毛的学习笔记
·
2021-06-26 10:18
[译]
Java并发
之AtomicInteger
原文链接AtomicInteger一个是专门被设计用来线程安全地更新Integer的类。为什么我们需要这个类呢?为什么不能仅仅就用一个volatileint?我们能如何使用AtomicInteger?为什么要用AtomicInteger?下面展示了一个使用volatileint的非线程安全的counter例子:publicclassCounterNotThreadSafe{privatevolat
豆包不是鱼
·
2021-06-26 09:49
ThreadLocal简单分析与实现原理
《
Java并发
编程之美》读书笔记ThreadLocal多线程在访问同一个共享变量的时候容易出现并发的问题,特别是在多个线程对同一个共享变量进行写入的时候,一般都要对共享变量进行适当的同步。
Everglowsc
·
2021-06-26 08:34
Java并发
编程基础-线程简介
章节目录1.线程定义2.使用多线程的优势3.线程优先级4.线程的状态5.Daemon线程1.线程定义进程与线程的区别1.进程是cpu进行资源分配的独立单位,指的是程序在数据集合上的一次运行过程。2.线程是cpu进行调度的最小单位,在一个进程中会创建多个线程。线程拥有的独立资源栈中数据是线程独享的,包括局部变量、程序计数器等堆中数据是线程共享的,如线程同时操作堆中某对象的某属性。Java程序运行的实
markfork
·
2021-06-26 08:00
Java实现两个线程交替打印1-100
这道java基础题主要考察的是对
java并发
基础知识的掌握,一般需要掌握多线程中的wait(),notify(),notifyAll(),join(),yield(),sleep()等方法的灵活使用。
chris_irving
·
2021-06-26 05:11
Java并发
编程:Lock的使用,可重入锁、读写锁、排他锁、乐观锁、悲观锁等
概述Lock顾名思义就是锁,也能实现同步的效果,主要学习ReentrantLock(可重入锁)、ReentrantReadWriteLock(可重入读写锁)ReentrantLock在Java多线程中,可以使用synchronized关键字来实现线程之间同步互斥,ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定、多路分支通知等功能,而且在使用上也比syn
singleZhang2010
·
2021-06-25 09:28
Java并发
编程的笔记
1.简介操作系统为独立的进程分配资源->内存/文件句柄/安全证书资源利用率/公平性/便利性促使进程出现3.对象的共享访问共享的可变状态需要正确的管理共享和发布对象安全的多个线程同时访问我们希望某个线程在使用对象状态另一个修改状态线程能够看到状态的变化。1)可见性为了确保多个线程对内存写入操作的可见性必须使用同步机制非volatile类型的64位数职变量的读写绘分解为两个32位的操作。加锁的含义不仅
zwzch
·
2021-06-25 01:03
Java阻塞队列源码(1)-ArrayBlockingQueue
Java并发
包下有个BlockingQueue接口,并提供了多种阻塞队列的实现方式。阻塞队列通常被用于生产者消费者模型、消息队列、并行任务等并发场景,并通过内部的锁和并发控制实现线程安全。
_kkk
·
2021-06-25 01:26
这本Java高并发核心编程让我迈进字节跳动,月薪30k确实不错!
多线程、线程池、内置锁、JMM、CAS、JUC、高并发设计模式等
Java并发
编程方面的面试题,从以前的加
·
2021-06-24 18:15
java高并发并发并发编程面试
这本Java高并发核心编程让我迈进字节跳动,月薪30k确实不错!
多线程、线程池、内置锁、JMM、CAS、JUC、高并发设计模式等
Java并发
编程方面的面试题,从以前的加
·
2021-06-24 18:21
java高并发并发并发编程面试
java并发
编程工具类JUC第一篇:BlockingQueue阻塞队列
JavaBlockingQueue接口java.util.concurrent.BlockingQueue表示一个可以存取元素,并且线程安全的队列。换句话说,当多线程同时从JavaBlockingQueue中插入元素、获取元素的时候,不会导致任何并发问题(元素被插入多次、处理多次等问题)。从javaBlockingQueue可以引申出一个概念:阻塞队列,是指队列本身可以阻塞线程向队列里面插入元素,
字母哥课堂
·
2021-06-24 18:29
JAVA并发
编程与高并发解决方案 - 并发编程 五
JAVA并发
编程与高并发解决方案-并发编程五版本作者内容2018.7.4chuIllusionsJ.U.C组件拓展相关文章
JAVA并发
编程与高并发解决方案-并发编程一之并发相关知识
JAVA并发
编程与高并发解决方案
Apple_Boy
·
2021-06-24 10:17
9.Java中的线程池
Java并发
编程的艺术笔记1.并发编程的挑战2.
Java并发
机制的底层实现原理3.Java内存模型4.
Java并发
编程基础5.Java中的锁的使用和实现介绍6.
Java并发
容器和框架7.Java中的12
不干活就没饭吃
·
2021-06-24 01:56
JDK7 和 JDK8 的 ConcurrentHashMap
ConcurrentHashMap的JDK7/JDK8区别同样是线程安全,相较于HashTable是使用synchronized关键字加锁的原理(就是对对象加锁),ConcurrentHashMap类是
Java
日常更新
·
2021-06-23 23:08
Java并发
编程实战 PDF 下载
小时内务必删除,支持正版,喜欢的请购买正版书籍:http://product.dangdang.com/22606835.html下载地址:图书简介:本书深入浅出地介绍了Java线程和并发,是一本完美的
Java
java经验总结
·
2021-06-23 19:35
Java并发
编程之详解CyclicBarrier线程同步
CyclicBarrier线程同步java.util.concurrent.CyclicBarrier提供了一种多线程彼此等待的同步机制,可以把它理解成一个障碍,所有先到达这个障碍的线程都将将处于等待状态,直到所有线程都到达这个障碍处,所有线程才能继续执行。举个例子:CyclicBarrier的同步方式有点像朋友们约好了去旅游,在景点入口处集合,这个景点入口就是一个Barrier障碍,等待大家都到
·
2021-06-23 14:33
Java并发
编程之可见性,有序性,原子性
1.原子性问题引入publicclassT01_Volatile{privatebooleanrunning=true;privatevoidm(){System.out.println("mstart");while(running){}System.out.println("mend");}publicstaticvoidmain(String[]args)throwsInterruptedE
门心叼龙
·
2021-06-23 11:16
读《
java并发
编程实战》
《
java并发
编程实战》是一本讲解多线程并发变成实践的书,书中详细阐述了线程安全出现的原因,结合场景分析了什么情况下能够避免安全问题,以及讲解了通过java的concurrent包提供的多种解决线程安全问题的工具
飞飞的蜗牛
·
2021-06-23 04:17
JAVA并发
梳理(二)线程的状态转换
关于线程状态之间的转换了不少东西,也看了一些源码,每次看都是一遍加深理解的过程。今天再理一遍。先借用别人的一张图。(觉得有点不够全面,回头把自己的补上来。)线程间状态转换EnumThread.State补充说明之前先贴上EnumThread.State的定义。保留了源码注释,以方便查看。为什么要从这里说起?是因为我们平时说到线程状态的时候,总是会说阻塞,而有时候说的阻塞其实是等待,总是傻傻分不清楚
萌妈码码
·
2021-06-22 19:59
数据结构与算法基础总结
随着工作之余,看了几本书,读了一些高质量的专栏,也接触了一些有关梦想的故事,发现很多技术的底层都离不开数据结构,像Redis的跳表、Mysql中innodb引擎用到的B+树、
java并发
包用到的各种锁等等
李大酱的大脖子
·
2021-06-22 18:39
Java并发
指南2:深入理解Java内存模型JMM
https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章同步发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《
Java
Java技术江湖
·
2021-06-22 17:11
[
java并发
编程之深入理解]Synchronized的使用
1.为什么要使用synchronized在并发编程中存在线程安全问题,主要原因有:1.存在共享数据2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,同时synchronized可以保证一个线程的变化可见(可见性),即可以代替volatile。2.实现原理synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法
·
2021-06-22 17:49
Java并发
基础
参考原文地址前言当我们使用计算机时,可以同时做许多事情,例如一边打游戏一边听音乐。这是因为操作系统支持并发任务,从而使得这些工作得以同时进行。那么提出一个问题:如果我们要实现一个程序能一边听音乐一边玩游戏怎么实现呢?image.png我们使用了循环来模拟过程,因为播放音乐和打游戏都是连续的,但是结果却不尽人意,因为函数体总是要执行完之后才能返回。那么到底怎么解决这个问题?下面来说。并行与并发并行性
流年划破容颜_cc55
·
2021-06-22 09:55
Java并发
编程 - ReentrantReadWriteLock
ReentrantReadWriteLock使用示例importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantReadWriteLock;publicclassReadWriteLockTest{privateReentrantReadWriteLocklock=newReentrantReadW
HRocky
·
2021-06-22 07:30
java内存模型
java并发
采用的是共享内存的模型。2、java内存模型(JMM)是一种抽象模型,它定义了线程和主内存之间的关系
圣村的希望
·
2021-06-22 06:08
Java并发
编程之Executor接口的使用
一、Executor接口的理解Executor属于java.util.concurrent包下;Executor是任务执行机制的核心接口;二、Executor接口的类图结构由类图结构可知:ThreadPoolExecutor继承了AbstractExecutorService接口;AbstractExecutorService接口实现了ExecutorService接口;ExecutorServi
·
2021-06-21 18:55
JMM核心概念之Happens-before原则
设计者的难题与完美的解决方案三、8条Happens-before规则四、“时间上的先发生”与“先行发生”五、Happens-before与as-if-serial一、前言关于Happens-before,《
Java
·
2021-06-21 12:29
Java并发
编程 - 等待/通知
Java语言为线程的通信提供了支持,其中的一种方式就是等待/通知机制,java.lang.Object的wait、notify和notifyAll方法为这种机制的实现提供了支持。现在有这样的一个场景:假如你是一个畅销书作者,正在写一本书,书写完后读者来购买。从编程的角度出发,你和读者(现在假设就只有一个人愿意买)分别都是一个线程,你这个线程做的事就是写书,读者这个线程就是等你写完后买书。下面这个场
HRocky
·
2021-06-21 05:15
死磕 java魔法类之Unsafe解析
简介本章是
java并发
包专题的第一章,但是第一篇写的却不是
java并发
包中类,而是java中的魔法类sun.misc.Unsafe。
架构师Javaspring
·
2021-06-21 05:03
Java并发
指南5:JMM中的final关键字解析
https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章首发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《
Java
Java技术江湖
·
2021-06-21 00:55
Java并发
编程专题之LockSupport
LockSupport概述LockSupport是一个编程工具类,主要是为了阻塞和唤醒线程。它的所有方法都是静态方法,它可以让线程在任意位置阻塞,也可以在任意位置唤醒。它可以在阻塞线程时为线程设置一个blocker,这个blocker是用来记录线程被阻塞时被谁阻塞的,用于线程监控和分析工具来定位原因。LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用LockSuppor
tongji4m3
·
2021-06-20 10:00
Java并发
之AQS详解
谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。它维护了一个volatileintstate(代表
青城楼主
·
2021-06-19 22:19
android 多线程 — 锁基础
权威书籍的资料更全面,连贯老规矩,妹子镇楼,抚慰心灵锁涉及到的点锁涉及到的点很多,这里从底层向上列举出来:AQS(抽象队列同步器)、非阻塞数据结构和原子变量类等基础类都是基于volatile变量的读/写和CAS实现,是
Java
前行的乌龟
·
2021-06-19 20:24
上一页
50
51
52
53
54
55
56
57
下一页
按字母分类:
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
其他