摘要:
JDK1.8中HashMap的不安全性主要源自 数据覆盖 问题。 注:JDK1.8在进行元素插入时使用的是尾插法。 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] 阅读全文
posted @ 2022-04-06 18:01
piaobodeyun0000
阅读(87)
评论(0)
推荐(0)
摘要:
HashMap 死循环是一个比较常见、比较经典的问题,在日常的面试中出现的频率比较高,所以接下来咱们通过图解的方式,带大家彻底理解死循环的原因。 前置知识 死循环问题发生在 JDK 1.7 版本中,造成这个问题主要是由于 HashMap 自身的运行机制,加上并发操作,从而导致了死循环。在 JDK 1 阅读全文
posted @ 2022-04-06 17:08
piaobodeyun0000
阅读(140)
评论(0)
推荐(0)
摘要:
ArrayList类又称动态数组,同时实现了Collection和List接口,其内部数据结构由数组实现,因此可对容器内元素实现快速随机访问。但因为ArrayList中插入或删除一个元素需要移动其他元素,所以不适合在插入和删除操作频繁的场景下使用。 ArrayList的容量可以随着元素的增加而自动增 阅读全文
posted @ 2022-04-06 16:05
piaobodeyun0000
阅读(36)
评论(0)
推荐(0)
摘要:
前言在日常工作中,我们经常会使用到ElasticSearch,在大数据量亿级别的情况下使用它进行实时检索,速度非常快。但是却不知道它的原理是什么,采用什么方式进行检索。和mysql数据库有什么区别?一直都有困惑 我花了些时间学习了一下。下面是我整理的内容,希望可以对大家有帮助 一、ES为什么查询速度 阅读全文
posted @ 2022-04-02 17:45
piaobodeyun0000
阅读(1049)
评论(0)
推荐(0)
摘要:
1、为什么需要内存淘汰策略我们都知道Redis是一个基于k-v数据库,随着里面键值对的增加,redis内存的使用量也会上升,因此,我们需要对Redis的最大内存使用量进行限制。那么有了Redis的内存容量限制,那么就会有达到这个内存容量限制的时候,这个时候就需要对Redis存储的数据进行清理,释放内 阅读全文
posted @ 2022-04-02 10:58
piaobodeyun0000
阅读(273)
评论(0)
推荐(0)
摘要:
背景 OpenFeign 是 Spring Cloud 家族的一个成员, 它最核心的作用是为 HTTP 形式的 Rest API 提供了非常简洁高效的 RPC 调用方式。 如果说 Spring Cloud 其他成员解决的是系统级别的可用性,扩展性问题, 那么 OpenFeign 解决的则是与开发人员 阅读全文
posted @ 2022-04-01 15:45
piaobodeyun0000
阅读(963)
评论(0)
推荐(0)
摘要:
如果让你设计一个动态配置的功能,你会怎么做?注意是动态配置,不是配置中心。 先在大脑里面考虑3分钟,也许你有答案了。 对的,你肯定想的和下面一样: 上图是需要人工发起通知的动态配置架构,实现很简单。 但我们为什么要人工操作两次呢,可不可以简化到一次? 对于上图只需要稍作调整,就能达到只需要一次修改配 阅读全文
posted @ 2022-04-01 15:28
piaobodeyun0000
阅读(703)
评论(0)
推荐(0)
摘要:
前言 线程池,相信很多人都有用过,没用过相信的也有学习过。但是,线程池的拒绝策略,相信知道的人会少许多。 四种线程池拒绝策略 当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略: ThreadPoolExec 阅读全文
posted @ 2022-04-01 11:28
piaobodeyun0000
阅读(858)
评论(0)
推荐(0)
摘要:
在介绍双亲委派机制的时候,不得不提ClassLoader。说ClassLoader之前,我们得先了解下Java的基本知识。 Java是运行在Java的虚拟机(JVM)中的,但是它是怎么就运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得Clas 阅读全文
posted @ 2022-04-01 10:35
piaobodeyun0000
阅读(157)
评论(0)
推荐(0)
浙公网安备 33010602011771号