- 博客(6)
- 收藏
- 关注
原创 java 死锁产生的四个必要条件
1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。4、循环等待,即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。这样就形成了一个等待环路。...
2022-03-08 13:31:59 908
原创 代理模式优缺点
优点:1.代理模式能将代理对象与真实被调用的目标对象隔离2.一定程度上降低了系统的耦合度,扩展性好3.可以起到保护目标对象的作用4.可以对目标对象的功能增强缺点:1.代理模式会造成系统设计中类的数量增加2.在客户端与目标对象之间增加一个代理对象,会造成请求处理速度变慢3.增加了系统的复杂度...
2022-02-11 17:37:52 522
原创 静态代理和动态代理的区别
静态代理只能通过手动完成代理操作,如果被代理类增加新方法,代理类需要同步新增方法,违背开闭原则动态代理采用运行时动态生成代码的方式,取消了对被代理类的扩展限制,遵循开闭原则若动态代理需要对目标类的增强逻辑扩展,结合策略模式,只需新增策略类便可完成,无需修改代理类代码...
2022-02-11 17:35:59 1176
原创 CGLib 和JDK 动态代理对比
1、JDK 动态代理是实现了被代理对象的接口,CGLib是集成了被代理对象2、JDK和CGLib都是在运行期间生成字节码,JDK是直接写Class字节码,CGLib使用ASM框架写Class字节码,CGLib实现更复杂,生成代理类比JDK效率低3、JDK调用代理方法是通过反射调用,CGLib是通过FastCalss机制直接调用,CGLib执行效率更高...
2022-02-11 17:32:22 273
原创 spring事务传播机制
Required:必须的。说明必须要有事物,没有就新建事物。supports:支持。说明仅仅是支持事务,没有事务就非事务方式执行。mandatory:强制的。说明一定要有事务,没有事务就抛出异常。required_new:必须新建事物。如果当前存在事物就挂起。not_supported:不支持事物,如果存在事物就挂起。never:绝不有事务。如果存在事物就抛出异常...
2022-02-10 16:39:01 54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人