Java面试题
2021-04-22 18:29
标签:move bool iterator rop tor 发送 font 实现 就是 1) ArrayList是数组的数据结构,LinkedList是双向链表的数据结构. 2) ArrayList在访问数组的下标时效率比较高,在新增和删除时因为会对操作点之后的数据下标造成影响,所以效率比较低, 3) LinkedList因为是链表的结构,所以在访问下标时先判断当前下标大于或小于链表长度的二分之一,然后从前或后依次查找.效率比较低,,,LinkedList的元素是上一个指向下一个的,所以插入数据或删除数据可以直接增删,不会对其他元素造成影响,所以增删效率高. ConcurrentHashMap相当于一个加了锁的HashTable.但是与HashTable不同的是它的锁并不是加在整个table上的,HashMap的结构是 数组加链表加红黑树, 锁是在数组上分段 加的,所以在安全的情况下效率也很高. (1).缓存穿透是由于客户端发送大量的请求去请求一个并不存在的数据,这样,并不会走缓存,所以大量请求全部指向到数据库,就会造成缓存击穿, 解决方案有两种:一种使用缓存空值,查询不存在的key的时候直接返回null值,并做缓存,下次直接从缓存中获取,坏处是会缓存大量无用的key. 另外一种是使用boolean过滤器, (2).缓存雪崩是由于同一时间大量缓存失效,大量请求去请求数据库,数据库扛不住就会发生雪崩, 解决方案:使用缓存集群,提高可用性.或者做缓存持久化,尽快恢复缓存,或者设置缓存的随机失效时间. 如果性别字段的值即男,女或者0,1分布均匀则不应该建立索引,如果分布不均,查询数量较少的数据时,索引能提高效率. Rebase是把当前分支放在最后面, Merge会把分支和当前commit的合并在一起,形成一个新的commit提交. Eureka运行期间,如果心跳失败比例在15分钟内地狱85%,就会将当前实例注册信息保护起来, 实现了cap中的ap.即一致性,分区容错性 Like搜索时只有 “%”不在第一位的时候才会走索引. 使用Iterator迭代器遍历时调用iterator.remove();方法删除元素,不要调用list.remove 如果拷贝之后,被拷贝的对象发生变化,拷贝的也跟着发生了变化,就是浅拷贝,如果没有发生变化,就是深拷贝. Java面试题 标签:move bool iterator rop tor 发送 font 实现 就是 原文地址:https://www.cnblogs.com/zjpnotsleep/p/13274445.html