摘要: 并发编程-Condition源码分析&基于Condition实现阻塞队列 上一篇说猜测了condition的实现原理,本篇对condition源码进行剖析,并且来使用condition实现一个阻塞队列,同时聊聊有哪些东西的底层使用了condition。So Run。。。 上篇回顾 主要是这两个方法 阅读全文
posted @ 2021-06-17 23:41 UpGx 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 并发编程-ReentrantLock锁源码分析&Condition设计 上一篇我们分析了Lock锁的实现,这一篇我们来着眼于他的底层实现,以及来分析Condition,并且对比他和wait()以及notify()。 Lock源码分析 首先Lock下面有ReentrantLock的实现,在Reentr 阅读全文
posted @ 2021-06-13 11:06 UpGx 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 并发编程-JMM&ReentrantLock锁以及原理 JMM(Java Memory Model(Java内存模型)):我们都明白java是一个一次编译多处运行的语言,然而在不同的系统架构中拥有不同的内存模型,java是一个跨平台的虚拟系统,所以他有制定了自己的内存模型,内存模型描述了程序中各个变 阅读全文
posted @ 2021-06-06 14:53 UpGx 阅读(185) 评论(2) 推荐(0) 编辑
摘要: 并发编程-(volatile)可见性&有序性 【可见性】:就是两个线程对同一个变量进行修改线程a修改后,线程b没有读取到修改后的数据,类似于数据库中的脏读。 【有序性】:在java内存模型中,允许编译器和处理器对指令进行重新排序,在单线程的时候不影响,但是在多线程的时候,就会影响执行结果的正确性。 阅读全文
posted @ 2021-06-01 17:48 UpGx 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 并发编程-原子性 我们都清楚当多个线程去同时做一件事情的时候,我们需要考虑原子性、可见性、和有序性这几个问题,本章主要说原子性,以下是阐述内容 原子性:主要用原子性问题进行展开讨论 同步锁(synchronize):使用同步锁解决问题 MarkWord对象头:锁的状态存在哪里 synchronize 阅读全文
posted @ 2021-05-24 13:34 UpGx 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 并发的起源和价值 本篇从为什么使用高并发,以及高并发带给我们什么好处展开进行阐述,说到高并发就不能不说线程,所以会穿插这一些线程的demo。这里只是进行浅谈,之后会进行深入的讨论,so began. 并发 【高并发】:当前系统能够同时承载的并发数,例如,我们打开一个前端页面,这个前端页面会渲染很多数 阅读全文
posted @ 2021-05-19 20:56 UpGx 阅读(166) 评论(1) 推荐(1) 编辑
摘要: 模板方法模式(Template Method Pattern) 定义一个骨架,允许子类为其中一个或者多个步骤提供实现。简而言之,就是使用一个类的方法对流程进行规范,子类对这些方法进行实现,以便于达到流程统一的目的。各个子类的公共行为被提取出来放在公共的父类中,其中的某个流程可以交给子类去自己实现,子 阅读全文
posted @ 2021-05-14 13:06 UpGx 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 委派模式(Delegate Pattern) 基本工功能就是任务的调度和分配,将任务的分派和执行进行分离。简而言之,类似于一个代理,在这个代理类中处理的你的需求,至于在内部调用那个实现类去实现,客户端不用管。在某种程度上讲类似于:老板-->经理-->员工 a scene of Issue an or 阅读全文
posted @ 2021-05-08 11:32 UpGx 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 组合模式(Composite Pattern) 其目的将单个对象和组合对象用相同的接口进行表示,使得客户端对单个对象和组合对象保持一致的方式处理。简而言之就是来继承同一个抽象类,常见的例子就是系统中的文件夹,一个目录下的文件、文件夹、文件都有相同的功能(展示、新增(文件没有)、删除等),所以我们就把 阅读全文
posted @ 2021-05-06 14:01 UpGx 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 享元模式(Flyweight Pattern) 享元模式是对象池的一种体现。类似于线程池,可以避免不停地创建和销毁多个对象。实际上就是将多个同一个对象的访问集中起来,类似于数据库连接池。 To illustrate with a scene of ticket-grabbing public int 阅读全文
posted @ 2021-05-05 22:57 UpGx 阅读(65) 评论(0) 推荐(0) 编辑