首页 > 图灵资讯 > 技术篇>正文

java 事务面试题 java常见事务面试题

2023-05-17 11:32:54

1.Redis常见的存储数据类型

list(列表类型) set(集合类型) zset(有序集合类型) string(字符串类型) hash(散装类型)

2.log4j级别

debug:最低级别的日志,一般会输出一些操作、代码、异常、错误等。

info:info输出的日志最终可以为用户看到,用户可以理解。

error:输出错误,错误问题大于异常,但错误与异常不同。

warn:记录系统的警告,输出日志。

fatal:fatal输出是一些严重的错误。

 

3.事务的传播行为和隔离等级

传播行为:一般来说,当我们做项目时,我们会在service层设置事务。当我们调用service的方法时,我们会更新数据库。事务的传播行为可以保证事务的一致性和原子性,要么成功,要么失败。

在spring的配置文件中设置事务如下:propagation_required。

propagation_required:若当前事务存在,则加入当前事务,若不存在,则创建事务。(最常用)

propagation_supports:若目前有事务,则加入事务,若不存在,则以非事务的形式执行。

propagation_requires_new:不管目前有没有事务,都会新建一个事务。

propagation_not_supports:以非事务的形式执行,如果目前有事务,则挂起事务。

等等,总共有七个选项。

隔离级别:

读未提交

读已提交

可重复读

可串行化

4.$和#的区别

#比较安全  可防止sql注入  在预编译阶段#{}中的内容将被占位符所取代,只有在进入DBMS(数据库管理)时才会进行分析。

$安全性低  sql注入不可能 ${}在预编译阶段的内容是动态添加的。

5.分布式 框架的锁

6.手写单例(多线程模式下的单例)

7.count(1)与count(*)的区别

分情况讨论:

假如你的表没有主键count(1)比count(*)快,

若有主键列count(1)也比count(*)快,

若表中只有一列那count(*)相对较快,

count(1)列扫描,count(*)是全局扫描。

8.spring boot和spring的区别

9.sorl在哪里用于项目?

10.Redis的使用场景

分布式锁和单线程机制

排行榜

最新列表

位操作

队列

计数器

缓存-热数据

11.Linux的常用命令 杀死进程

上一篇 java 替换文件某一行 java 替换换行符
下一篇 动态表 动态生成sql Java 如何实现动态sql

文章素材均来源于网络,如有侵权,请联系管理员删除。