Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

说白了 HashMap 底层就是一个数组,然后组合了链表和红黑树 怎么寻址当你存一个 Key-Value 的时候会计算出 key 的 hashcode,然后用哈希计算公式keyhashcode % (table.length - 1) 算出需要存放的位置 处理哈希冲突按照上面说的寻址我们会发现,有概率两个元素用公式算出来的结果是一样的,这就是我们常说的哈希冲突,HashMap 里也设定好了解...

PromptUserPrompt23年 OpenAI 刚发布 ChatGPT 的时候,AI看起来还是一个聊天框,我们通过聊天框发送的消息,然后AI模型生成一个回复,我们发的信息就叫用户提示词(UserPrompt)。 SystemPrompt但是现实生活中,问每个人同一句话都可能得到不同的回复。比如我说:我饿了;爷爷奶奶可能会说:要不要煮点东西给你吃;朋友会说:别饿;女朋友会说:滚一边去,我...

什么是循环依赖现在我们有两个类 ClassA 与 ClassB,但他们互相引用,直接或间接依赖对方,例如例如A类里有B的对象,B类中又有A的对象 public class ClassA { private ClassB classB; // 构造方法、getter 和 setter 等 } public class ClassB { p...

模拟场景假如现在我需要维护两个服务A和B,B服务每秒能处理100个消息,但A服务每秒能发两百个消息 结果我们也能想到,B服务非常容器就爆炸了,聪明的我一定能想到,我在B里面加一个队列来存放A发来的消息,用offset偏移量来记录消息的位置,B服务看能力来处理消息,不断更新offset值 但这又产生了一个新问题,来不及处理的消息放在内存里,如果在服务B里面的消息没有处理完的情况下B服务关机或者...

主从复制本质上就是从一台服务器master上的数据拷贝到另一台服务器slave上,数据的复制是单向的,只能由主节点到从节点,redis里提供了全量复制和增量复制两种方法: 全量复制:一般用于slave新构建的时候,slave会向master发送全量复制请求,然后master会拷贝当前数据快照给slave,slave丢弃旧的数据来加载新的数据,但需要注意redis并没有采用强一致性,所以会出...

ArrayList基于动态数组实现的非线程安全的集合;LinkedList基于链表实现的非线程安全的集合。 对于随机index访问的get和set方法,一般ArrayList的速度要优于LinkedList。因为ArrayList直接通过数组下标直接找到元素;LinkedList要移动指针遍历每个元素直到找到为止。 新增和删除元素,一般LinkedList的速度要优于ArrayList...

首先,kafka的块上会储存offset标记,kafka消费者通过offset标记来维护已经消费的数据,消费者每消费完一批数据时会更新offset值,来避免重复消费问题。 默认情况,消费完以后会自动提交offset值避免重复消费,Kafka消费端自动提交的逻辑中默认了5秒的间隔,所以在consumer的消费过程中,如果5秒内被强行kill了或者宕机导致offset没有提交,会导致重复消费问题...

SpringMVC 是属于Spring Framework生态里面的一个模块,是在servlet的基础上构建并且使用了MVC模式涉及的web框架,目的是为了去简化传统的servlet+JSP模式下的web开发方式。其次Spring MVC的架构设计是对Javaweb里面的mvc框架模式做了一些增强和扩展,主要体现在几个方面 : 把传统MVC框架里面的Controller控制器做了拆分,分为...

**Java分配对象的过程以及新生代和老年代划分的目的 创建一个新的对象实例时,jvm首先会在堆内存分配内存空间,大部分情况下,新对象都会分配到新生代的Eden区,新生代有三个区,一个Eden区和两个survivor区,当Eden区满了以后会进行Minor GC(新生代GC,是指新生代的垃圾收集,一般Eden区满了就执行,非常频繁,回收速度快),在GC的过程中存活的对象会在两个survivo...

四阶段分别为:服务构建、环境准备、容器创建和填充容器 服务构建 首先把传入的资源加载器、主方法类记录到内存中,然后逐一判断对应的服务类是否存在来确定web服务的类型 默认是基于servlet的web服务,如tomcat,还有响应式非阻塞服务reactive,如spring-webflux,还有什么都不是的none 确定完选择哪个web服务后就是加载初始化类了,会去读取META-INF&...