一、Tomcat中为什么要使用自定义类加载器
Tomcat中可以放多个Java项目的jar文件,如果每个jar文件中都有一个User的类,那么User类在没有自定义类加载器的情况下是只能加载一次;想要加载多次,只能自定义类加载器
二、JDK、JRE、JVM之间的区别
JDK:
JRE:
JVM:
三、hashCode()与equals()之间的关系
比较两个类是否相等
四、String、StringBuffer、StringBuilder的区别
String:string s="4";s=5; 其实4还在
StringBuffer:线程安全
StringBuilder:
五、泛型中extends和super的区别
六、
==:比较引用地址
字符串equals:先比较引用地址,再比较内容
object对象equals:和字符串的equals不是同一个方法
七、
重载:1、和返回值无关
重写:
7. List和Set的区别
iterator
8、new String("abc")到底创建了几个对象
- 如果'abc'这个字诗串常量不存在,则创建两个对象,分别是'abc'这个字诗串常量,以及'new String'这个实例对象
- 如果'abc'这个字符串常量存在,则只会创建一个对象
9、Redis的缓存穿透、缓存击穿和缓存雪崩_redis 缓存穿透,雪崩-CSDN博客
10、mybatis中#{}和${}的区别
11、Java加锁为什么会导致性能下降
12、事务
Spring事务的实现方式和实现原理
Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,Spring是无法提供事务功能的。Spring事务实现主要有两种方法:编程式:beginTransaction()、commit()、rollback()等事务管理相关的方法,声明式:利用注解Transactional 或者aop配置
谈谈你对事务的理解?
当Java中一个方法内有多次对数据库的增删改查等操作,并且这些操作之间有一些关联关系,如果方法执行一半出问题报错,后面的操作将不会执行,造成数据异常,但是使用了事务以后可以如果中途执行失败,可以回退到方法执行之前,保证数据不出问题。
事务的隔离级别?
注:事务的隔离级别越高,性能越低,需在两者间选其一
什么情况下事务会失效?
@Transactional放在非public修饰的方法上
如使用mysql且引擎是MyISAM,则事务会不起作用,原因是MyISAM不支持事务,可以改成InnoDB引擎
在同一个类中,在没有加事务的方法中调用带事务的方法,事务会失效。