摘要: 海上生明月,天涯共此时。愿大家在这个团圆的夜晚,收获满满的温馨和喜悦,团圆美满,中秋快乐! 使用示例 ConditionDemoAwait :开始之后加锁,阻塞并释放锁 package com.caozz.demo5.concurrent; import java.util.concurrent.l 阅读全文
posted @ 2024-09-16 11:01 东方欲晓_莫道君行早 阅读(8) 评论(0) 推荐(0) 编辑
摘要: wait与notify用于syncronized的线程间通信的一种,wait用来阻塞线程并释放锁,notify用来唤醒线程。他们与condition作用基本一致,但是由于syncronized为jdk实现,阅读源码有难度,所以通过了解其原理,用来帮助我们后续理解condition的源码。 可以通过下 阅读全文
posted @ 2024-09-15 22:18 东方欲晓_莫道君行早 阅读(35) 评论(0) 推荐(0) 编辑
摘要: JUC是什么 可能有些不太关注底层代码,会不太理解juc是啥,比如之前的我,只知道是跟并发相关。juc其实就是并发包路径的缩写,java.util.concurrent.而Lock是其中锁的接口,有比如重入锁,读锁,写锁等一些具体实现。 这部分源码理解起来还是有些难度,暂时先理解其大概思路,对于实现 阅读全文
posted @ 2024-08-27 23:31 东方欲晓_莫道君行早 阅读(11) 评论(0) 推荐(0) 编辑
摘要: volatile关键字来确保线程间的可见性,可以利用线程可见性在某些场景进行无锁化编程。 下载Hotspot源码: 官网:https://openjdk.org/ 左侧菜单,Source Code 下面的Mecurial 点击jdk8 点击hotspot 点击zip volatile关键字来确保线程 阅读全文
posted @ 2024-07-18 18:10 东方欲晓_莫道君行早 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 关于线程安全问题的简述 多个线程做同一件事的时候 原子性:Syncronized,AtomicXXX,Lock 可见性:Syncronized,volatile 有序性:Syncronized,volatile 原子性问题 代码演示了两个线程分别调用incr()方法来对i进行累加,预期结果应该是20 阅读全文
posted @ 2024-07-06 21:42 东方欲晓_莫道君行早 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 线程启动 线程生命周期 阻塞状态分为Blocked,time-waiting.外在表现区别不大,产生的原因不同,可以通过jstack查看,更具体的状态有助于我们排查线程相关问题。 下面这个时更为详细的生命周期图 线程停止 stop方法:不建议使用,类似于kill -9,不够优雅 interrupt( 阅读全文
posted @ 2024-07-05 23:26 东方欲晓_莫道君行早 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 设计原则,是设计模式的基础。在实际开发中,并不是一定要求所有代码都遵循设计原则,我们需要综合考虑人力、时间、成本、质量,不是可以追求完美,要在设当的场景遵循合适的设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码结构。 设计模式(Design Pattern)是前辈们经过相当长的一段时间的 阅读全文
posted @ 2024-07-04 19:52 东方欲晓_莫道君行早 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 访问者模式 访问者模式(Visitor Pattern)是一种将数据结构与数据操作分离的设计模式,是指封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作,属于行为型模式。 访问者模式被称为最复杂的设计模式,但是使用率不高。不过,一旦你需要使用它时, 阅读全文
posted @ 2024-07-04 19:42 东方欲晓_莫道君行早 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 观察者模式(Observer Pattern),又叫发布-订阅(Publisher/Subscribe)模式,模型-视图模式,源-监听器模式或从属者模式。定义一种一对多的依赖关系,一个主题对象可以同时被多个监听者同时监听,使得每当主题对象状态发生变化时,所有依赖于它的对象都会得到通知并被 阅读全文
posted @ 2024-06-23 22:58 东方欲晓_莫道君行早 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 解释器模式(InterPreter Pattern) 解释器模式是指给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用 该表示 来解释语言中的句子,并按照规定的语法进行解析的模式,属于行为型模式。 比如编译器可以将源码编译为机器码,让CPU能进行识别并运行。解释器模式的作用其实与编 阅读全文
posted @ 2024-06-22 23:36 东方欲晓_莫道君行早 阅读(3) 评论(0) 推荐(0) 编辑