- 博客(17)
- 收藏
- 关注
原创 【Java笔记】如何在不依赖于Mq的形式下更优雅地实现异步任务处理!!!
RabbitMQ 的 ACK 模式是指消息确认机制,即消费者消费消息后需要向 RabbitMQ 服务器发送一个 ACK(acknowledgement)信号来告诉服务器该消息已经被处理。
2024-02-04 14:31:57
1661
1
原创 【Java】Spring 声明式事务失效情况(天翼通讯)
记住:Spring事务就像马戏团导演,必须让他在正确的时间、正确的地点、看到正确的事情,才能有效管理整个表演!
2025-10-11 17:25:34
976
1
原创 【Java】HashMap,为啥Key可以为null(融360)
摘要:HashMap与ConcurrentHashMap的设计差异体现了个人与团队协作场景的不同需求。HashMap允许null键值,适合单线程环境,开发者可自行处理语义;而ConcurrentHashMap禁止null,遵循早期失败 (Fail-Fast) 原,确保多线程下的数据一致性。
2025-10-10 17:28:56
637
原创 【Java】对象为啥要用hashCode方法 (数智边界科技)
哈希码(hashCode)与equals方法的关系可以类比图书馆索书系统:哈希码相当于索书号,用于快速定位数据位置;equals方法则用于最终确认对象是否相同。二者的配合使用能极大提升查找效率:先用哈希码快速缩小范围(O(1)复杂度),再用equals精确比较。关键契约是:若两个对象equals为true,其哈希码必须相同,否则会导致哈希表查找失败。示例显示,仅重写equals而忽略哈希码会导致HashMap无法正确检索数据。因此,在使用哈希集合时,必须同时正确重写hashCode和equals方法
2025-10-09 16:22:37
705
原创 什么是RAG?
RAG 是 "Retrieval-Augmented Generation" 的缩写,这是一种结合信息检索和生成模型的自然语言处理技术。RAG 模型通常用于提高生成模型在特定任务(如问答、对话生成等)中的性能。
2025-04-01 16:25:45
479
原创 OPENAI-提示工程
一:Prompt的构成指令:想要模型执行的特定任务或指令上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应输入数据:用户输入的内容或问题输出指示:指定输出的类型或格式
2025-04-01 16:16:10
1330
原创 【MySQL】 exist 与in 的区别
in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了 ,另外IN时不对NULL进行处理。一直以来认为exists比in效率高的说法是不准确的。
2024-09-04 16:25:18
592
1
原创 【数据安全】 脱敏
结合Spring Boot 自定义注解的功能结合第三方库(Hutool)脱敏库 的方式,实现数据脱敏处理,通过这种方式可以使脱敏逻辑与业务逻辑进行分离,对代码的编写和维护工作有较大的提升,对不同业务处理提供良好的后续扩展。
2024-09-04 15:08:57
1948
原创 【Java】阿里规范-线程池创建
核心线程:必须大于0,一直存在的线程,不会被关闭最大线程:一般设置大于或者等于核心线程,不能小于核心线程,最大线程数=核心线程数+普通线程数,普通线程数在等待时间满后会自动关闭,节省开销处理时间:每个线程处理任务的最大时间,普通线程超过该时间会shutDown时间单位:处理时间的单位,一般设置为秒阻塞队列:选择缓存队列的方式,未处理的任务会在阻塞队列里面等待线程执行线程:使用线程工程创建线程,可以命名,方便运行区分线程属于哪个线程池的。
2024-04-17 10:02:41
2080
原创 【RabbitMQ】RabbitMQ构架
可以看出Publisher和Consumer都是单独和RabbitMQ服务中某一个Virtual Host建立Connection的客户端。一个Virtual Host中可以有多个Exchange和Queue,Exchange可以同时绑定多个Queue。后续通过Connection可以构建Channel通道,用来发布、接收消息。
2024-04-16 11:07:39
272
原创 【Spring】监听事件
在Spring构建的应用程序中,适当使用spring事件发布与监听的机制可以使我们的代码灵活度高,降低耦合性。Spring 提供了完整的事件发布与监听模型。sprjng借助于 org.springframewofk.context.event.ApplicationEvent抽象类及其子类实现事件的发布,与此同时,借助于 org.springframework.context.ApplicationListener接口及其实现者实现事件的监听,这两者构成了观察者 ( observer) 模式。
2024-04-16 08:00:00
1208
1
原创 【SpringMVC】SpringMVC拦截器
1.编写配置类。2.实现WebMvcConfigurer接口3.重写addInterceptors(InterceptorRegistry registry) 方法4.声明类注解为配置类:@Configuration5.编写拦截器6.在配置类中写入拦截器。在 Spring MVC 中,可以通过配置文件或者 Java 代码来注册拦截器。我们创建了一个名为 WebMvcConfig 的配置类,并实现了 WebMvcConfigurer 接口。
2024-04-15 17:30:00
513
1
原创 【RabbitMQ】RabbitMQ入门
服务调用:两个服务调用时,我们可以通过传统的HTTP方式,让服务A直接去调用服务B的接口,但是这种方式是同步的方式,虽然可以采用SpringBoot提供的@Async注解实现异步调用,但是这种方式无法确保请求一定回访问到服务B的接口。那如何保证服务A的请求信息一定能送达到服务B去完成一些业务操作呢?| 如何实现异步调用。
2024-04-15 10:32:38
564
1
原创 Mybatis
1.什么是mybatis半自动ORM持久层框架,有较高的sql灵活性,支持高级映射(一对一,一对多),支持动态SQL语句,延迟加载和缓存,但它的数据库无关性较低。2.什么是ORMORM(Object Relation Mapping),对象关系映射。对象指的是Java对象,关系指的是关系对象模型,对象关系映射指的是Java对象与数据库的关系模型建立对映关系,一个Java类对映数据库一张表,一个Java对象对映数据库表中的一行数据。3.Mybatis与Heibernate的区别Mybati
2021-10-31 15:26:28
165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅