摘要:
ArrayList类又称动态数组,同时实现了Collection和List接口,其内部数据结构由数组实现,因此可对容器内元素实现快速随机访问。但因为ArrayList中插入或删除一个元素需要移动其他元素,所以不适合在插入和删除操作频繁的场景下使用。 ArrayList的容量可以随着元素的增加而自动增 阅读全文
摘要:
前言在日常工作中,我们经常会使用到ElasticSearch,在大数据量亿级别的情况下使用它进行实时检索,速度非常快。但是却不知道它的原理是什么,采用什么方式进行检索。和mysql数据库有什么区别?一直都有困惑 我花了些时间学习了一下。下面是我整理的内容,希望可以对大家有帮助 一、ES为什么查询速度 阅读全文
摘要:
1、为什么需要内存淘汰策略我们都知道Redis是一个基于k-v数据库,随着里面键值对的增加,redis内存的使用量也会上升,因此,我们需要对Redis的最大内存使用量进行限制。那么有了Redis的内存容量限制,那么就会有达到这个内存容量限制的时候,这个时候就需要对Redis存储的数据进行清理,释放内 阅读全文
摘要:
背景 OpenFeign 是 Spring Cloud 家族的一个成员, 它最核心的作用是为 HTTP 形式的 Rest API 提供了非常简洁高效的 RPC 调用方式。 如果说 Spring Cloud 其他成员解决的是系统级别的可用性,扩展性问题, 那么 OpenFeign 解决的则是与开发人员 阅读全文
摘要:
如果让你设计一个动态配置的功能,你会怎么做?注意是动态配置,不是配置中心。 先在大脑里面考虑3分钟,也许你有答案了。 对的,你肯定想的和下面一样: 上图是需要人工发起通知的动态配置架构,实现很简单。 但我们为什么要人工操作两次呢,可不可以简化到一次? 对于上图只需要稍作调整,就能达到只需要一次修改配 阅读全文
摘要:
前言 线程池,相信很多人都有用过,没用过相信的也有学习过。但是,线程池的拒绝策略,相信知道的人会少许多。 四种线程池拒绝策略 当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略: ThreadPoolExec 阅读全文
摘要:
在介绍双亲委派机制的时候,不得不提ClassLoader。说ClassLoader之前,我们得先了解下Java的基本知识。 Java是运行在Java的虚拟机(JVM)中的,但是它是怎么就运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得Clas 阅读全文