SpringForAll社区
首页
文档
Spring Boot 3.5.x
Spring Boot 3.4.x
Spring AI 1.0.x
教程
Java 新特性
Spring Boot 1
Spring Boot 2
Spring Cloud
玩转 IntelliJ IDEA
工具
Spring Initializr
文章发布工具
开发者安装大全
关于
登录
菜单
首页
文档
Spring Boot 3.5.x
Spring Boot 3.4.x
Spring AI 1.0.x
教程
Java 新特性
Spring Boot 1
Spring Boot 2
Spring Cloud
玩转 IntelliJ IDEA
工具
Spring Initializr
文章发布工具
开发者安装大全
关于
归档
2023 年 09 月
基于代价的慢查询优化建议
2023-09-13
架构运维
1 背景 慢查询是指数据库中查询时间超过指定阈值(美团设置为100ms)的SQL,它是数据库的性能杀手,也是业务优化数据库访问的重要抓手。随着美团业务的高速增长,日均慢查询量已经过亿条,此前因慢查询导致的故障约占数据库故障总数的10%以上,而且高级别的故障呈日益增长趋势。因此,对慢查询的优化已经变得刻不容缓。…
如何使用Spring Retry减少1000 行代码
2023-09-12
Spring
#java
#spring
问题介绍 在我的日常工作中,我主要负责开发一个庞大的金融应用程序。当客户发送请求时,我们使用他们的用户 ID…
Mybatis一级缓存
2023-09-12
Java
#java
Mybatis一级缓存的配置方式: <setting name="localCacheScope" value="SESSION"/> value有两个值可选: session:缓存对一次会话中所有的执行语句有效,也就是SqlSession级别的。 statement:缓存只对当前执行的这一个Statement有效。 BaseExecutor…
【Spring】事务的执行原理(三)
2023-09-11
Spring
#java
#spring
事务的回滚 如果获取事务属性不为空,并且抛出的异常是RuntimeException或者Error类型,调用事务管理器中的rollback方法进行回滚 如果事务属性为空或者抛出的异常不是RuntimeException,也不是Error,将继续提交事务 public abstract class TransactionAspectSupport…
【Spring】事务的执行原理(二)
2023-09-11
Spring
#java
#spring
前置知识 事务的执行步骤如下: 获取事务管理器 创建事务 执行目标方法 捕捉异常,如果出现异常进行回滚 提交事务 public abstract class TransactionAspectSupport implements BeanFactoryAware, InitializingBean { @Nullable protected Object…
带你了解 Java 8 Stream:掌握流处理中的收集器技巧
2023-09-11
Java
#java
Java 8 引入的 Stream 极大地简化了集合数据的处理,提供了一种现代、函数式的方式来处理数据。然而,在处理流时,我们经常需要将流的结果汇总到集合中或者进行各种统计计算。这就是收集器(Collectors)发挥作用的地方。本文将深入探讨 Java 8 Stream 中的收集器,介绍收集器的各种用法和技巧,帮助你更好地利用收集器处理数据。…
【Spring】事务的执行原理(一)
2023-09-11
Spring
#java
#spring
在使用事务的时候需要添加@EnableTransactionManagement注解来开启事务,那么就从@EnableTransactionManagement入手查看一下事务的执行原理。 @EnableTransactionManagement Spring事务底层是通过AOP来完成的,而Spring AOP基于动态代理实现…
如何通过三级缓存解决 Spring 循环依赖
2023-09-11
Spring
#java
#spring
以下内容基于 Spring6.0.4。 这个其实是一个特别高频的面试题,也一直很想和大家仔细来聊一聊这个话题,网上关于这块的文章很多,但是我一直觉得要把这个问题讲清楚还有点难度,今天我来试一试,看能不能和小伙伴们把这个问题梳理清楚。 1. 循环依赖 1.1 什么是循环依赖 首先,什么是循环依赖?这个其实好理解,就是两个 Bean 互相依赖,类似下面这样:…
聊聊MyBatis缓存机制
2023-09-11
Java
#java
前言 MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。…
Java 21 新特性:String Templates
2023-09-10
Java
#java
在日常写Java的时候,对于字符串的操作是非常普遍的,其中最常见的就是对字符串的组织。也因为这个操作非常普遍,所以诞生了很多方案,总下来大概有这么几种: 使用 + 拼接 使用 StringBuffer 和 SpringBuilder String::format and String::formatted 使用…
上一页
1 / 174
2 / 174
3 / 174
4 / 174
5 / 174
6 / 174
7 / 174
8 / 174
9 / 174
10 / 174
11 / 174
12 / 174
13 / 174
14 / 174
15 / 174
16 / 174
17 / 174
18 / 174
19 / 174
20 / 174
21 / 174
22 / 174
23 / 174
24 / 174
25 / 174
26 / 174
27 / 174
28 / 174
29 / 174
30 / 174
31 / 174
32 / 174
33 / 174
34 / 174
35 / 174
36 / 174
37 / 174
38 / 174
39 / 174
40 / 174
41 / 174
42 / 174
43 / 174
44 / 174
45 / 174
46 / 174
47 / 174
48 / 174
49 / 174
50 / 174
51 / 174
52 / 174
53 / 174
54 / 174
55 / 174
56 / 174
57 / 174
58 / 174
59 / 174
60 / 174
61 / 174
62 / 174
63 / 174
64 / 174
65 / 174
66 / 174
67 / 174
68 / 174
69 / 174
70 / 174
71 / 174
72 / 174
73 / 174
74 / 174
75 / 174
76 / 174
77 / 174
78 / 174
79 / 174
80 / 174
81 / 174
82 / 174
83 / 174
84 / 174
85 / 174
86 / 174
87 / 174
88 / 174
89 / 174
90 / 174
91 / 174
92 / 174
93 / 174
94 / 174
95 / 174
96 / 174
97 / 174
98 / 174
99 / 174
100 / 174
101 / 174
102 / 174
103 / 174
104 / 174
105 / 174
106 / 174
107 / 174
108 / 174
109 / 174
110 / 174
111 / 174
112 / 174
113 / 174
114 / 174
115 / 174
116 / 174
117 / 174
118 / 174
119 / 174
120 / 174
121 / 174
122 / 174
123 / 174
124 / 174
125 / 174
126 / 174
127 / 174
128 / 174
129 / 174
130 / 174
131 / 174
132 / 174
133 / 174
134 / 174
135 / 174
136 / 174
137 / 174
138 / 174
139 / 174
140 / 174
141 / 174
142 / 174
143 / 174
144 / 174
145 / 174
146 / 174
147 / 174
148 / 174
149 / 174
150 / 174
151 / 174
152 / 174
153 / 174
154 / 174
155 / 174
156 / 174
157 / 174
158 / 174
159 / 174
160 / 174
161 / 174
162 / 174
163 / 174
164 / 174
165 / 174
166 / 174
167 / 174
168 / 174
169 / 174
170 / 174
171 / 174
172 / 174
173 / 174
174 / 174
下一页