- 博客(13)
- 收藏
- 关注
原创 多线程如何共享变量 -- Java内存模型
目录主内存和工作内存为什么要分为主内存和工作内存Java 内存模型和运行时数据区的区别Java 内存模型中变量的定义内存之间交互操作参考主内存和工作内存Java 内存模型(JMM:Java Memory Model)规定了所有的变量都存储在主内存中。每条线程还有自己的工作内存,工作内存中保存了该线程使用到的变量到主内存副本拷贝。线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。不同线程之间无法直接访问对方工作内存中的变量,线程间变量值的传递均需要在主内存来
2022-03-20 22:30:10
2635
原创 NIO - 入门
NIO - 入门目录为什么我们需要 NIO传统 IO 的缺点 - 阻塞NIO 的优点 - 非阻塞NIO 的核心组成部分NIO 的工作原理代码实例 - 单个服务端线程,处理多个客户端连接引导参考为什么我们需要 NIO传统 IO 的缺点 - 阻塞传统的 IO 流都是阻塞式的。也就是说,当一个线程调用 read() 或 write() 时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行 IO 操作时,由于线程会阻塞,所
2022-02-14 22:56:21
611
原创 设计模式 - 策略模式
设计模式 - 策略模式目录基本介绍类图代码基本介绍策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。类图代码飞翔行为public interface FlyBehavior { void fly();}public class FlyWithWings implements FlyBehavior{ @Override public void fly() { System.out
2022-02-13 16:00:41
117
原创 设计模式 - 代理模式
设计模式 - 代理模式目录代理模式的定义代理模式的类图Java 动态代理的类图对象村的配对(动态代理)代理模式的定义代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。代理模式的类图首先是 Subject,它为 RealSubject 和 Proxy 提供了接口。通过实现同一接口,Proxy 在 RealSubject 出现的地方取代它。RealSubject 是真正做事的对象,它是被 proxy 代理和控制访问的对象。Proxy 持有 RealSubject 的
2022-02-06 20:13:22
241
原创 设计模式 - 观察者模式
设计模式 - 观察者模式目录认识观察者模式定义观察者模式观察者模式类图案例:实现气象站(推)Java内置的观察者模式案例:利用内置重新实现实现气象站(拉)认识观察者模式我们看看报纸和杂志的订阅是怎么回事报社的业务就是出版报纸;向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的订户,你就会一直收到新报纸;当你不想再看报纸的时候,取消订阅,他们就不会再送新报纸来;只要报社还在运营,就会一直有人向他们订阅报纸或取消订阅报纸;出版者 + 订阅者 = 观察者
2022-02-06 20:09:04
317
原创 JavaSE 比较器接口
JavaSE 比较器接口目录比较器接口是什么?有什么用?比较器接口怎么用?1 Comparable 接口2 Comparator 接口比较器接口是什么?有什么用? 比较器接口包括2个接口:Comparable 和 Comparator 。 若一个类实现了 Comparable 接口,意味着该类支持排序,可以用作TreeMap、TreeSet、PriorityQueue中的元素,而不需要指定比较器。接口中通过 compareTo() 方法来进行比较。 如果一
2021-12-05 20:53:49
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人