测试题14(答案详析)

1. SpringMVC的执行流程
Dispatcher->HandlerMapping->HanderAdapter->Handler->ViewResolver->View
2. Integer a= 128 与 Integer b = 128相等吗?

不相等,两个不同的对象

3. Mybatis的一级、二级缓存
  1. 一级缓存
    Mybatis的一级缓存是指Session缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。
    也就是在同一个SqlSession中,执行相同的查询SQL,第一次会去数据库进行查询,并写到缓存中;第二次以后是直接去缓存中取。
    当执行SQL查询中间发生了增删改的操作,MyBatis会把SqlSession的缓存清空。
    一级缓存的范围有SESSION和STATEMENT两种,默认是SESSION,如果不想使用一级缓存,可以把一级缓存的范围指定为STATEMENT,这样每次执行完一个Mapper中的语句后都会将一级缓存清除。
  2. 二级缓存
    Mybatis的二级缓存是指mapper映射文件。二级缓存的作用域是同一个namespace下的mapper映射文件内容,多个SqlSession共享。Mybatis需要手动设置启动二级缓存。
    二级缓存是默认启用的(要生效需要对每个Mapper进行配置),如想取消,则可以通过Mybatis配置文件中的元素下的子元素来指定cacheEnabled为false。
4. 列举工作中常用的几个git命令?
	git init
	git add
	git commit
	git push
	git pull
	git clone
	git checkout
	git branch 分支名称
5. 提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?
  1. 冲突是如何产生的
    我们都知道,Git的实现途径是1棵树。比如有一个节点树(point1),
    我们基于point1进行开发,开发出了结点point2;
    我们基于point1进行开发,开发出了结点point3;
    如果我们在point2和point3内操作了同一类元素,那么势必会导致冲突的存在。
  2. 冲突是如何解决的?
    解决冲突通常使用如下的步骤即可:
    情况1 无冲突
    先拉取远端的代码,更新本地代码。然后提交自己的更新代码即可。
    情况2 有冲突
    拉取远端代码。存在冲突,会报错。
    此时我们需要将本地代码暂存起来 stash;
    更新本地代码,将本地代码版本更新和远端的代码一致即可;
    将暂存的代码合并到更新后的代码后,有冲突解决冲突(需要手动进行解决冲突);
    提交解决冲突后的代码。
6. Git中如果代码出现bug,你们是如何解决的?

开启一个bug分支

7. 项目中常见的分支 有哪些?

master:主分支,对外发布
dev:开发分支
test:测试分支
bug:修复bug分支
feature:特性分支
hotfixes:热线分支

8. String a = “ab”; String b = “a” + “b”; a == b 是否相等,为什么?

相等,string 性能优化
String a =“a”+“b”+“c”+“d”;

9. volatile作用?

a、防止执行指令重排序
b、内存可见性

10. Java 中,Comparator 与Comparable 有什么不同?
  1. Comparable 接口用于定义对象的自然顺序,而 comparator 通常用于定义用户定制的顺序。Comparable 总是只有一个,但是可以有多个 comparator 来定义对象的顺序。
  2. Comparable是在集合内部定义的方法实现的排序,位于java.lang下。
    Comparator是在集合外部实现的排序,位于java.util下。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值