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
文章发布工具
开发者安装大全
关于
归档
2024 年 01 月
这些年背过的面试题——架构设计篇
2024-01-12
架构运维
对技术人来说,面试成功的道路只有一条,就是好好准备技术基础。本文是面试系列文章架构设计篇,作者把自己的八股文和一些经验总结汇总在一起,供大家参考。 一、社区系统的架构 系统拆分…
Spring Boot整合Camunda实现工作流
2024-01-12
Spring
#java
#spring
工作流是我们开发企业应用几乎必备的一项功能,工作流引擎发展至今已经有非常多的产品。最近正好在接触 Camunda ,所以来做个简单的入门整合介绍。如果您也刚好在调研或者刚开始计划接入,希望本文对您有所帮助。如果您是一名Java开发或Spring框架爱好者,欢迎关注我 程序猿DD open in new window ,持续非常技术干货。 #…
Java 中保持扩展性的几种套路和实现
2024-01-12
Java
#java
前言 SOLID(单一、开闭、里式替换、接口隔离、依赖倒置)五大原则和23种设计模式(常见的单例、构建者、装饰、适配、代理、组合、模板等等),小伙伴们对这些肯定都很熟悉。这些原则和设计模式能够辅助我们,让我们在设计的时候有所抉择,从而达到高内聚、低耦合的目的。…
volatile关键字的作用、原理
2024-01-12
Java
#java
此文对于部分原理的解释不全,甚至有错误。建议同时参考 一文解决内存屏障 阅读。 在只有双重检查锁,没有volatile的懒加载单例模式中,由于 指令重排序 的问题,我确实不会拿到 两个不同的单例 了,但我会拿到 “半个”单例 。 而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中 “出现频率最高的关键字”…
RocketMQ消费进度管理
2024-01-12
架构运维
业务实现消费回调的时候,当且仅当此回调函数返回 ConsumeConcurrentlyStatus.CONSUME_SUCCESS ,RocketMQ才会认为这批消息(默认是1条)是消费完成的 如果这时候消息消费失败,例如数据库异常,余额不足扣款失败等一切业务认为消息需要重试的场景,只要返回…
RocketMQ 多级存储设计与实现
2024-01-12
架构运维
随着 RocketMQ 5.1.0 的正式发布,多级存储作为 RocketMQ 一个新的独立模块到达了 Technical Preview 里程碑:允许用户将消息从本地磁盘卸载到其他更便宜的存储介质,可以用较低的成本延长消息保留时间。本文详细介绍 RocketMQ 多级存储设计与实现。 设计总览 RocketMQ 多级存储旨在 不影响热数据读写的前提下…
对比Spring Boot中的JdbcClient与JdbcTemplate
2024-01-10
Spring
#java
#spring
本文我们一起看看Spring Boot中 JdbcClient 和 JdbcTemplate 之间的差异。 以下内容使用的Java和Spring Boot版本为: Java 21 Spring Boot 3.2.1 假设我们有一个 ICustomerService 接口: public interface ICustomerService {…
初创公司5大Java服务困局,阿里工程师如何打破?
2024-01-10
Java
#java
1.系统不是分布式 1.1.单机版系统抢单案例 // 抢取订单函数 public synchronized void grabOrder(Long orderId, Long userId) { // 获取订单信息 OrderDO order = orderDAO.get(orderId); if (Objects.isNull(order)) {…
RocketMQ文件刷盘机制与过期文件删除
2024-01-10
架构运维
文件刷盘机制 RocketMQ 的消息是存储在磁盘上的,这样做有两个优点: 保证断电后恢复 让存储的消息量超出内存的限制 RocketMQ 存储与读写是基于 JDK NIO 的内存映射机制,具体使用 MappedByteBuffer(基于MappedByteBuffer 操作大文件的方式,其读写性能极高)RocketMQ…
应用架构的核心使命是什么?阿里高级技术专家这样说
2024-01-10
架构运维
架构 架构始于建筑,是因为人类发展(原始人自给自足住在树上,也就不需要架构),分工协作的需要,将目标系统按某个原则进行切分,切分的原则,是要便于不同的角色进行并行工作。 为什么需要架构? 有系统的地方就需要架构,大到航空飞机,小到一个电商系统里面的一个功能组件都需要设计和架构。…
上一页
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
下一页