- 博客(149)
- 收藏
- 关注

原创 Spring源码剖析--事务篇
文章主要介绍了事务的实现方式,包括JDBC和Spring两种方式。同时,也介绍了事务管理器TransactionManager和事务定义TransactionDefinition等核心概念。文章还通过实验和总结的方式,详细介绍了事务的提交和回滚过程,并阐述了如何使用@Transactional注解实现事务传播行为。最后,文章提炼了事务的实现在于通过TransactionInterceptor注入容器中,并总结了事务传播行为的实现方式。
2023-06-14 23:04:55
915
2
原创 CountDownLatch、CyclicBarrier 和 Semaphore
主要介绍了Java并发编程中三个重要的同步工具:CountDownLatch、CyclicBarrier和Semaphore,它们的原理,使用场景...
2024-05-09 21:38:02
1431
原创 协程:轻量级多线程编程的解决方案
本文全面探讨了协程这一轻量级多线程编程的概念、原理、实现与应用。从概念引入到实际案例分析,文章详细阐述了协程与线程的区别、Kilim协程框架的原理以及如何在实践中运用协程解决并发问题。文章还特别针对在打印文字和推荐算法两个案例中,使用多线程和协程的效率进行了比较,证明了协程在处理高并发场景时的优越性。
2024-04-15 21:02:28
1239
原创 SpringBoot支持哪些日志框架?推荐和默认的日志框架是哪个?
本文详细探讨了Spring Boot所支持的日志框架,包括Logback、Log4j2等,并阐述了这些框架的特点和使用方法。
2024-02-19 20:53:19
3148
原创 BeanUtils和BeanCopier性能复制Bean工具比较
本文对BeanUtils和BeanCopier两种常见的Bean复制工具进行了性能比较。通过实验测试,发现BeanCopier在性能上优于BeanUtils,尤其是在复制大型Bean对象时表现更佳。本文还深入分析了两种工具的原理,并指出了各自的优势和适用场景。
2024-01-28 16:40:07
789
原创 博客文章质量分数列表【分页、排序、搜索】
本文首先分析了官方提供的查询,然后实现前端和后端,详细阐述了实现效果,最后总结了出现安全验证和401 Unauthorized错误的原因。
2024-01-28 16:36:05
1508
原创 在1G的内存中,对百亿个QQ号去重?
在内存有限的情况下,如何对大量数据进行去重是一个具有挑战性的问题。本文将介绍在1G内存中,对百亿个QQ号进行去重的方法。我们将通过公共方法、HashSet、Java8的Stream、Segment、BloomFilter和BitMap等不同方式来实现。这些方法各有优缺点,适用于不同的情况。通过对这些方法的比较和分析,我们可以得出在特定情况下最有效的去重方法。在处理大规模数据时,我们需要考虑内存使用、去重效率和准确性等因素。通过优化数据结构和算法,我们可以提高处理大规模数据的效率,并解决实际应用中的问题。
2024-01-10 22:47:12
1043
原创 BloomFilter和BitMap的介绍与使用
本文介绍了BloomFilter和Bitmap两种数据结构,并对其使用场景进行了概述。同时,也讨论了它们之间的区别。
2024-01-10 22:43:14
1157
原创 类注册到Spring容器,类实现的接口可以获取到该类的bean实例?
主要探讨了Spring框架中Bean的实例化、注册以及依赖注入的相关内容。
2024-01-09 20:51:26
1162
原创 @Async坑:Null return value from advice does not match primitive return type for
主要探讨了@Async方法的特点,包括其不能有返回值、报错原因以及为什么@Async方法的返回值不能是基本类型。然后,文章提供了针对该报错的解决方案。最后,通过拓展部分,讨论了项目中阻塞等待异步方法返回值的常见用法以及异步方法内部调用的其他潜在问题。
2024-01-08 19:44:27
1542
原创 分布式锁实现方案汇总
本文对几种主流的分布式锁实现技术进行了详细的探讨,包括Redis、Zookeeper、Etcd、MySQL,并通过秒杀案例进行应用实践。同时也对一些常见的问题进行了总结。在每种锁的实现中,文章详细介绍了核心代码、单元测试和SpringBoot应用。通过这些技术,可以有效地解决分布式系统中的并发问题,保证数据的一致性和系统的稳定性。
2024-01-08 19:38:30
1339
原创 PostgreSQL表全解
本文概述了数据库中的关键概念,包括约束、触发器、表空间、视图、索引和物化视图。约束用于确保数据的完整性,包括主键、非空、唯一、检查、外键和默认值。触发器用于在数据库操作前、后自动执行特定的操作。表空间是数据库中存储数据的位置。视图是一个虚拟表,基于一个或多个实际表的查询结果。索引用于加快数据检索速度,分为基本概念、分类和创建方式。物化视图是预计算的视图,用于提高复杂查询的性能。这些概念在数据库设计和管理中起着重要作用,帮助提高数据的一致性和完整性,并优化查询性能。
2024-01-02 21:59:03
1488
原创 PostgreSQL数据类型及基本操作
本文将介绍数据库中的数据类型,包括整数、浮点数、字符串、日期、布尔类型、枚举类型、IP类型,以及JSON&JSONB和复合类型等。同时,通过与MySQL的对比,来深入理解这些数据类型的特性和操作方法。最后,本文将通过具体实例演示基本操作,如单引号和双引号的使用、数据类型的转换、数字类型和常见操作、字符串类型、日期类型、布尔类型、枚举类型、IP类型、JSON&JSONB类型、复合类型以及数组类型等。
2023-12-21 12:26:45
3392
原创 PostgreSQL帮助、用户、权限操作
本文介绍了关于操作、用户操作以及权限操作的内容。首先,介绍了如何帮助操作,包括创建角色、修改角色和删除角色等。接着,详细阐述了权限操作的逻辑结构和分层,并通过实战案例来加深理解。
2023-12-21 12:23:32
2956
原创 Tomcat为什么要重写类加载器?
本文详细介绍了Tomcat中的双亲委派机制以及其对Tomcat的隔离性和热替换需求的影响。文章分析了打破双亲委派机制的原因,并深入探讨了Tomcat类加载器的特点和原理。最后,对全文进行了总结,强调了类加载器在Tomcat中的重要性。
2023-12-19 21:09:40
1269
原创 PostgreSQL的安装、配置与使用指南
本文介绍了PostgreSQL的安装、配置和使用。首先,介绍了如何下载和安装PostgreSQL,然后通过简单的验证方法检查其是否安装成功。接下来,详细介绍了如何进行远程连接的配置,包括修改postgresql.conf和pg_hba.conf文件,并重启服务。此外,还介绍了如何配置数据库的日志,以确保数据的可追溯性和问题排查。最后,本文介绍了两个流行的图形化界面工具pgAdmin和Navicat,以方便用户管理和操作PostgreSQL数据库。
2023-12-18 20:53:59
38765
4
原创 SpringBoot集成系列--Caffeine
本文介绍了如何使用Spring缓存、Caffeine缓存以及Caffeine与Redis结合实现二级缓存。首先,介绍了Spring缓存的基本概念和实现方式,然后详细阐述了如何使用Caffeine缓存库进行缓存操作,包括定义配置类和使用方法。最后,介绍了如何通过Caffeine与Redis结合实现二级缓存,并抽取公共代码以方便重用。
2023-12-18 12:45:55
3823
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人