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 年 07 月
每日PR保持代码整洁自查表
2024-07-19
Java
#java
如今,公司对软件工程师(主要是高级工程师)最迫切的需求之一,是以迭代和增量的方式提供高质量的代码审查。 这意味着在每次 PR 审查中,开发人员被要求反复提高即将合并代码的质量。 在这篇文章中,我将尝试指出开发人员在进行重构或审查时应牢记的基本原则。 让我们逐个主题来看这些点: # 1. 命名…
如何解决 WebClient Connection Reset by Peer错误
2024-07-19
Spring
#java
#spring
我有一个需求,需要从外部系统获取用户数据。我通过 WebClient 实现的,作为声明性 HTTP 客户端的一部分。 有趣的是,在新的浏览器标签页中打开应用程序后,第一次请求返回了“Connection reset by peer”错误。 这个问题通过禁用对外请求的 keep-alive 解决了。 改造前的代码: import…
可重入锁和非可重入锁
2024-07-18
Java
#java
在Java中,锁(Locks)是用来控制多线程对共享资源的访问的机制,确保在同一时间内只有一个线程可以访问特定的资源或执行特定的代码段。锁主要用于实现线程的同步。在Java中,有两种类型的锁被广泛讨论:可重入锁(Reentrant Locks)和非可重入锁(Non-reentrant…
消息队列的拉模式和推模式
2024-07-18
架构运维
消息队列(Message Queue)是一种应用程序之间传递数据和信息的通信方法。消息队列中的推拉模式(Push-Pull Model)是指消息的生产者(Producer)将消息发送到队列,然后消费者(Consumer)可以按照推(Push)或拉(Pull)的方式从队列中获取消息。 简单阐述 RocketMQ 推模式(Push Mode)…
Lock和synchronized是什么?
2024-07-18
Java
#java
在Java中, Lock 和 synchronized 是用于管理多线程环境中对资源的访问,以保证线程安全的两种机制。本文将介绍一下他们的基本原理以及代码中的实际用法示例。 简单介绍一下Lock 当谈到Java中的 Lock 机制,特别是如 ReentrantLock 这样的具体实现,我们可以从几个不同的层面深入理解其原理和工作方式。 Lock…
MySQL Join原理分析(缓冲块嵌套与索引嵌套循环)
2024-07-18
架构运维
#mysql
场景假设 A表(1000条数据)left join B表(1000条数据)。 嵌套循环(Nested-Loop Join) 极简概括:顾名思义多层循环叠加,由于MySQL条数数量有限,所用for循环而不用while,在MySQL中就是多层for循环。…
Java内存模型JMM介绍
2024-07-18
Java
#java
1. 为什么要有内存模型? 要想回答这个问题,需要先弄懂传统计算机硬件内存架构,如下图所示: 1.1. 硬件内存架构 (1)CPU 去过机房的同学都知道,一般在大型服务器上会配置多个CPU,每个CPU还会有多个核,这就意味着多个CPU或者多个核可以同时(并发)工作。如果使用Java 起了一个多线程的任务,很有可能每个 CPU…
Java线程池设计思想及源码实现
2024-07-18
Java
#java
前言 线程池是非常重要的工具,如果要成为一个好的工程师,还是得比较好地掌握这个知识,很多线上问题都是因为没有用好线程池导致的。 总览 下图是 java 线程池几个相关类的继承结构: 先简单说说这个继承结构,Executor 位于最顶层,也是最简单的,就一个 execute(Runnable runnable) 接口方法定义。 ExecutorService…
零成本开发!试试这6个免费的API接口平台
2024-07-18
免费资源
在当前的AI时代,API(应用程序编程接口)已经成为连接AI能力与传统程序的利器,帮助开发者快速集成AI功能。随着人工智能技术的飞速发展,各种AI模型和服务应运而生,包括自然语言处理、图像识别、语音合成等。API作为桥梁,使得这些强大的AI功能能够被轻松调用,极大地降低了技术门槛,助力开发者在短时间内实现复杂功能。…
Java阻塞队列BlockingQueue介绍
2024-07-18
Java
#java
BlockingQueue 开篇先介绍下 BlockingQueue 这个接口的规则,后面再看其实现。 首先,最基本的来说, BlockingQueue 是一个 先进先出 的队列(Queue),为什么说是阻塞(Blocking)的呢?是因为 BlockingQueue…
上一页
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
下一页