xzzz2020
xzzz2020
全部文章
分类
操作系统(11)
数据库(12)
未归档(5)
深入理解JVM(20)
算法与数据结构(14)
网络原理(11)
面试题总结(36)
归档
标签
去牛客网
登录
/
注册
Xu大大
全部文章
(共394篇)
【详解】Java并发之单线程执行设计模式
问题引出 该问题出现分为三个角色 门:相当于共享资源 用户:相当于一个线程 客户端:负责启动多个线程通过这个门 资源在线程使用资源的时候,做了一个检查,检查此时使用资源的名字和地址是否相同 /** * 门,相当于共享资源 */ public class Gate { ...
2020-08-14
0
504
【详解】Java并发之读写锁分离设计模式
分析 读写锁最重要的需求是:多个线程如果都是在读取数据,如果依然采用加锁的方式,会严重影响效率。所以需要对读写锁进行分离 这种方式适用于:读取的操作比较多 需要考虑以下冲突,否则会出现数据不一致的情况 冲突 策略 读 — 读...
2020-08-14
0
620
【详解】Java多线程之不可变对象设计模式
分析 这是一种无锁的设计模式,因为不可变对象没有任何机会去修改这个对象的属性或者引用类型 需要有两个概念 不可变对象一定是线程安全的 可变对象不一定是不安全的 创建不可见对象的原则: 1)所有成员变量必须是private 2)最好同时用final修饰(非必须) 3)不提供...
2020-08-14
0
522
【详解】Java并发之Fature设计模式
分析 Future模式的核心在于:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑。 Future模式有点类似于商品订单。在网上购物时,提交订单后,在收货的这段时间里无需一直在家里等候,可以先干别的事情。类推到程序设计中时,当提交请求时,期望得到答复时,如...
2020-08-14
0
733
【详解】Java并发之确保挂起设计模式
分析 在Tomcat中的例子 Request -> Tomcat httpServer -> doing ................. Request -> Tomcat httpServer -> Queue wait -> doing 需求 一...
2020-08-14
0
540
【详解】ThreadLocal(线程保险箱)
分析 threadlocal在线程间是隔离的,不共享,用于存储线程的变量 即使多个线程使用同一个ThreadLocal,也只能访问自己的属性 一个简单的例子 线程1和线程2分别从同一个ThreadLocal中存取变量 主线程没有存变量,也在获取 可以发现,每个线程获取的都是自己...
2020-08-14
0
548
【详解】上下文设计模式
分析 线程在执行过程中可能分了多个阶段 后一个方法可能需要用到前一个阶段的结果 通过设置一个上下文,每执行一个方法,将结果放入到上下文中,下一个方法的调用时,会调取上下文中的结果继续执行 这个上下文是在一个线程内部是单例的 上下文实现 先设计一个上下文,负责在线程执...
2020-08-14
0
806
【详解】多线程之Balking设计模式
分析 介绍 定期将当前数据内容写入文件中,比如文本工具的自动保存功能,定期的将数据保存到文件中。 当写入的内容和上次的内容完全相同时,再向文件写入就多余了,所以就不再执行写入操作。 所以这个程序就是以 数据内容不同 作为守护条件,如果数据内容相同,就不执行写入操作,直接返回(bal...
2020-08-14
0
587
【详解】生产者消费者设计模式
分析 多个线程负责生产消息,多个线程负责发送消息 生产和发送消息都需要加锁 如果没有消息需要发送,则进入线程等待 编码 需要注意: <mark>在线程调用一些方法时,不要使用try…catch…,而是将异常抛出,在线程处理逻辑统一处理。否则,会造成线程无法...
2020-08-14
0
429
【详解】Java多线程之Count down设计模式
分析 Count-Down设计模式其实也叫做Latch(阀门)设计模式。 当若干个线程并发执行完某个特定的任务,然后等到所有的子任务都执行结束之后再统一汇总。 JDK包中的实现 public class JDKCountDown { private static fina...
2020-08-14
0
731
首页
上一页
14
15
16
17
18
19
20
21
22
23
下一页
末页