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并发
一、线程状态转换新建(New)可运行(Runnable)阻塞(Blocked)无限期等待(Waiting)限期等待(TimedWaiting)死亡(Terminated)二、使用线程实现Runnable接口实现Callable接口继承Thread类实现接口VS继承Thread三、基础线程机制ExecutorDaemonsleep()yield()四、中断InterruptedExceptionin
Juntech
·
2023-11-25 01:33
JDK1.8的ConcurrentHashMap 的put、get 工作原理
JDK1.8的ConcurrentHashMap原文链接:https://www.jianshu.com/p/865c813f2726JDK1.7的原理1请戳这里自己的
Java并发
PDF笔记里的原理讲解也很好
卖山竹的山兔
·
2023-11-24 19:52
数据结构和算法
什么是指针碰撞
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-24 18:35
jvm
java
面试官:什么是三色标记
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-24 18:05
#
jvm
jvm
算法
Grafana 如何实现雷达图
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-24 17:57
grafana
Java线程池实现原理详解,看完一篇,学会线程池?
这里借用《
Java并发
编程的艺术》提到的来说一下使用线程池的好处:降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
Java糖糖
·
2023-11-24 17:14
spring
java
后端
mysql
spring
boot
Java 并发之 ReentrantReadWriteLock 深入分析
地中断线程-实践篇Java“优雅”地中断线程-原理篇真正理解JavaVolatile的妙用JavaThreadLocal你之前了解的可能有误JavaUnsafe/CAS/LockSupport应用与原理
Java
小鱼人爱编程
·
2023-11-24 08:44
Java
并发
java
掌握Java语言特性的必备题目集锦!
它是
Java并发
集合框架中的一部分。它扩展了LinkedList类,并实现了Deque(双端队列)的接口。ConcurrentLinkedDeque的主要特点是它是无界的,即它可以存储任意数量的元素。
动力节点IT教育
·
2023-11-24 04:00
Java面试题
java
python
开发语言
java threadlocal 回收_
JAVA并发
(3)—线程运行时发生GC,会回收ThreadLocal弱引用的key吗?...
在《深入理解Java虚拟机》中,是这样描述引用的:无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析法判断对象的引用链是否可达,判断对象是否存活都与“引用”相关。在JDK1.2以前,Java中的引用定义很传统:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。当然这种定义很是纯粹,但是太过于狭隘,一个对象在这种定义下只有被引用和没有被
杨枨
·
2023-11-24 02:16
java
threadlocal
回收
Java并发
之原子变量及CAS算法-上篇
Java并发
之原子变量及CAS算法-上篇概述本文主要讲在
Java并发
编程的时候,如果保证变量的原子性,在JDK提供的类中式怎么保证变量原子性的呢?。
凯哥Java
·
2023-11-24 01:42
java并发
编程(二)之线程池
文章目录一摘要二线程池的好处三线程池解决的问题四ThreadPoolExecutor总体设计五ThreadPoolExecutor核心参数5.1corePoolSize5.2maximumPoolSize5.3keepAliveTime5.4unit5.5workQueue5.6threadFactory5.7handler六ThreadPoolExecutor参数设置6.1corePoolSiz
l昨日青天
·
2023-11-24 00:40
并发编程
java
线程池
并发编程
面试官:来!聊聊线程池的实现原理以及使用时的问题
扫描下方二维码或者微信搜索公众号菜鸟飞呀飞,即可关注微信公众号,阅读更多Spring源码分析和
Java并发
编程文章。
天堂2013
·
2023-11-24 00:38
多线程
Java
线程池
并发
Java并发
编程学习——线程池
此文章大部分内容出自《
Java并发
编程的艺术》第九章Java中
Mr..Li
·
2023-11-24 00:05
Java
Java
线程池
【
Java并发
】聊聊线程池原理以及实际应用
线程其实对于操作系统来说是宝贵的资源,java层面的线程其实本质还是依赖于操作系统内核的线程进行处理任务,如果频繁的创建、使用、销毁线程,那么势必会非常浪费资源以及性能不高,所以池化技术(数据库连接池、线程池)在性能优化的时候是重中之重。我们来猜想以下线程池的功能,因为如果是一个线程一个线程执行任务,那么我们需要进行对线程的管理、以及对于任务的分配,在执行过程中,本质还是利用多个线程通过从任务队列
qxlxi
·
2023-11-24 00:00
#
并发编程
java
chrome
开发语言
并发编程之JMM&volatile详解
系列文章目录
Java并发
编程技术知识点梳理(第一篇)操作系统底层工作的整体认识
Java并发
编程技术知识点梳理(第二篇)并发编程之JMM&volatile详解
Java并发
编程技术知识点梳理(第三篇)CPU
yemuxiaweiliang
·
2023-11-23 19:33
并发编程
java
后端
Java并发
编程(07):Fork/Join框架机制详解
1、编码案例基于1+2..+100的计算案例演示Fork/Join框架基础用法。importjava.util.concurrent.ForkJoinPool;importjava.util.concurrent.ForkJoinTask;importjava.util.concurrent.RecursiveTask;publicclassForkJoin01{publicstaticvoidm
联旺
·
2023-11-23 13:42
java并发
中的Synchronized关键词
java并发
中的Synchronized关键词如果在多线程的环境中,我们经常会遇到资源竞争的情况,比如多个线程要去同时修改同一个共享变量,这时候,就需要对资源的访问方法进行一定的处理,保证同一时间只有一个线程访问
Java法师
·
2023-11-23 12:28
你必须应该掌握的
Java并发
基础
本篇中,我们不会做过多的代码演示,我们的目的仅仅是了解
Java并发
相关的概念,以及掌握几个相关的常见题目。何为线程,何为进程 在开始探究
五桥先生
·
2023-11-23 11:49
《Java 并发编程》共享模型之无锁
《
Java并发
编程》专栏索引《
Java并发
编程》进程与线程《
Java并发
编程》共享模型之管程《
Java并发
编程》共享模型之内存《
Java并发
编程》共享模型之无锁《
Java并发
编程》共享模型之不可变《
Java
ReadThroughLife
·
2023-11-23 10:52
Java
#
Java
并发编程
Java
Java
并发编程
《Java 并发编程》共享模型之管程
《
Java并发
编程》专栏索引《
Java并发
编程》进程与线程《
Java并发
编程》共享模型之管程《
Java并发
编程》共享模型之内存《
Java并发
编程》共享模型之无锁《
Java并发
编程》共享模型之不可变《
Java
ReadThroughLife
·
2023-11-23 10:51
Java
#
Java
并发编程
Java
并发编程
Java
并发编程
《Java 并发编程》共享模型之不可变
《
Java并发
编程》专栏索引《
Java并发
编程》进程与线程《
Java并发
编程》共享模型之管程《
Java并发
编程》共享模型之内存《
Java并发
编程》共享模型之无锁《
Java并发
编程》共享模型之不可变《
Java
ReadThroughLife
·
2023-11-23 10:21
#
Java
并发编程
Java
Java
并发编程
Java
不可变
Java 并发编程笔记 第四章:共享模型_管程
网课链接:黑马程序员
java并发
.第四章:共享模型管程第四章共享模型_管程章节总结4.1共享带来的问题1.临界区CriticalSection2.竞态条件RaceCondition4.2synchronized
Petardation
·
2023-11-23 10:20
java
并发编程
Java并发
编程-共享模型之管程(Monitor/Synchronized)(四)
共享问题java中对全局变量的操作是通过JMM(java内存模型)内存模型实现的,全局变量保存在主存中,但是变量的计算则是在线程的工作内存中。如果对变量的操作不是原子操作(比如i++是由多条指令的操作集合)那么就会带来线程安全问题。比如下面的i++和i++操作,结果可能就不是0。staticintcount=0;@TestpublicvoidtestJMM()throwsInterruptedEx
融极
·
2023-11-23 10:49
并发编程
java
java并发
编程(3) 共享模型之管程 1
文章目录前言1.java的内存模型1.并发编程的两个问题2.Java内存模型的抽象结构2.问题分析3.临界区和竞态条件1临界区CriticalSection2竞态条件4.解决方法1.synchronized2.使用方法3.理解4.使用面向对象改造代码5.synchronized加在方法上6.线程8锁1.先一后二或者先二后一2.1秒后12,或者2然后1秒后再13.加多一个普通方法4.锁的是不同对象5
JWASX
·
2023-11-23 10:17
多线程
java
开发语言
后端
java并发
包aqu_深入
java并发
包源码(二)AQS的介绍与使用
AQS本文章会讲解AQS的使用方法,然后通过DEBUG跟踪AQS执行的一系列操作来分析源码,读者跟着文章DEBUG跟踪源码能更容易理解。AQS是什么?AbstractQueuedSynchronizer队列同步器(AQS)是一个抽象类,作为并发工具的基础组件,为真正的实现类提供基础设施。并发工具是面向使用者的,AQS面向的是并发工具的实现者。AQS的使用AQS有什么用?AQS提供了如构建同步队列,
Emmamkq~~
·
2023-11-23 08:47
java并发包aqu
【
Java并发
编程】AQS(5)——ConditionObject
这篇文章是AQS系列的最后一篇文章,也是非常重要的一篇,因为这篇文章将引入并发编程中非常重要的一个概念:条件变量。在聊条件变量之前我想先聊聊管程(monitor),下面是对管程的描述:在并发程序中,管程是一种同步结构,它不仅允许线程拥有互斥和等待条件变化的能力,其还可以告诉其他线程条件是否满足。管程是由一个互斥量和多个条件变量构成,一个条件变量实质上是一个等待条件的容器。在再次获得互斥量执行任务之
24只羊羊羊
·
2023-11-23 08:42
并发编程
源码解读
Java线程池解析
参考文章:
Java并发
:线程池,饱和策略前言Java线程池的使用在工作中还是比较常见的,线程池可以减小线程建立和销毁的开销,同时对于线程的复用也能提高系统性能。
指间砂的宿命
·
2023-11-23 05:07
全网最细节的sds讲解,干货整理
梳理知识后,夯实基础乃是刚需:深入进阶学习(28个主流Java知识点“一网打尽”)1、并发编程
Java并发
编程是整个Java开发体系中最难以理解,但也是最重要的知识点之一,一旦掌握你一定在市场上供不应求
Java开发分布式
·
2023-11-22 19:26
程序员
面试
java
后端
java并发
-Semaphore
当下
Java并发
编程日益普及,而Semaphore是Java提供的一种功能强大的线程同步工具,可用于控制同时访问系统资源的线程数量。
曲终--人散
·
2023-11-22 16:47
java并发体系
java
java并发
java并发
-Exchanger
##简介Exchanger是
Java并发
包中提供的一个用于线程间数据交换的工具类。
曲终--人散
·
2023-11-22 16:47
java并发体系
java
java并发
Java并发
:volatile的实现原理
synchronized是一个重量级的锁,volatile通常被比喻成轻量级的synchronizedvolatile是一个变量修饰符,只能用来修饰变量。volatile写:当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量刷新到主内存。volatile读:当读一个volatile变量时,JMM会把该线程对应的本地内存置为无效。线程接下来将从主内存中读取共享变量。volat
小刀爱编程
·
2023-11-22 06:28
六、Lock的Condition(等待队列)接口
转:《
Java并发
编程的艺术》Condition接口也提供了类似Object的监视器方法,与Lock配合也可以等待/通知模式,但是这两者在使用方式以及功能特性上还是右差别的。
沉沦2014
·
2023-11-21 16:46
java thread源码分析_Thread源码剖析
前言昨天已经写了:如果没看的同学建议先去阅读一遍哦~在写文章之前通读了一遍《Java核心技术卷一》的并发章节和《
Java并发
编程实战》前面的部分,回顾了一下以前写过的笔记。
吃瓜的小翻译
·
2023-11-21 09:31
java
thread源码分析
Java并发
(九):线程池
合理使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁的消耗。提高响应速度。当任务到达时,任务不需要等到线程创建就能立即执行。提高线程的可管理型。使用线程池可以统一分配、调优和监控线程。一.实现原理向线程池提交任务:如果当前运行的线程少于corePoolSize,则创建新线程来执行任务;如果运行的线程等于或大于corePoolSize,则将任务加入BlockingQueue
Jorvi
·
2023-11-21 05:08
CAS和自旋锁
什么是CASCAS算法(CompareAndSwap),即比较并替换,是一种实现并发编程时常用到的算法,
Java并发
包中的很多类都使用了CAS算法。
不会叫的狼
·
2023-11-21 04:44
Java并发编程
Java
InterView
java
CAS机制与自旋锁
CAS(Compare-and-Swap),即比较并替换,
java并发
包中许多Atomic的类的底层原理都是CAS。
weixin_30273931
·
2023-11-21 04:13
操作系统
java
java longadder_
Java并发
编程笔记之LongAdder和LongAccumulator源码探究
一.LongAdder原理LongAdder类是JDK1.8新增的一个原子性操作类。AtomicLong通过CAS算法提供了非阻塞的原子性操作,相比受用阻塞算法的同步器来说性能已经很好了,但是JDK开发组并不满足于此,因为非常搞并发的请求下AtomicLong的性能是不能让人接受的。如下AtomicLong的incrementAndGet的代码,虽然AtomicLong使用CAS算法,但是CAS失
懂得越多越要学
·
2023-11-21 03:29
java
longadder
【
Java并发
编程九】同步控制
ReentrantLock(重入锁)ReentrantLock的基本使用 ReentrantLock可以自己决定加锁的位置和解锁的位置。packagemyTest;importjava.util.ArrayList;importjava.util.concurrent.locks.ReentrantLock;publicclassmyTestimplementsRunnable{//重入锁publ
P.H. Infinity
·
2023-11-21 01:17
java
python
开发语言
Python (十三) 输出
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发
编程实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-20 22:40
#
基础
python
开发语言
JAVA并发
编程——synchronized关键字
引言Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。synchronized关键字在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案,看起来是“万能”的。的确,大部分并发控制操作都能使用synchronized来完成。海明威在他的《午后之死》说
别活在过去i
·
2023-11-20 22:38
JAVA并发编程的艺术
java
jvm
开发语言
【
Java并发
编程八】synchronized原理
synchronized的基本使用 可以在代码中加入synchronized代码块,也可以在方法的返回值前面加上synchronized声明。一把锁只能同时被一个线程获取,没有获得锁的线程只能等待。每个实例都对应有自己的一把锁,不同实例之间互不影响。synchronized修饰的方法,无论方法正常执行完毕还是抛出异常,都会释放锁。importjava.util.ArrayList;publiccl
P.H. Infinity
·
2023-11-20 22:34
java
开发语言
算法
《
编程之道
》第三册:《计算机寓言--信息时代的启示》
目录引言第一篇秋第二篇冬第三篇春第四篇夏引言(一次前前往西藏拉萨的超越机器学院的旅行。)虽然我的C.P.Yu博士通信交往已有多年,但我从来没有见过他的面。去年《编程之禅》出版后不久,他给我的信停止了。几番查询也无济于事,不知道发生了什么。我别无选择,只好长途跋涉去拉萨看看我的良师兼益友是否安危无恙。这次旅行由五次乘飞机,两次乘火车和一次骑大象组成,平安无事。不久我发现自己正沿着陡峭的石头小路往上爬
BlackEagle_
·
2023-11-20 21:41
03
程序人生
编程
工作
数据库
图形
游戏
电话
JAVA并发
问题-线程池ThreadPool
JAVA中提供的线程池Executors工厂类Executors工具类提供了5种线程池的创建方法//线程数动态创建,每个空闲线程会在默认60秒后被回收ExecutorServicenewCachedThreadPool=Executors.newCachedThreadPool();//固定线程数的线程池ExecutorServicenewFixedThreadPool=Executors.new
DoubleFooker
·
2023-11-20 15:40
Java并发
包-CyclicBarrier
Cyclic用于线程之间的同步,形象化一点就是说,大家都到达了再一齐继续运行,相对于CountDownLatch来说,它可以被重用,因为在await到达之后,count会被自动重新初始化。CyclicBarrier中有两个方法需要注意:await用于使所有的线程同步到一个点上进行等待,如果要进行下一步,所有的线程一定是在程序中的某一点都在等待,而CountDownLatch就不能保证在同一个起跑线
潇洒小燕青
·
2023-11-20 07:04
java
阿里P9都窥视已久的“
Java并发
实现原理:JDK源码剖析”
前言并发编程可选择的方式有多进程、多线程和多协程。对于Java来说,它既不像C++那样,在运行中调用Linux的系统API去“fork”出多个进程;也不像Go那样,在语言层面原生提供多协程。在Java中,并发就是多线程模式。在JDK1.5发布之前,Java只在语言级别上提供一些简单的线程互斥与同步机制,也就是synchronized关键字、wait与notify。如果遇到复杂的多线程编程场景,就需
阿里高级码农
·
2023-11-20 06:35
java semaphore lock_
Java并发
编程:Semaphore和Lock区别
Java提供了一个类Semaphore来实现信号量,概念上讲,一个信号量相当于持有一些许可(permits),线程可以调用Semaphore对象的acquire()方法获取一个许可,调用release()来归还一个许可1构造方法:Semaphore有两个构造方法Semaphore(int)、Semaphore(int,boolean),参数中的int表示该信号量拥有的许可数量,boolean表示获
巫-挖泥巴
·
2023-11-20 03:49
java
semaphore
lock
Java并发
编程之Semaphore
简介Semaphore是计数信号量,管理一系列许可证。线程通过acquire方法获取许可证,成功则许可证总数减一并执行任务,反之阻塞等待;线程通过release方法释放许可证,许可证总数加一。公平与非公平模式//默认非公平模式publicSemaphore(intpermits){sync=newNonfairSync(permits);}//可设置公平或非公平publicSemaphore(in
yzm4399
·
2023-11-20 03:18
多线程
并发编程
多线程
并发编程
Semaphore的概念及基本用法
Java并发
工具包中的Semaphore类则是线程之间互相发送信号的工具。
mxy_111
·
2023-11-20 03:17
Java
数据
程序员
java
开发语言
【
Java并发
编程七】Java内存模型
JMM内存模型 JVM定义了Java内存模型(JavaMemoryModel,JMM),用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。JMM调用栈和本地变量存放在线程栈上,对象存放在堆上。
P.H. Infinity
·
2023-11-19 23:33
java
开发语言
JAVA多线程并发
JAVA并发
知识库JAVA线程实现/创建方式1.继承Thread类Thread类本质上时实现了Runnable接口的一个实例,代表一个现成的实例。
荀九
·
2023-11-19 22:18
Java线程
Java
java
开发语言
后端
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他