git命令 仓库管理git合并?merge 改动同一个地方分支冲突怎么解决?

checkout branch 然后 merge

idea choose soures 无效_算法


在idea当中merge之后由于加上了这些符号,文件会报错,这个时候手动修改就好了

题外话:merge 和 rebase的区别是什么?

建议参考
总的来说就是merge是整合另一个分支到本分支上,这会产生一个新的commit提交到远程库(请注意commit只提交与远程端不同的那部分文件数据),分支还是两个分支而且会形成一个环,而rebase是在另一个分支的基础上进行修改,分支变成了一条直线。

你的项目是如何实现权限控制的?

这个。。。好像知道有权限控制框架但是。。没用过,说一下数据库的权限管理吧,grant Select/delete on “主机@用户”

spring注入的几种方式

参考这篇文章
一般来说注入的方式三种setter注入,构造器注入,注解注入(最常用),前两者是在xml文件当中实现的,具有非常强的可读性,后者最方便而且不同逻辑层对应不同的注释。

题外话:setter注入和构造器注入的区别是什么?

setter注入需要实现类实体的set方法,而构造其注入必须要实现构造器方法

说一下bean的生命周期?

首先检查缓存,然后是bean后处理器扫描构造方法构造bean,然后是依赖注入(后处理器接着扫描注入注解),初始化init方法,销毁标记(diposable接口)。

spring当中后台各层次都负责什么逻辑?

有controller (负责控制视图即可),service(负责处理数据逻辑), dao (负责读取数据的操作), mapper

springboot是如何实现自动配置的?

建议参考如下的文章非常有帮助:

总的来说,spring、boot相较于spring的优点在于搭建的时候更加简洁,这都是springboot自动配置为我们提供的方便。
这种自动配置的表面功臣是启动类上方的注解@springbootApplication,但是点进去会有复合注解实现@springbootApplication的功能,其中@EnableAutoconfigration实现了自动配置,再点进去就会发现实际上这是通过@Conditional来加载指定的配置类进入到context环境中的。

说一下锁重入

锁重入是对当前线程而言的,对于不可重入锁显然当前线程想要去获取锁的时候发现该对象已经被上锁而等待,然而上锁的人就是它自己,这样就会造成死锁。
然而对于重入锁,在对象的头部mark word当中会写入当前线程的record ,之后对比record相同那么就放行,这就是可重入锁。