#转眼就是2023了啊,希望明年开春找工作顺利,祝大家新年快乐,发现自己认识自己热爱自己。
#又被大佬闪瞎眼,总结一下我对大佬能力的印象,那就是各种知识都能够融会贯通,理解程度超出一般人,我想了下提升方法无非是及时复习,并且在掌握一门新技术时,一定要多用多用,说起来简单,可是自己却总是偷懒,技术就是用出来的,不要害怕出现问题,保持良好的心态。
1、try-catch的隐藏用法
try、catch、finally详解,你不知道的异常处理 - YanBigFeg - 博客园
1)没有出现异常的情况:
没有走catch,执行顺序是try=>finally=>return【注意此处return出去的是try中的,其他的return不管】
2)出现异常的情况:
try发生了异常,然后没有正常返回,进入到了catch方法块:try=>catch=>finally=>return【注意此处return出去的是catch中的,其他的return不管】
3)没有异常的情况下,在try和finally中对同一个对象进行修改操作
执行顺序是try=>finally=>return
虽然finally方法会被执行但是,返回结果不会被改变,也就是如果finally是在return之后执行的那么他会把返回结果先保存起来,然后不管finally代码执行了什么,都不会影响到返回结果,等finally执行完成在返回结果
2、redis分布式锁
redis比mysql拥有更好的处理同时间大量请求的能力
可以通过将数据存储在redis中来快速响应数据,synchronize只能用于单体的,解决分布式的多进程并发问题
redis的setnx策略
redis锁没有正常释放:加入finally代码块中/为redis锁设置过期时间
如果业务流程比较复杂,程序执行的时间超过了锁失效的时间,则会出现释放锁的代码释放的不是自己的锁,而且其它线程的锁:给每一个锁设置一个唯一value值,在释放锁的时候判断一下释放的锁是否是自己的锁
通过引入reddision解决多进程并发问题
3、Spring切面AOP复习(又忘了。。。想4)
细说Spring——AOP详解(AOP概览)_Jivan2233的博客-CSDN博客_spring aop织入在什么时间完成
面试官:谈谈你对IOC和AOP的理解及AOP四种实现方式_小样5411的博客-CSDN博客_ioc和aop
https://tudan.blog.csdn.net/article/details/114695437?spm=1001.2014.3001.5506
AOP的引入方式主要有两种:xml配置文件(了解)和注解
注解又分为两种方式:批量添加(不用在相关接口上再添加注解,直接在)+自定义
切点+通知增强=切面
注解的格式:
1)@通知类型(execution(需要切面管理的文件地址))
2)@通知类型(value = “@annotation(自定义注解)”)