很久没面试了
一下理论都没回答上几个,反正也记录下,当是一个学习吧。有的是当时没想起来,或者没意识到是这么回事
1、Spring Boot 2特性
1.1、Jdk8+
1.2、Optional广泛应用(感觉源于swift语言,可选对象),1中也有用到,但是需要自己显示调用
1.3、其他由于也是看别人写的内容就不记了,没有涉及到验证过的,写了可能是错误误导
2、Redis缓存穿透
初时没太理解为什么要问这个问题,也以为自己没有遇到过,后面仔细想想,在接口访问这块实际上遇到过。
问题不复杂,解决方式也不难(并不是说所有解决的方式都不难,只是单纯解决不难,实际业务场景可能很难)
大概的原因就是数据库和Redis中都没有数据,而redis不缓存null。导致每一次请求,都会耗费大量资源(通常会做缓存的,也是每次执行时间较长的,或者访问频率很高的)
1、最简单的做法就是,一定不会返回null
2、还有一种做法是限定获取新数据的时间,比如十分钟内不会执行访问数据库
3、Java线程池种类
4、支付网络抖动
5、Java8特性
6、HashMap在Java8的差别
原文:https://www.cnblogs.com/gabin/p/13272854.html