随笔分类 - JAVA
JAVA
摘要:取数据流程 缓存穿透:指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案:最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被 这个bi
阅读全文
摘要:1,hashmap,hashtable,ConcurrentHashMap 考问点1,hashmap的数据结构,其数据结构为数组+链表,把key进过hash算法得到hashcode, 然后hashcode%数组大小,得到数组相应的位置然后存放, 不同的key进过hash和取模可能会得到相同的数组位置
阅读全文
摘要:锁是JAVA多线程关键,也是面试中必问的, 在此好好总结一下。 (先要从进程和线程说起,此处先欠下,回头专门说一下操作系统是怎么管理进程和线程的) 说到多线程就要说说JAVA的内存模型:图片来自于网络。 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中
阅读全文
摘要:CAS是什么? CAS是英文单词CompareAndSwap的缩写,中文意思是:比较并替换。CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。 CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。整个比较并替换的操作是一个原子操
阅读全文

浙公网安备 33010602011771号