avatar

Java面试题10

1.#{}和${}的区别是什么?

1
2
3
4
1.#{}是预编译处理,${}是字符串替换
2.Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值
3.Mybatis在处理${}时,就是把${}替换成变量的值
4.使用#{}可以有效的防止SQL注入,提高系统安全性

2.事务的7种传播级别

1
2
3
4
5
6
7
1.PROPAGATION_REQUIRED
2.PROPAGATION_SUPPORTS
3.PROPAGATION_MANDATORY
4.PROPAGATION_REQUIRES_NEW
5.PROPAGATION_NOT_SUPPORTED
6.PROPAGATION_NEVER
7.PROPAGATION_NESTED

3.数据隔离级别

1
2
3
4
1.Serializable
2.REPEATABLE READ
3.READ COMMITTED
4.Read Uncommitted

4.什么是SpringMVC?

1
一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架

5.什么是多态?

1
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果

6.设计模式有哪些?

设计模式

7.什么是设计模式?

1
是解决软件开发某些特定问题而提出的一些解决方案也可以理解成解决问题的一些思路。通过设计模式可以帮助我们增强代码的可重用性、可扩充性、 可维护性、灵活性好。我们使用设计模式最终的目的是实现代码的高内聚和低耦合

8.什么是工厂模式?

1
工厂模式是用来创建对象的一种最常用的设计模式.我们不暴露创建对象的具体逻辑,而是将逻辑封装在一个函数中,那么这个函数就可以被视为一个工厂

9.什么是抽象工厂模式?

1
抽象工厂是所有形态的工厂模式中最为抽象和最具一般性的一种形态.抽象工厂是指当有多个抽象角色时使用的一种工厂模式.抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象

10.什么是MVC模式?

1
M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.其中,View的定义比较清晰,就是用户界面
文章作者: 123
文章链接: https://gao5805123.github.io/123/2021/04/14/Java%E9%9D%A2%E8%AF%95%E9%A2%9810/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 123
打赏
  • 微信
    微信
  • 支付宝
    支付宝