加载中
Java中的线程池

java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理使用线程池能够带来三个好处。 第一:降低资源消耗。通过重复利用已创...

Java并发机制底层实现原理

锁的膨胀过程 预备知识CAS 硬件对并发的支持 在大多数处理器架构(包括IA32和Sparc)中采用的方法是实现一个比较并交换(CAS)指令,CAS包含了3个操作数——内存位置(V),预期原值(A),拟...

Java8实战——通过行为参数化传递代码

1、初试牛刀:筛选绿苹果 第一个解决方案可能是下面这样的: public static List<Apple> filterGreenApples(List<Apple> inventory){ List<Apple> result=new ArrayList<>(); //仅仅筛选出绿...

2020/08/05 16:57
1.6W
多线程进阶——JUC并发编程之Synchronized底层实现概论🔥

Synchronized简介 Java中提供了两种实现同步的基础语义: synchronized 方法和 synchronized 块 ,先来个案例进行分析! public class SyncTest { public void syncBlock(){ synchronized (t...

2020/03/01 23:03
767
多线程进阶——JUC并发编程之Executors框架设计思想一探究竟🔥

1、学习切入点 Executors 框架是整个JUC 包中类/接口关系中最为复杂的框架,真正理解Executors框架的前提是理清楚各个模块之间的关系,高屋建瓴,从整体到局部才能透彻理解各个模块的功能和背...

JDK
2020/03/01 15:24
540
多线程进阶——JUC并发编程之抽象同步队列AQS框架设计理念一探究竟🔥

1、学习切入点 既然AQS是一个提供给我们使用的框架,那么我们可以看看这个框架都有哪些类依赖它。 从框架来看,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如...

2020/02/29 12:40
1.3K
多线程进阶——JUC并发编程之Semaphore源码一探究竟🔥

1、学习切入点 百度翻译如下: 计数信号量。从概念上讲,信号量维护一组许可。如果需要,每个acquire()都会阻塞,直到有许可证可用,然后获取它。每个release()添加一个许可,可能释放一...

2020/02/27 15:13
5.6K
多线程进阶——JUC并发编程之CyclicBarrier源码一探究竟🔥

1、学习切入点 百度翻译大概意思就是: 一种同步辅助程序,允许一组线程相互等待到达一个公共的屏障点。CyclicBarrier在涉及固定大小的线程方的程序中非常有用,这些线程方有时必须相互等待。...

2020/02/27 12:07
4.3K
多线程进阶——JUC并发编程之CountDownLatch源码一探究竟🔥

1、学习切入点 JDK的并发包中提供了几个非常有用的并发工具类。 CountDownLatch、 CyclicBarrier和 Semaphore工具类提供了一种并发流程控制的手段。本文将介绍CountDownLatch(闭锁)的实现原理...

2020/02/25 22:04
8.2K
多线程进阶——狂神说java之JUC并发编程🔥

1、什么是JUC 学习可以参考:源码+官方文档 进行学习 文档地址:https://docs.oracle.com/javase/8/docs/api/ 首先我们看看什么是JUC 其次我们看看JUC都有哪些东西 于是我们可以总结下JUC可以...

2020/02/24 23:17
5.2K
高可用性(High Availability):Redis 哨兵是Redis官方的高可用性解决方案🔥

Redis主从复制的问题 Redis 主从复制 可将 主节点 数据同步给 从节点,从节点此时有两个作用: 一旦 主节点宕机,从节点 作为 主节点 的 备份 可以随时顶上来。 扩展 主节点 的 读能力,分担...

2019/11/24 20:01
4.6K
Spring5.0源码深度解析之Spring基于注解启动流程分析🔥

主要内容: 一、IOC容器的初始化流 创建IOC容器 注册配置类 BeanFactory后置处理器 Bean的后置处理器 创建Bean对象 IOC容器的初始化流程 从: ApplicationContext applicationContext = new ...

Java并发编程笔记——J.U.C之executors框架:executors框架设计理念🔥

一、executors框架简介 juc-executors框架是整个J.U.C包中类/接口关系最复杂的框架,真正理解executors框架的前提是理清楚各个模块之间的关系,高屋建瓴,从整体到局部才能透彻理解其中各个模...

2019/07/24 11:22
4K
一篇文章搞定——JDK8中新增的StampedLock🔥

一、StampedLock类简介 StampedLock类,在JDK1.8时引入,是对读写锁ReentrantReadWriteLock的增强,该类提供了一些功能,优化了读锁、写锁的访问,同时使读写锁之间可以互相转换,更细粒度控...

2019/07/21 23:24
3.4K
可重入的独占锁——ReentrantLock源码分析🔥

ReentrantLock面试题分析 1、ReentrantLock是怎么实现的? 2、ReentrantLock的公平锁和非公平锁是如何实现的? 1.ReentrantLock类图结构 从类图我们可以直观地了解到,ReentrantLock最终还是...

2019/07/20 16:23
2K
抽象同步队列AQS——AbstractQueuedSynchronizer锁详解🔥

AQS——锁的底层支持 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资...

2019/07/19 00:08
2.5K
深入MyBatis源码,理解Java设计模式之适配器模式🔥

写在前面:设计模式源于生活,而又高于生活! 什么是适配器模式 定义:将一个系统的接口转换成另外一种形式,从而使原来不能直接调用的接口变得可以调用。 适配器模式角色划分 适配器模式涉及...

真实项目案例实战——【状态设计模式】使用场景🔥

写在前面:设计模式源于生活,而又高于生活! 什么是状态模式 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。 状态模式应用场景 1.一个对象...

浅谈Java【代理设计模式】——看这篇文章就懂了🔥

写在前面:设计模式源于生活,而又高于生活! 什么是代理模式 为其他对象提供一种代理以控制对这个对象的访问。 为什么使用代理模式 中介隔离:在某些情况下,一个客户类不想或者不能直接引用...

2019/05/18 22:45
6.3K
”万丈高楼平地起“——如何从“建筑师”角度打造【装饰者设计模式】🔥

写在前面:设计模式源于生活,而又高于生活! 什么是装饰者模式 在不改变原有对象的基础上附加功能,相比生成子类更灵活。 装饰者模式应用场景 过滤器,网关控制,P2P分控审批 装饰者模式类图...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部