<--个人成长笔记系列-->知识点解析之HashMap(一)
JAVA知识点:
(掌握)ArrayList和LikendList:
---问题1 ---:新增数据时,ArrayList是指定长度 新增速度快,还是不指定长度时,新增快?
ArrayList 的默认容量为10,ArrayList 会有自动扩容机制,扩容时,会复制原有数组内容到扩容后的数组
---问题2 ---:顺序读取时,ArrayList和LikendList哪个快,为什么?
ArrayList 是连续的,LikendList是指向关系(非连续的)
(了解)计算机的内部读取速度排名:CPU缓存行 > 内存 > 硬盘
(掌握)HashMap:
---问题 ---:为什么hashmap会形成“环形链表”?主要是因为HashMap是非线程安全的,此问题在JDK1.8后得到解决 ->扩容机制的变化和加入红黑树
MySQL知识点:
(掌握)需求:将20分钟前到期的数据置为无效
---SQL语句 ---:UPDATE acc_sys_t_anc SET effctFlg = '0' WHERE begTm> (select SUBDATE(now(),interval 20 minute) as currentBefore);
顺便记录一下取其他时间的方法:
#取前一分钟的时间:
select SUBDATE(now(),interval 1 minute);
#取前一小时的时间:
select SUBDATE(now(),interval 1 hour);
#取前一天的时间:
select SUBDATE(now(),interval 1 day);
#取后一分钟的时间:
select ADDDATE(now(),interval 1 minute);
取后一小时的时间:
select ADDDATE(now(),interval 1 hour);
#取当前时间:
select current_timestamp;
#或者
select now();
#取当前时间的前一分钟:
select SUBDATE(now(),interval 60 second);
#取当前时间的下一分钟:
select ADDDATE(now(),interval 60 second);
通过变化上面的单位。可以取前后 分钟,小时,天的时间