最新文章
-
MQ 有哪些使用场景
参考答案 MQ 的使用场景: 异步处理:用户注册后,发送注册邮件和注册短信。用户注册完成后,提交任务到 MQ,发送模块并行获取 MQ 中的任务。 系统解耦:比如用注册完成,再加一个发送微信通知。只需要新增发送微信消息模块,从 MQ 中读取任务,发送消息即可。无需改动注册模块的代码,这样注册模块与发送模块通过 MQ 解耦。 流量削峰:秒杀和抢购等场景经常使用 MQ 进行流量削峰。活动开始时流量暴增,…... -
说一下Spring 的事务隔离,以及默认值
参考答案 Spring 有五大隔离级别,默认值为 ISOLATION_DEFAULT(使用数据库的设置),其他四个隔离级别和数据库的隔离级别一致: Spring的五大隔离级别: 1. ISOLATION_DEFAULT 用底层数据库的设置隔离级别,数据库设置什么,我就用什么。 2. ISOLATION_READ_UNCOMMITTED 未提交读。 最低隔离级别、事务未提交前,就可被其他事务读取…... -
Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id是否可以重复
参考答案 不同的Xml映射文件: 如果配置了namespace,id可以重复。 如果没有配置namespace,id不能重复。 原因: namespace+id是作为Map的key使用的,如果没有namespace,就剩下id,那么,id重复会导致数据互相覆盖。 有了namespace,自然id就可以重复,namespace不同,namespace+id自然也就不同。 备注: 在旧版本的Mybat…... -
MyBatis 实现一对多有几种方式,具体怎么操作
参考答案 MyBatis实现一对多有两种方式: 联合查询 嵌套查询 MyBatis实现一对多的操作: 联合查询是几个表联合查询,只查询一次,通过在resultMap里面配置collection节点配置一对多的类就可以完成。 嵌套查询是先查一个表,根据这个表里面的结果的外键id,去再另外一个表里面查询数据,也是通过配置collection,但另外一个表的查询通过select节点配置。 …... -
MySQL有哪些事务隔离级别
参考答案 MySQL的4个事务隔离级别: 1. READ-UNCOMMITTED(读取未提交) 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。 2. READ-COMMITTED(读取已提交) 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。 3. REPEATABLE-READ(可重复读) 对同一字段的多次读取结果都是一致的,…... -
Kafka 可以脱离 Zookeeper 单独使用吗,为什么
参考答案 Kafka 不能脱离 Zookeeper 单独使用,因为 Kafka 使用 Zookeeper 管理和协调 Kafka 的节点服务器。 Zookeeper 是一个分布式的协调组件,早期版本的 Kafka 用Zookeeper 做meta信息存储,consumer的消费状态,group的管理以及 offset的值。 考虑到 Zookeeper 本身的一些因素,以及整个架构较大概率存在单点问…...