摘要: 一、AtomicReferenceFieldUpdater的用法 AtomicReferenceFieldUpdater是一个抽象的工具类,其底层是通过反射找到目标字段的内存偏移量,然后利用Unsafe.class提供的CAS(Compare-And-Swap)操作来原子地更新某个类中指定变量的值。 阅读全文
posted @ 2026-02-13 23:42 Carey_ccl 阅读(39) 评论(0) 推荐(0)
摘要: 一、模式定义 在不改变原有对象的前提下(不改变ConcreteComponent情况下),给原有对象扩展功能(利用ConcreteDecorator扩展功能,在ConcreteDecorator中注入ConcreteComponent)。如下所示: 二、应用场景 扩展一个类的功能,或者给一个类添加一 阅读全文
posted @ 2026-02-11 21:57 Carey_ccl 阅读(163) 评论(0) 推荐(0)
摘要: 一、模式定义 将一个类的接口转换成使用者希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、应用场景 当使用者用到的某些类的接口与其它代码不兼容时,就可以使用适配器模式来改造。当使用者希望重用几个现有的子类,但这些类缺少一些不能添加到超类中的公共功能时 阅读全文
posted @ 2026-02-10 21:25 Carey_ccl 阅读(37) 评论(0) 推荐(0)
摘要: 一、普通工厂模式 1.1、模式定义: 定义一个用于创建对象的接口,让子类决定去实例化哪一个类:其中的抽象工厂方法(factoryMethod),就是使得一个类的实例化延迟到了子类。 1.2、应用场景 ①、当使用者不知道要创建的对象的确切类型时候; ②、当使用者希望为库或者框架提供扩展其内部组件的方法 阅读全文
posted @ 2026-02-09 22:47 Carey_ccl 阅读(55) 评论(0) 推荐(0)
摘要: 一、模式定义: 保证一个类只有一个实例,并且提供一个全局访问点 二、使用场景: 重量级对象,不需要多个实例,如:线程池,数据库连接池 三、类图: 四、不同方式创建的单例设计与区别 4.1、懒汉单例模式 懒汉单例模式的特点是延迟加载,只有在真正使用的时候,才开始实例化,用该方式创建单例对象时,对于线程 阅读全文
posted @ 2026-02-08 17:12 Carey_ccl 阅读(64) 评论(0) 推荐(0)
摘要: Solid原则是为针对面向对象的程序语言设计,从本质上来讲,SOLID是5个原则的缩写,这5个原则有助于软件设计:更加容易理解,更灵活,可维护性更强。这个与掌握软件设计原理无关,这个原理是很多原则的子集。 单一职责原则(Single responsibility principle) 开闭原则(op 阅读全文
posted @ 2026-02-08 15:55 Carey_ccl 阅读(97) 评论(0) 推荐(0)
摘要: 操作系统使用文件描述符来指代一个打开的文件,对文件的读写操作,都需要文件描述符指向存储设备的不透明标识符。Java虽然在设计上使用了抽象程度更高的流来作为文件操作的模型,但是底层依然要使用文件描述符与操作系统交互,而Java世界里文件描述符的对应类就是FileDescriptor。同时,Java规定 阅读全文
posted @ 2026-02-06 18:46 Carey_ccl 阅读(84) 评论(0) 推荐(0)
摘要: ServerSocket.class实现了服务器套接字的功能。服务器套接字会等待通过网络传来的请求。它会根据该请求执行一些操作,然后可能向请求者返回结果。ServerSocket.class的UML关系图如下所示: 一、构造函数 ServerSocket的构造函数有以下几种重载形式: public 阅读全文
posted @ 2026-01-26 11:19 Carey_ccl 阅读(35) 评论(0) 推荐(0)