- 博客(11)
- 收藏
- 关注
原创 8. 消息中间件 RabbitMQ Kafka
第三个有可能是在消费者端丢失消息,kafka消费消息都是按照offset进行标记消费的,消费者默认是自动按期提交已经消费的偏移量,默认是每隔5s提交一次,如果出现重平衡的情况,可能会重复消费或丢失数据。如果有这样的需求的话,我们是可以解决的,把消息都存储同一个分区下就行了,有两种方式都可以进行设置,第一个是发送消息时指定分区号,第二个是发送消息时按照相同的业务设置相同的key,因为默认情况下分区也是通过key的hashcode值来选择分区的,hash值如果一样的话,分区肯定也是一样的。
2024-08-12 22:49:19 556
原创 7. Spring Cloud 面试题
OAuth 代表开放授权协议。这允许通过在 HTTP 服务上启用客户端应用程序(例如第三方提供商 Facebook,GitHub 等)来访问资源所有者的资源。因此,您可以在不使用其凭据的情况下与另一个站点共享存储在一个站点上的资源。CAP 也就是 Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性) 这三个单词首字母组合。一致性(Consistence) : 所有节点访问同一份最新的数据副本。
2024-08-12 22:44:57 980
原创 6. Spring框架
控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。Spring IOC 负责创建对象,管理对象(通过依赖注–DI),装配对象,配置对象,并且管理这些对象的整个生命周期。控制反转IoC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:依赖注入和依赖查找。
2024-08-06 22:47:09 976
原创 5.Redis 面试题
缓存穿透缓存的穿透是指当查询一个不存在的数据时,由于缓存中没有该数据,导致查询透过缓存直接查数据库,从而增加数据库的负担。通常解决缓存穿透的方法是对于查询不到的数据也将其缓存起来,并设置一个较短的过期时间。使用布隆过滤器来过滤掉查询不存在数据的请求。缓存穿透缓存击穿是指某个热点数据过期或者被删除,导致大量请求直接绕过缓存访问数据库,导致数据库压力瞬间升高,甚至崩溃。解决缓存击穿的方法是使用互斥锁(Mutex),只允许一个请求进入数据库查询,其他请求等待。
2024-08-03 22:01:15 605
原创 2. Java集合面试题
效率高+空间分布均匀为了能让 HashMap 存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀。我们上面也讲到了过了,Hash 值的范围值-2147483648 到 2147483647,前后加起来大概 40 亿的映射空间,只要哈希函数映射得比较均匀松散,一般应用是很难出现碰撞的。但问题是一个 40 亿长度的数组,内存是放不下的。所以这个散列值是不能直接拿来用的。用之前还要先做对数组的长度取模运算,得到的余数才能用来要存放的位置也就是对应的数组下标。这个数组下标的计算方法是“(n 代表数组长度)。
2024-03-31 20:55:21 660 2
原创 VUE框架
1 概述VUE是一款前端框架,免除了JavaScript中的DOM操作,简化书写在JavaScript中有很多没有逻辑的繁琐的重复操作,如下而VUE改善了这个问题,简化了DOM书写。VUE是基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。之前的操作是将重点放在了DOM书写上。而要了解MVVM思想首先要了解MVC思想C 就是咱们 js 代码,M 就是数据,而 V 是页面上展示的内容,如下图是我们之前写的代码,如下是我们之.
2022-03-12 21:14:52 59562 1
原创 Java集合总结
一 集合框架图所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。 实现类:8个实现类(实线表示),对接口的具体实现。 Collection 接口是一组允许重复的对象。 Set 接口继承 .
2022-01-05 19:43:05 479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人