网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
标题18、tansaction的注解,传播机制有哪些
标题19、关于数据库。Redies和mysql的事务机制的区别
标题20、怎么设定最大和最小连接数
标题21、关于索引
## 标题22、消息中间件有用到什么kafka和rabbitMQ。消息丢失、消息重复怎么解决
Kafka 在消息处理的顺序性方面有一些机制,但并不保证消息的严格有序性。以下是 Kafka 处理消息顺序性的一些特点:
1、分区内有序性: 在每个分区内,消息是有序存储的。Kafka 保证对于每个分区,消息的写入和消费是按照消息的顺序进行的。这意味着对于同一个分区的消息,它们将按照发送的顺序被消费。这样保证了在单个分区内的消息顺序性。
2、分区间无序性: 在多个分区之间,消息的顺序性不能得到保证。不同分区的消息在 Kafka 集群中是并行处理的,而且 Kafka 也不会跨分区地维护全局有序性。因此,对于多个分区的消息,它们在消费者端接收的顺序可能与发送顺序不一致。
3、消息复制: Kafka 支持多副本复制,每个分区可以有多个副本存储在不同的 Broker 上。在进行消息复制时,Kafka 会保证消息的副本在各个 Broker 上的复制顺序与领导者(Leader)分区中的消息顺序保持一致,从而确保数据的一致性。
1.kafka rabbitmq如何保证消息不丢失
2.如何保证幂等
数据库
1.sql的优化
2.索引
索引B+树的实现
3.连接数
max_connections
4.explains里面的参数都有啥
自动装配原理
beanidfiny
事务的传播机制
单体服务到微服务架构的升级
io流中的设计模式
arraylist的扩容机制
在 Java 中,ArrayList 是基于数组实现的动态数组,当向 ArrayList 中添加元素时,如果当前数组已经满了,就需要进行扩容操作。ArrayList 的扩容机制如下:
初始容量:当创建一个 ArrayList 时,如果没有指定初始容量,则会使用默认的初始容量(一般为 10)。
扩容策略:当添加一个元素时,ArrayList 会先检查当前数组是否已满,如果已满则会进行扩容。ArrayList 会创建一个新的数组,一般是当前容量的 1.5 倍(JDK 8 及之前版本)或者当前容量的 1.5 倍加上 1(JDK 9 及之后的版本)。
数据复制:接着,ArrayList 会将原数组中的元素全部复制到新数组中。
替换引用:最后,新元素被添加到了扩容后的数组中。
这样就完成了 ArrayList 的扩容操作。由于扩容涉及到数据的复制,因此在大量添加元素时可能会导致性能损耗,建议在知道大概元素数量的情况下,通过构造函数指定初始容量以减少扩容次数。
hashmap碰撞的话
拉链法 --使用头插法
hashmap的底层实现
设计模式
jvm调优 默认的垃圾回收器 和G1区别 G1的特点
G1是弱化了分代的思想,使用了分区的region的概念。
非阻塞流的netty使用过么
异步线程
1、项目启动类上添加@EnableAsync注解,表示开启支持异步任务;
2、创建配置线程池,使用@Configuration和@Bean注解交由Spring容器管理;
3、使用@Async注解标记异步任务;
如何实现鉴权的
用户登录成功后,服务器生成一个包含用户信息的JWT Token,并返回给客户端。
客户端在每次请求时将JWT Token包含在请求头中,服务器端验证Token的有效性并提取用户信息。
一个线程A 等待一个线程B结束再进行 如何设置
io流都有哪些
io流主要是字节流 字符流 缓冲流 文件流
以前我常搞混了这几种 记录一下
常见的IO模型主要有五种,分别是同步阻塞IO(Blocking IO)、同步非阻塞IO(Non-blocking IO)、IO多路复用(IO Multiplexing)、信号驱动IO(Signal Driven IO)和异步IO(Asynchronous IO)。
io使用到的设计模式有哪些
io用到的装饰器模式
装饰器模式是给对象本体加功能 而不产生新额对象
代理模式是给根据对象生成一个新的代理对象
Spring中的请求如何到controller上
用户发送请求至前端控制器DispatcherServlet。
- DispatcherServlet收到请求调用HandlerMapping处理器映射器。
- 处理器映射器找到具体的处理器(controller或者handle)(可以根据xml配置、注解进行查找),生成 - 处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
- DispatcherServlet调用HandlerAdapter处理器适配器。
- HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
- Controller执行完成返回ModelAndView。
- HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!