学习java第四十二天

Spring AOP 和 AspectJ AOP 有什么区别?

Spring AOP 属于运行时增强,而 AspectJ 是编译时增强。 Spring AOP 基于代理(Proxying),而 AspectJ 基于字节码操作(Bytecode Manipulation)。

Spring AOP 已经集成了 AspectJ ,AspectJ 应该算的上是 Java 生态系统中最完整的 AOP 框架了。AspectJ 相比于 Spring AOP 功能更加强大,但是 Spring AOP 相对来说更简单,

如果我们的切面比较少,那么两者性能差异不大。但是,当切面太多的话,最好选择 AspectJ ,它比Spring AOP 快很多。

Spring 事务中的隔离级别有哪几种?

TransactionDefinition 接口中定义了五个表示隔离级别的常量:

TransactionDefinition.ISOLATION_DEFAULT: 使用后端数据库默认的隔离级别,Mysql 默认采用的 REPEATABLE_READ隔离级别 Oracle 默认采用的 READ_COMMITTED隔离级别.

TransactionDefinition.ISOLATION_READ_UNCOMMITTED: 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读

TransactionDefinition.ISOLATION_READ_COMMITTED: 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生

TransactionDefinition.ISOLATION_REPEATABLE_READ: 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。

TransactionDefinition.ISOLATION_SERIALIZABLE: 最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。但是这将严重影响程序的性能。通常情况下也不会用到该级别。

相关推荐
量子炒饭大师19 小时前
【一天一个计算机知识】—— 【编程百度】预处理指令
java·开发语言
q***518919 小时前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
任子菲阳19 小时前
学Java第四十四天——Map实现类的源码解析
java·开发语言
听风吟丶19 小时前
Java 11+ HttpClient 实战:从 HttpURLConnection 到现代 HTTP 客户端的全面升级
java·开发语言·http
今晚打老虎19 小时前
c++(斗罗大陆3)
开发语言·c++·斗罗大陆3
月下倩影时20 小时前
视觉学习篇——机器学习模型评价指标
人工智能·学习·机器学习
mywpython20 小时前
Python使用消息队列rabbitmq
开发语言·python·rabbitmq
Felix_XXXXL20 小时前
集成RabbitMQ+MQ常用操作
java·后端
hygge99920 小时前
JVM GC 垃圾回收体系完整讲解
java·开发语言·jvm·经验分享·面试