byte short int long float double char boolean
ArrayList
最大容量为Integer.MAX_VALUE - 8 2^31 - 8 21亿多
SocketIO编程用过吗,介绍一下。(不会)
项目中的ThreadLocal用作获取登录后用户的信息。它首先就是实现put get remove 三个方法,在用户登录后
放进ThreadLocal中,需要的时候get,get完进行remove。
如果不进行remove会造成内存泄露
内存泄露:之后都不用的东西一直留在内存中。
新建、就绪、运行、等待、销毁
…
访问权限问题,比如private,
方法用final修饰
没有被spring管理
方法内部调用
表不支持事务
没有开启事务
多线程调用
自己吞了异常
手动抛出了别的异常
自定义了回滚异常
…
就跟MyBatisPlus的官网首页所说,他们的关系就是魂斗罗中的小红和小蓝,基友搭配,效率翻倍!
区别的话MP提供了很多的额外插件,比如说分页插件,代码生成器等等,还内置了很多基本的增删改查方法
使用条件构造器也可以准确快速的构建sql
但是MP不支持多表查询,还是需要写MyBatis源生的mapper来进行操作!
redis使用的过期键值删除策略是:惰性删除加上定期删除,两者配合使用。
惰性删除是指,某个键值过期后,此键值不会马上被删除,而是等到下次被使用的时候,才会被检查到过期
此时才能得到删除。
定时删除是:每隔一段时间执行一次删除操作,并通过限制删除操作执行的时长和频率,来减少删除操作对cpu的影响
Dubbo用过吗。(不会)
RabbitMQ用过吗。怎么确保消息可靠性。(还没复习到,随口说的,很心虚)
MyISAM和InnoDB的区别
InnoDB支持事务,MyISAM不支持
InnoDB支持聚集索引,MyISAM支持非聚集索引
InnoDB是行锁,MyISAM是表锁,粒度大,并发情况下效率低
每一列都用索引的话那还要索引干啥???!!!
可能是操作不当。
不过大多数是引擎认为不走索引效率更高,导致索引失效
1、通过慢查日志等定位那些执行效率较低的SQL语句
2、explain 分析SQL的执行计划
3、show profile 分析
4、trace
5、确定问题并采用相应的措施
避免一些使索引失效的操作…
使用最左匹配
覆盖索引查询覆盖到的字段
避免使用select *
避免使用not in not exsits
避免查询使用函数、计算
避免where中使用or
避免模糊查询的时候使用左边设置%