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里synchronized、wait()/notify()相关的知识很琐碎,看懂难,会用更难。但实际上synchronized、wait()、notify()不过是操作系统领域里管程模型的一种实现而已,JavaSDK并发包里的条件变量Condition也是管程里的概念,synchronize
Coder_Cui
·
2023-03-29 10:26
Java
java
极客时间《
Java并发编程
实战》笔记---并发工具类章节杂记
文章目录19|CountDownLatch和CyclicBarrier:如何让多线程步调一致?20|并发容器-选对容器,才是最关键的1.List----CopyOnWriteArrayList坑点:2.Map----ConcurrentHashMap和ConcurrentSkipListMap3.Set----CopyOnWriteArraySet和ConcurrentSkipListSet4.Q
Tattoo_Welkin
·
2023-03-29 09:55
JAVA并发编程
多线程
java
volatile关键字
在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),
Java并发编程
的一些特性都牵扯出来
洛的俠
·
2023-03-29 06:48
Java多线程(四)线程锁
在
Java并发编程
中,经常遇到多个线程访问同一个共享资源,这时候作为开发者必须考虑如何维护数据一致性,这就是Java锁机制(同步问题)的来源。
春哥的魔法书
·
2023-03-29 03:22
java
java
多线程
线程锁
《java 进阶之路》 上--推荐书籍
该书看了差不多5遍了(第一版+第二版)2.
Java并发编程
的艺术
汲建帅
·
2023-03-29 01:53
java
java
推荐
书
必读
进阶
【线程池的工作参数、什么情况下会触发最大线程数?什么情况下会回收线程?】
线程池是一个重要的
Java并发编程
工具,用于控制线程的创建、调度和回收,可以有效地提高程序的性能和资源利用率。
lfsun666
·
2023-03-29 00:40
记录
Java
java
阿里内部秘传的亿级并发系统设计手册,教你如何抗住亿级流量的冲击
可见,
Java并发编程
显然不是一件能速成的能力,基础打得越好,越全面,在实践中才会有更深刻的理解。因此,大家不难发现Java并发问题一直是各个大厂面试
Java后端架构猛猛
·
2023-03-29 00:24
面试
java
数据库
阿里巴巴高并发编程到底有多牛逼,是如何抗住阿里双11亿级并发量
可见,
Java并发编程
显然不是一件能速成的能力,基础搭得越好,越全面,在实践中才会有更深刻的理解。因此,大家不难发现Java并发问题一直是各个大厂
小迁W️:bjmsb2019
·
2023-03-28 23:28
并发编程
线程池
亿级流量
编程语言
java
面试
spring
多线程
非科班半年跨行Java学习路线
为了方便看下别人的学习路线作为参考1.楼主背景2.面试经历(截止至2020/09/21)3.学习路线3.1Java基础3.2MySQL3.3Spring+SpringMVC+Mybatis3.4SpringBoot3.5JVM3.6
Java
杜莱
·
2023-03-28 23:27
转载文章
学习成长
阿里巴巴高并发架构到底多牛逼?是如何抗住淘宝双11亿级并发量?
可见,
Java并发编程
显然不是一件能速成的能力,基础打得越好,越全面,在实践中才会有更深刻的理解。因此,大家不难发现Java并发问题一直是各个大厂
Java技术那些事儿
·
2023-03-28 23:26
架构
java
学习
后端
高并发
2020-06-18
Java并发编程
-----基础-----JUC
threadpool-线程池理解为计划经济,资源总量被控制,减少不熟练劳动力带来的过渡开销问题应用场景服务器接收大量的请求的时候实际开发中需要创建5个以上的线程,就可以使用线程池来进行管理创建和停止添加线程规则1.如果线程小于corePoolSize,即使其他工作线程处于空闲状态,也会创建一个新的线程来运行新任务2.如果线程数等于或者大于corePoolSize但少于maximumPoolSize
年少不秃头
·
2023-03-28 06:38
java并发编程
(十八)啥是读写锁ReentrantReadWriteLock?
前面我们学习了AQS,ReentrantLock等,现在来学习一下什么是读写锁ReentrantReadWriteLock。当读操作远远高于写操作时,这时候可以使用【读写锁】让【读-读】可以并发,提高性能。本文还是基于源码的形式,希望同学们能够以本文为思路,自己跟踪源码一步步的debug进去,加深理解。一、初识ReentrantReadWriteLock同样的,先看下其类图:image.png实现
我犟不过你
·
2023-03-27 23:22
java并发修行之基础篇:线程安全
在阅读《
java并发编程
实战》的过程中觉得说的很好:在线程安全性的定义中,最核心的概念就是正
crrrrw
·
2023-03-27 04:26
关于 Synchronized 的一个点,网上99%的文章都错了
而关于Synchronized我去年还专门翻阅JVMHotSpot1.8的源码来研究了一波,那时候我就发现有一个点,一个几乎网上所有文章包括《
Java并发编程
的艺术》也是这样说的一个点。
yes的练级攻略
·
2023-03-26 05:20
Java并发编程
高频面试题汇总
1.为什么要使用并发编程?有什么缺点?充分利用多核CPU的计算能力,提高程序的执行效率,提高程序运行速度。缺点就是容易造成内存泄漏,上下文切换,线程安全,死锁等问题。2.并发编程三要素是什么?怎么保证多线程的安全?原子性:原子是一个不可再分割的单位。原子性指的是一个或多个操作要不全部执行成功要么全部执行失败。可见性:一个线程对共享变量的修改,其他的线程可以立刻看到。有序性:程序执行的顺序按照代码的
努力后的大丰收
·
2023-03-26 01:07
java
面试
优秀的Java程序员都在看哪些书?
目录一、立志存高远,笃行践初心二、经典书籍1、Java核心技术2、Java编程思想3、Java语言程序设计4、EffectiveJava中文版(原书第3版)5、
Java并发编程
实战6、Java虚拟机规范
哪 吒
·
2023-03-26 01:29
搬砖工逆袭Java架构师
java
【JDK1.8源码学习】ThreadLcoal
如果仅在单线程内访问数据,就不需要同步,这种技术称为线程封闭(threadconfinement)【摘自《
Java并发编程
实战》】实现线程封闭的三种手段:(1)Ad-hoc线程封闭:开发者自己实现线程封闭
实力派吃货
·
2023-03-25 10:35
CopyOnWriteArrayList的原理和使用方法
《
Java并发编程
之美》读书笔记第五章Java并发包中并发List源码剖析介绍并发包中的并发List只有CopyOnWriteArrayList。
Everglowsc
·
2023-03-24 22:20
Java并发编程
71道面试题及答案
1、在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(boolon);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:虚拟机(JVM)何时离
G_慧慧
·
2023-03-24 19:12
Java并发编程
CountDownLatch、CyclicBarrier和Semaphore1、等待多线程完成的CountDownLatchountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。CountDownLatch允许一个或多个线程等待其他线程完成操作。假设有一个需求:需要解析一个Excel中的多个sheet的数据,此时可以考虑使用多线程,每个线程解
关耳木水
·
2023-03-24 05:29
Java并发编程
之线程池
使用线程池三个好处:1.降低资源消耗,2.提高响应速度,3.提高线程的可管理性一、线程池原理线程池其实是使用Executor框架实现,涉及架构类图如下:Executor.pngThreadPoolExecutor:JUC线程池的核心实现类ScheduledThreadPoolExecutor:继承于ThreadPoolExecutor,实现了ExecutorService中延时执行和周期执行等抽象
宏势
·
2023-03-23 19:39
5、
Java并发编程
入门与高并发面试-安全发布对象
慕课网Jimin老师
Java并发编程
入门与高并发面试学习笔记
Java并发编程
入门与高并发面试◆发布对象:使一个对象能够被当前范围之外的代码所使用◆对象逸出:一种错误的发布。
安安汐而
·
2023-03-23 07:10
Java并发编程
实战(5)- 线程生命周期
在这篇文章中,我们来聊一下线程的生命周期。概述线程是操作系统中的一个概念,在Java中,它是实现并发程序的主要手段。Java中的线程,本质上就是操作系统中的线程。操作系统中的线程有“生老病死”,专业说法就是生命周期,虽然不同的开发语言对于操作系统的线程做了不同的封装,但是对于线程生命周期来说,基本上是大同小异的。我们在学习线程的生命周期时,只要能理解生命周期中各个节点的状态转换机制就可以了。操作系
技术修行者
·
2023-03-23 02:13
【
java并发编程
实战4】偏向锁-轻量锁-重量锁的那点秘密(synchronize实现原理)
目录【SpringBoot2.0文章汇总目录,java多线程教程文章汇总长期更新系列】请多多支持在多线程并发编程中,synchronized一直都是元老级别的角色,人们都通常称呼它为重量锁,但是在jdk1.6版本之后,jdk就对synchronized做了大量的优化,这时候我们就不能称呼它为重量锁了,有的时候它也是很轻的,那么接下来我们就调调,synchronized是怎么被优化的,它跟偏向锁、轻
余空啊
·
2023-03-23 02:00
Java并发编程
(七):线程池
一、为什么要用线程池?Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处:1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2)提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。假设一个服务器完成一项任务所需时间为:T1创建线程时间,T2在线程中执行任务的时间,T3
逆风fei扬
·
2023-03-23 01:54
Java并发编程
CAS 详解
一.书面概述CAS的全称为CompareAndSwap,直译就是比较交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,其实现方式是基于硬件平台的汇编指令,在intel的CPU中,使用的是cmpxchg指令,就是说CAS是靠硬件实现的,从而在硬件层面提升效率。CAS有三个操作数:内存值V、旧的预期值A、要修改的值B,当且仅当预期值A和内存值V相同时,
657455400
·
2023-03-22 17:27
java程序CPU使用率高可能的原因
1.前言在
Java并发编程
方面,如何在多线程环境中设置合理的线程数,那我们需要了解两个概念:计算密集型要进行大量的计算、逻辑判断等操作,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU
自知自省
·
2023-03-22 17:55
Java
java
开发语言
jvm
Java同步锁synchronized用法的最全总结
.修饰一个实例方法2.修饰一个静态方法3.修饰一个代码块四、synchronized的实现原理五、Synchronized与重入锁ReentrantLock的区别六、总结一、并发同步问题 线程安全是
Java
·
2023-03-22 16:57
Java并发编程
解析 | 基于JDK源码解析Java领域中并发锁之同步器Semaphore,CyclicBarrier以及CountDownLatch等的设计思想与实现原理 (四)
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。主要原因是,对于多线程实现实现并发,一直以来,多线程都存在2个问题:线程之间内存共享,需要通过加锁进行控制,但是加锁会导致性能下降,同时复杂的加锁机制也会增加编程编码难度过多线程造成线程之
朝槿木兮
·
2023-03-22 09:42
Java并发编程
(九):项目实战
一、并发任务执行框架1、架构师是什么?在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划的那个人,就是架构师。一般是一个项目里的最资深的专业技术人员,可以说架构师首先一定是个Java高级开发人员。主要职责主要是架构设计、软件开发,具体来说包括1)确认需求在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得
逆风fei扬
·
2023-03-22 07:31
java并发编程
入门引导
博主刚学并发时看了大量的概念,什么各种关键字的内存语义,happens-before原则,JMM,看完之后依然云里雾里,无法分清主次和联系,希望这篇文章能给初学者启蒙。为什么要使用并发编程?并发编程可以提高资源的利用率,发挥多核CPU的优势,可以在监听事件的同时进行后台数据处理等。并发编程需要处理的问题---互斥与同步假设有两个同时运行的程序,他们都用着各自的资源,且互相不需要通信,那这两个线程就
ab029ac3022b
·
2023-03-21 12:44
并发学习03--Java并发机制的底层原理之原子操作的实现原理
该并发学习系列以阅读《
Java并发编程
的艺术》一书的笔记为蓝本,汇集一些阅读过程中找到的解惑资料而成。这是一个边看边写的系列,有兴趣的也可以先自行购买此书学习。
蜜汁炒酸奶
·
2023-03-21 12:13
Java并发编程
实战学习(一)
任务执行任务:大多数服务器应用以用户的请求作为任务边界。串行化任务:所有任务依次执行,受到网络,IO,DB等的影响,任务阻塞耗时长,导致程序响应慢,吞吐量低。只有在任务少,少量用户量的情况下才适用。并行每个任务创建一个线程是不合理的。1.线程数量的上限有限制的,超出会影响系统稳定OOM异常:32位系统地址空间大约是3g,,预留空间136M,xss0.5M,数量1万左右,另外linux文件里面也规定
魔理沙
·
2023-03-21 06:05
Java内存模型——对应
Java并发编程
的艺术第三章
内存模型基础线程之间的通信机制有两种:共享内存、消息传递JMM通过控制主内存与每个线程的本地内存之间的交互,来为java程序员提供内存可见性保证三种重排序编译器优化的重排序:编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序指令级并行的重排序:现代处理器将多条指令重叠执行,若不存在数据依赖,处理器可以改变语句对应机器指令的执行顺序。内存系统的重排序常见的处理器都允许Store-Loa
于无声处写写写
·
2023-03-20 22:26
[
Java并发编程
实战] Executor框架(含思维导图)
亦余心之所善兮,虽九死其犹未悔。———屈原《离骚》这句话的意思是“这些都是我内心之所珍爱,就是让我九死(或多死)还是不后悔。”这两句表现了诗人对美好理想执着追求的精神。PS:如果觉得本文有用的话,请帮忙点赞,留言评论支持一下哦,您的支持是我最大的动力!谢谢啦~这篇文章介绍Executor框架,我用Xmind软件画了这篇文章内容的思维导图。这是我第一次用思维导图软件,发现真的很好用,将整个文章提取然
seaicelin
·
2023-03-20 14:09
进程和线程之由来
在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:
Java并发编程
。当然,
Java并发编程
涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。
一只小海螺
·
2023-03-20 07:12
java并发编程
-CAS
CAS简介CAS英文名称为Compare-And-Swap,中文叫做“比较并交换”,它是一种思想、一种算法。在多线程的情况下,各个代码的执行顺序是不能确定的,所以为了保证并发安全,我们可以使用互斥锁。而CAS的特点是避免使用互斥锁,当多个线程同时使用CAS更新同一个变量时,只有其中一个线程能够操作成功,而其他线程都会更新失败。不过和同步互斥锁不同的是,更新失败的线程并不会被阻塞,而是被告知这次由于
wangpeng123
·
2023-03-20 07:06
JAVA并发编程
(二):线程知识
1.线程和进程进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。线程则是进程的一个执行路径,一个进程中至少有一个线程,进程中的线程共享进程的资源。线程是CPU分配的基本单位。Java中,多个线程共享进程的堆和方法区资源,每个线程有自己的程序计数器和栈区域。程序计数器:(1)记录了该线程让出CPU时的执行地址,待再次分配到时间片时线程就可以从计数器指定的地址继续执行。(2)只
wshj
·
2023-03-20 05:03
Java并发编程
-关于CompletableFuture的实验
1背景最近的项目中,有这样的场景:根据商品id列表,分别调用不同服务查询这批商品的价格、库存、卖点等信息,然后将这批商品信息组合返回。都是根据商品id查询的不同服务,如果拿着id挨个服务去串行执行(先查询价格服务->再查询库存服务->再查询卖点服务...),由于这些服务都是远程调用,很明显性能很低,而且后面的服务查询不依赖前面的查询结果,明显没有串行执行的必要。2场景模拟2.1服务准备简化的商品V
苏wisdom
·
2023-03-19 14:37
JAVA内存模型(JMM)
1.前言前面我们了解JVM的一些基础知识,了解到了JVM是如何存储,加载和处理数据的;今天来了解下JAVA内存模型,学习是如何Java程序访问内存的就java内存模型而言,它时深入了解
java并发编程
的先决条件
只会敲代码的键盘手
·
2023-03-19 09:39
并发编程有关知识点(五)
Java内存模型java线程安全总结深入理解java内存模型系列文章线程状态:一张图让你看懂JAVA线程间的状态转换锁:锁机制:synchronized、Lock、ConditionJava中的锁并发编程:
Java
谷哥得小弟
·
2023-03-19 05:34
Java并发编程
基础-线程
现代操作系统在运行一个程序时,会为其创建一个进程,而现代操作系统调度的最小单元是线程,也叫轻量级进程,在一个进程里面可以创建多个线程,这些线程都拥有各自的计数器,堆栈和局部变量等属性,并且能够访问共享的内存变量,处理器在这些线程上高速切换,让使用者感觉这些线程在同时执行。线程的状态Java线程在运行的生命周期中可能处于下表的6中不同的状态之一,在给定的一个时刻,线程只能处于其中一个状态。状态名称说
菠萝丶丶
·
2023-03-18 23:10
Java并发编程
并发容器
1.并发容器概述ConcurrentHashMap:线程安全的HashMapCopyOnWriteArrayList:线程安全的ListBlockingQueue:这是一个接口,表示阻塞队列,非常适合用于作为数据共享的通道ConcurrentLinkedQueue:高效的非阻塞并发队列,使用链表实现。可以看做一个线程安全的LinkedListConcurrentSkipListMap:是一个Map
香沙小熊
·
2023-03-18 20:46
java并发编程
(十九)Semaphore、CountdownLatch和CyclicBarrier你都玩过吗?
在JUC这个线程同步工具包下,有几个比较游戏的类,Semaphore、CountdownLatch和CyclicBarrier,你都用过吗?下面我们就来简单介绍下他们的用法,并且提供些简单的代码示例,方便大家理解。一、简介Semaphore:通常翻译成信号量,用来控制共享变量可以同时被线程访问的数量。通过构造方法指定计数,线程使用acquire()方法获取许可,当达到执行计数后,其他线程将不能再次
我犟不过你
·
2023-03-18 15:58
java并发编程
艺术
synchronized:jvm实现,重量级锁对于普通同步方法,锁对象为当前实例对象对于静态同步方法,所对象为当前类对象对于同步代码块,所对象为括号内配置的对象jvm基于进入和退出实现同步方法和同步代码块同步代码块的实现方式为monitorenter和monitorexit实现:每个对象都有一个monitor与之关联,monitorenter指令在编译后被插入到同步代码块的开始位置,monitor
eliteTyc
·
2023-03-18 12:38
Java并发编程
总结03_线程并发工具类
1、CountDownLatch倒计时器packagecom.multithreadtool;importlombok.SneakyThrows;importjava.util.concurrent.CountDownLatch;/***1.countdownlatch实现join的功能*2.等待多线程完成再一起往下执行*notice:countdownlatch不可以重新初始化或者修改对象的内部
qizhi_wang
·
2023-03-18 12:21
读《
Java并发编程
》小结
戳我的笔记链接地址本文是对《
Java并发编程
》专栏的读后小结,跟大家分享。
WAHAHA402
·
2023-03-16 13:16
Java并发编程
实战:掌握多线程编程的交错优化和高效实践
Java并发编程
是指在多个线程同时执行的情况下,协调和管理这些线程的过程。在现代计算机系统中,使用多线程并发编程可以显著提高应用程序的性能和响应速度。
陈书予
·
2023-03-16 07:04
java
java
jvm
开发语言
Java并发机制的底层实现原理 - synchronized和volatile
“本文主要介绍synchronized和volatile到实现原理”synchronized和volatile几乎是java面试基础部分必会,不会你就吃亏了,这一篇文章摘抄《
Java并发编程
的艺术》对于初学者来说看懂这篇可能有点困难
王 炸
·
2023-03-15 20:26
Java
架构师
锁
并发
底层
原理
synchronize
volatile
Java并发编程
:Java的四种线程池的使用,以及自定义线程工厂
目录引言四种线程池newCachedThreadPool:可缓存的线程池newFixedThreadPool:定长线程池newSingleThreadExecutor:单线程线程池newScheduledThreadPool:支持定时的定长线程池自定义ThreadFactory引言通过前面的文章,我们学习了Executor框架中的核心类ThreadPoolExecutor,对于线程池的核心调度机制
游戏原画设计
·
2023-03-15 17:00
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他