- 博客(7)
- 收藏
- 关注
原创 设计模式(待补充)
一.依赖倒置传递的方法: 1.接口传递依赖 ** ** 2.构成器传递依赖 3.set方法传递依赖 二:里式替换原则 1.子类B重写父类A,尽量B不要重写A的方法,如果需要重写,就定义一个更加基础的base类 三:开闭原则 1.原则是扩展开发(针对提供方),修改关闭(针对使用方) 四:简单工厂模式: 就是把代理商SimpleFactory.createPizza2改成静态方法。 五:工厂方法模式: 说白了就是在简单工厂基础上,工厂做了一个下沉处理,类似拆了多个子工厂 由工厂子类来实现: 六:
2021-05-09 23:29:52 93
原创 ThreadLocal原理解析
1.软引用(SoftReference): 特点垃圾回收:正常不回收,但是空间不够了会回收空间。 2.弱引用(WeakReference): 弱引用是随时都可以被回收的;弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。 弱引用可以和一个引用队列(ReferenceQueue)联合使
2021-04-09 18:39:59 127
原创 reentrantLock锁机制
1.reentrantLock.lock 加锁 第一步:调用的是AbstractQueuedSynchronizer (简称AQS)里面的compareAndSetState(CAS)方法 第二步: AbstractQueuedSynchronizer.compareAndSetState调用的是Unsafe类的compareAndSwapInt方法,该方法是一个native方法。 Unsafe相当于一个后门,基于该类可以直接操作特定的内存数据,Unsafe类存在sun.misc包中,其内部方法操作可以像
2021-03-21 12:15:43 215
原创 事务一致性
一:事务一致性(ACID): 1.原子性 2.一致性 3.隔离性 4.持久性 以上是数据的要求,事务是数据库的事务。 数据库层级事务: begin;start transtation commit; rollback; 目的是实现:手动控制事务,因为数据库默认是自动提交。 其实连接数据库本质是JDBC去操作数据,这里设置禁止自动提交数据,手动控制事务。 二:spring保证事务一致性 所有的工具时保证我们重复造轮子的操作。 spring的操作是@Transactional表示帮助我们实现事务。 spri
2021-03-20 22:07:04 862
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人