- 博客(3)
- 收藏
- 关注
原创 (随手记录的知识点)
#事务1、默认在spring事务中,只会发生未被捕获的runtimeexception异常时才会回滚。2、springAop异常捕获原理:被拦截的方法需显示抛出异常,并不能进行任何处理,这样aop才能捕获到,才能进行回滚。换句话说在service的方法中不使用try catch 或者在catch中最后加上throw new runtimeexcetpion(),这样程序异常时才能被aop捕获进而回滚解决方案:1.例如service层处理事务,那么service中的方法中不做异常捕获,或者在.
2021-04-07 16:33:35
58
原创 (总结)sql如何进行优化
1、select子句中避免使用 ‘ * ’。2、尽量多使用COMMIT.3、计算记录条数最快的是count(索引列),其次count(*)。4、用where子句替换having子句。5、通过内部函数提高sql效率。6、使用表的别名(alias)7、用exists代替in,用not exists代替not in。8、用表连接代替exists9、索引提交效率10、避免在索引上使用计算(可能会导致索引失效)11、避免在索引上使用Not(可能会导致索引失效)12、用&g.
2021-04-07 16:26:00
495
原创 jdk代理和cglib代理的区别
代理模式就是给某一个对象提供一个代理对象,并由代理对象控制原对象的引用。静态代理:由程序员创建代理类或者特定工具自动生成源代码再对其编译,在程序运行之前.class文件就已经存在了。动态代理:在程序运行时,通过反射机制,动态创建代理类。jdk动态代理是由java内部的反射机制来实现的,反射机制在生成类的时候比较高效,jdk动态代理的应用前提,必须是目标类基于同一接口。一个是接口InvoactionHandler,一个是类Proxy,就是对象的代理。cglib动态代理底层是借助asm来实现,而
2021-04-07 16:03:37
102
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人