自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Spring中代理选择的原则

当Bean有实现接口时,Spring就会用JDK动态代理当Bean没有实现接口,Spring选择CGLib

2022-02-11 17:34:56 301

原创 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关注的人

提示
确定要删除当前文章?
取消 删除