Java基础知识,很重要!!!
访问者模式
访问者模式
作用:操作某对象结构中各个(各层级)元素,在不改变元素整体结构的前提下,定义作用于这些新元素的新操作。
组合模式
组合模式和访问者模式:
- 组合模式注重树形结构数据的包装
- 访问者模式注重对不同层次数据的操作
二者可以完美搭配,除此之外,二者的UML类图中部分元素是重叠的。
桥接模式
适配器模式
适用于对项目进行扩展,适配器模式的好处是不修改原有逻辑进行功能扩展,但是随着功能的增加,适配器的适配种类也会增多。
适用场景:在原有账号密码登录的基础上实现第三方登录。
简介
适配器模式,一个用于将一类的接口适配成用户所期待的接口,能够帮助不兼容的接口变得兼容。
AQS详解
AQS简介
AQS 全称是
AbstractQueuedSynchronizer
,抽象队列同步器。
AQS是用来构建锁或者其他同步器组件的重量级基础框架,是整个JUC体系的基石;
AQS通过内置的自定义的CLH队列来完成获取资源的线程的排队工作,将每个要抢占资源的线程封装成Node节点来实现锁的分配,同时存在一个volatile
变量state表示持有锁的状态。
AQS核心数据结构CLH参考资料:https://mp.weixin.qq.com/s/jEx-4XhNGOFdCo4Nou5tqg
ThreadLocal详解
ThreadLocal概述
通常情况下,在程序中创建的变量是可以被任何一个线程访问并修改的。那么如果想实现每一个线程都有自己的专属的本地变量该如何解决?
JDK原生的java.lang.ThreadLocal
类作用就是在多线程中为每一个线程创建单独的变量副本,相当于线程单独的private static
类型变量。
ThreadLocal的作用和同步机制:
- ThreadLocal是为了保证多线程环境下数据的独立性
- 同步机制是为了保证多线程环境下数据的一致性