![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java并发/设计模式
文章平均质量分 61
Java并发/设计模式
济南大飞哥
代码洁癖+努力学好知识的一块块,不求多,但求专精。
展开
-
Java并发编程
AQS在其内部使用了一个FIFO队列来管理那些请求了互斥锁但是没有成功获取锁(即处于阻塞状态)的线程。当阻塞的线程被唤醒(比如持有锁的线程释放了锁),AQS会选择一个或多个线程来尝试获取锁,并从阻塞状态恢复为就绪状态。: 如果没有成功获取到锁,会调用内部的方法将线程包装成节点并加入等待队列。: 当持有锁的线程执行完成并释放锁时,会调用内部的方法唤醒等待队列中的后续节点(即线程)。原创 2018-09-07 11:18:44 · 255 阅读 · 0 评论 -
TheadLocal传递参数一定要记得Remove,否则会产生Bug
使用ThreadLocal保存用户信息,如果后续操作报错,Remove代码没有执行,那么下个用户进来,发现ThreadLocal有数据,直接取来用,则发生错误、窜用户了。若要避免这个问题,一是尽量避免使用ThreadLocal,如果使用,请确保Remove一定能执行到;下个用户之所以能取到上个用户/线程的数据,是因为所有的web服务器底层都是使用的线程池,代码里自行使用线程池复用线程的使用也是一样。首先设置一个线程,往ThreadLocal里设置值。最后用一个核心数为1的线程池去执行线程。原创 2019-05-28 20:23:41 · 1326 阅读 · 1 评论 -
Java两种动态代理JDK动态代理和CGLIB动态代理
目录代理模式JDK动态代理cglib动态代理测试代理模式代理模式是23种设计模式的一种,他是指一个对象A通过持有另一个对象B,可以具有B同样的行为的模式。为了对外开放协议,B往往实现了一个接口,A也会去实现接口。但是B是“真正”实现类,A则比较“虚”,他借用了B的方法去实现接口的方法。A虽然是“伪军”,但它可以增强B,在调用B的方法前后都做些其他的事情。Spring AOP...原创 2018-08-07 15:33:35 · 146238 阅读 · 64 评论 -
Java23种设计模式/GOF设计模式--结构型型模式
目录结构型模式6、适配器模式(Adapter pattern)7、代理模式(Proxy pattern)8、装饰模式(Decorator pattern)9、外观模式/门面模式(Facade pattern)10、桥接模式(Bridge pattern)11、组合模式/合成模式(Composite pattern)12、享元模式(Flyweight pattern)...原创 2018-09-08 15:24:37 · 1053 阅读 · 0 评论 -
Java23种设计模式/GOF设计模式--行为型模式
目录行为型模式第一类 父与子13、策略模式(Strategy pattern)14、模板方法(Template method pattern)第二类 两个类之间15、观察者模式(Observer pattern)16、迭代器模式(Iterator pattern)17、责任链模式(Chain-of-responsibility pattern)18、命令模式(C...原创 2018-09-08 17:06:14 · 1641 阅读 · 0 评论 -
Java23种设计模式/GOF设计模式--创建型模式
目录设计模式面向对象设计模式的六大原则创建型模式1、工厂模式工厂方法(Factory method pattern) 简单工厂2、抽象工厂(Abstract factory pattern)3、单例模式(Singleton pattern)4、建造者模式(Builder Pattern)5、原型模式(Prototype pattern)设计模式维...原创 2018-08-09 16:59:16 · 771 阅读 · 0 评论 -
java状态机设计
新增状态时,只需要加一个ConcreteState实现类,类里面实现自己的门面方法和具体的支持的动作的方法;然后需要在状态机里注册该状态(状态机初始化时)。...原创 2019-05-22 18:47:32 · 591 阅读 · 0 评论