知识分享
文章平均质量分 60
架构师三狼
努力 奋斗 加油!
展开
-
MyBatis传参的时候 # 和 $ 有何区别,哪个可以防注入,防注入的原理是啥?jdbc是如何防sql注入的
MyBatis传参的时候 # 和 $ 有何区别1)#方式能够很大程度防止sql注入,Mybatis会把这个参数认为是一个字符串,直接转为字符串。2)$ 方式一般用于传入数据库对象,例如传入表名、字段名,$方式的参数会直接参与SQL编译,从而不能避免注入攻击,无法防止 Sql注入 。3)从安全性上考虑,能使用#尽量使用#来传参,因为这样可以有效防止SQL注入的问题。使用 # 引用参数的时候,例如传入参数是param=“WeBank”,那么在SQL(Select * from tmp where name原创 2021-03-02 19:07:09 · 511 阅读 · 0 评论 -
面试专题:微众面试复盘
今天参加了微众的面试,时间越长越紧张,源码细节,代码的系列不扎实的问题就逐渐暴露出来了,趁着没忘,先记下,后续补充答案,面试题无序面试时长:63分钟cpu突然彪高到100%怎么处理?我答:使用top命令查看占用比例最大的进程,用jstack查看具体的内容,jmap查看对象信息参考答案:如何做T-1天的数据表备份我答:使用分区按时分秒,面试官说不对,我说使用临时表?面试官提示用分页,然后紧接着问分页越往后越慢怎么处理?参考答案:可以使用分页,越往后面用子查询。待补充编程式 jdbc创建的事务原创 2021-03-01 22:39:24 · 370 阅读 · 0 评论 -
面试专题:Spring框架中使用了哪些设计模式及应用场景
当前问题主要考察开发人员是否阅读过Spring源码,如果没有读过源码的话,可能只是听说过,现在将所有设计模式用在哪些地方和使用场景整理如下:简单工厂:有一个工厂类根据传入的参数,动态决定应该创建哪一个产品类Spring中的BeanFactory 就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。工厂方法:定义一个用于创建对象的接口,让子类绝对实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。实现了F原创 2021-02-27 21:13:39 · 1331 阅读 · 0 评论 -
面试专题:描述一下Spring Bean的生命周期
Spring Bean的生命周期是Spring中面试频率相当高的面试题,如果了解bean的生命周期对于Spring的扩展和运行流程可以掌握的很好,这个问题主要考察开发人员对执行的流程和以及有哪些扩展点,对我们写代码也会有很多帮助。个人整理归纳答案如下解析类得到BeanDefintion如果有当前类有多个构造方法,则要推断构造方法确定好构造方法后,进行实例化得到一个对象对对象中的加了@Autowired (@Inject @Resource等)注解的属性进行属性填充回调Aware方法,比如Bean原创 2021-02-27 20:07:25 · 1092 阅读 · 0 评论 -
Idea设置护眼色
目录背景身为程序猿头秃就算了,眼睛不能瞎,所以我要把工具调整为护眼色操作流程1、进入IDEA首页面,打开IDEA Settings,快捷键CTRL+ALT+S依次点击Editor >> Color Scheme >> General 。个人喜欢IDEA的自带的Scheme Light,也可以在网上下载一些idea的好看主题。选择好主题后,在选择Text >> Default Text,修改Background为R199 G237 B204,也可以直接输入C7E原创 2021-01-14 09:36:33 · 359 阅读 · 1 评论