File tree 5 files changed +16
-30
lines changed
system-design/framework/spring
5 files changed +16
-30
lines changed Original file line number Diff line number Diff line change @@ -133,7 +133,7 @@ star: 2
133
133
134
134
三年前,星球的定价是 ** 50/年** (星球规定的最低定价),我还附送了 33 元优惠券。扣除了星球手续费,发了各种福利之后,就是纯粹在做公益。感兴趣的小伙伴可以看看我在 2020-01-03 发的头条:[ 做了一个很久没敢做的事情] ( https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486049&idx=1&sn=e0161b409e8f164251bdaa0c83a476bc&chksm=cea245aaf9d5ccbcafdb95a546d959508814085620aabdbb4385c4b8cea6e50bf157c3697041&token=1614894361&lang=zh_CN#rd ) ,考古一下。
135
135
136
- 三年后,已经有 ** 2.3w ** 人加入我的星球。 随着时间推移,星球沉淀干货资源越来越多 ,我花在星球上的时间也越来越多。因此,我会逐步调整星球的定价。目前星球的定价是 ** 166/年** ,后续我会将星球的价格调整为 ** 199 /年** ,想要加入的小伙伴一定要尽早。
136
+ 随着时间推移,星球沉淀的干货资源越来越多 ,我花在星球上的时间也越来越多。于是,我将星球的定价慢慢调整为了 ** 166/年** !后续会将星球的价格调整为 ** 196 /年** ,想要加入的小伙伴一定要尽早。
137
137
138
138
这里再送一个 ** 30** 元的星球专属优惠券吧,数量有限(价格即将上调。老用户续费半价 ,微信扫码即可续费)!
139
139
Original file line number Diff line number Diff line change 2
2
3
3
![ 《Java 面试指北》内容概览] ( https://oss.javaguide.cn/xingqiu/image-20220304102536445.png )
4
4
5
- ## 星球介绍
6
-
7
- 最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。
8
-
9
5
为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[ Java 面试知识星球] ( ../about-the-author/zhishixingqiu-two-years.md ) 。虽然收费只有培训班/训练营的百分之一,但是知识星球里的内容质量更高,提供的服务也更全面,非常适合准备 Java 面试和学习 Java 的同学。
10
6
11
7
** 欢迎准备 Java 面试以及学习 Java 的同学加入我的 [ 知识星球] ( ../about-the-author/zhishixingqiu-two-years.md ) ,干货非常多,学习氛围也很不错!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。**
18
14
19
15
如果你感兴趣的话,不妨花 3 分钟左右看看星球的详细介绍:[ JavaGuide 知识星球详细介绍] ( ../about-the-author/zhishixingqiu-two-years.md ) 。
20
16
21
- ## 如何加入?
22
-
23
- 三年前,星球的定价是 ** 50/年** (星球规定的最低定价),我还附送了 33 元优惠券。扣除了星球手续费,发了各种福利之后,就是纯粹在做公益。感兴趣的小伙伴可以看看我在 2020-01-03 发的头条:[ 做了一个很久没敢做的事情] ( https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486049&idx=1&sn=e0161b409e8f164251bdaa0c83a476bc&chksm=cea245aaf9d5ccbcafdb95a546d959508814085620aabdbb4385c4b8cea6e50bf157c3697041&token=1614894361&lang=zh_CN#rd ) ,考古一下。
24
-
25
- 三年后,已经有 ** 2.3w** 人加入我的星球。随着时间推移,星球沉淀干货资源越来越多,我花在星球上的时间也越来越多。因此,我会逐步调整星球的定价。目前星球的定价是 ** 166/年** ,后续我会将星球的价格调整为 ** 199/年** ,想要加入的小伙伴一定要尽早。
26
-
27
17
这里再送一个 ** 30** 元的星球专属优惠券吧,数量有限(价格即将上调。老用户续费半价 ,微信扫码即可续费)!
28
18
29
19
![ 知识星球30元优惠卷] ( https://oss.javaguide.cn/xingqiu/xingqiuyouhuijuan-30.jpg )
Original file line number Diff line number Diff line change 1
- ## 星球介绍
1
+ ## 星球其他资源
2
2
3
- 最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜 。
3
+ [ 知识星球 ] ( ../about-the-author/zhishixingqiu-two-years.md ) 除了提供了 ** 《Java 面试指北》 ** 、 ** 《Java 必读源码系列》 ** (目前已经整理了 Dubbo 2.6.x 、Netty 4.x、SpringBoot2.1 的源码)、 ** 《手写 RPC 框架》 ** 、 ** 《Kafka 常见面试题/知识点总结》 ** 等多个专属小册,还会有读书活动、学习打卡、简历修改、免费提问、海量 Java 优质面试资源以及各种不定时的福利 。
4
4
5
- 为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[ Java 面试知识星球] ( ../about-the-author/zhishixingqiu-two-years.md ) 。虽然收费只有培训班/训练营的百分之一,但是知识星球里的内容质量更高,提供的服务也更全面,非常适合准备 Java 面试和学习 Java 的同学。
6
-
7
- ** 欢迎准备 Java 面试以及学习 Java 的同学加入我的 [ 知识星球] ( ../about-the-author/zhishixingqiu-two-years.md ) ,干货非常多,学习氛围也很不错!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。**
5
+ ![ 知识星球专栏概览] ( https://oss.javaguide.cn/xingqiu/image-20220211231206733.png )
8
6
9
7
下面是星球提供的部分服务(点击下方图片即可获取知识星球的详细介绍):
10
8
14
12
15
13
如果你感兴趣的话,不妨花 3 分钟左右看看星球的详细介绍:[ JavaGuide 知识星球详细介绍] ( ../about-the-author/zhishixingqiu-two-years.md ) 。
16
14
17
- ## 如何加入?
15
+ ## 星球限时优惠
18
16
19
- 三年前,星球的定价是 ** 50/年** (星球规定的最低定价),我还附送了 33 元优惠券。扣除了星球手续费,发了各种福利之后,就是纯粹在做公益。感兴趣的小伙伴可以看看我在 2020-01-03 发的头条:[ 做了一个很久没敢做的事情] ( https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486049&idx=1&sn=e0161b409e8f164251bdaa0c83a476bc&chksm=cea245aaf9d5ccbcafdb95a546d959508814085620aabdbb4385c4b8cea6e50bf157c3697041&token=1614894361&lang=zh_CN#rd ) ,考古一下。
17
+ 三年前,星球的定价是 ** 50/年** (星球规定的最低定价),我还附送了 33 元优惠券。扣除了星球手续费,发了各种福利之后,就是纯粹在做公益。感兴趣的小伙伴可以看看我在 ** 2020-01-03** 发的头条:[ 做了一个很久没敢做的事情] ( https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486049&idx=1&sn=e0161b409e8f164251bdaa0c83a476bc&chksm=cea245aaf9d5ccbcafdb95a546d959508814085620aabdbb4385c4b8cea6e50bf157c3697041&token=1614894361&lang=zh_CN#rd ) ,考古一下。
20
18
21
- 三年后,已经有 ** 2.3w ** 人加入我的星球。 随着时间推移,星球沉淀干货资源越来越多 ,我花在星球上的时间也越来越多。因此,我会逐步调整星球的定价。目前星球的定价是 ** 166/年** ,后续我会将星球的价格调整为 ** 199 /年** ,想要加入的小伙伴一定要尽早。
19
+ 随着时间推移,星球沉淀的干货资源越来越多 ,我花在星球上的时间也越来越多。于是,我将星球的定价慢慢调整为了 ** 166/年** !后续会将星球的价格调整为 ** 196 /年** ,想要加入的小伙伴一定要尽早。
22
20
23
21
这里再送一个 ** 30** 元的星球专属优惠券吧,数量有限(价格即将上调。老用户续费半价 ,微信扫码即可续费)!
24
22
Original file line number Diff line number Diff line change @@ -307,17 +307,21 @@ public Person personPrototype() {
307
307
}
308
308
```
309
309
310
- ### 单例 Bean 的线程安全问题了解吗 ?
310
+ ### Bean 是线程安全的吗 ?
311
311
312
- 大部分时候我们并没有在项目中使用多线程,所以很少有人会关注这个问题。单例 Bean 存在线程问题,主要是因为当多个线程操作同一个对象的时候是存在资源竞争的 。
312
+ Spring 框架中的 Bean 是否线程安全,取决于其作用域和状态 。
313
313
314
- 常见的有两种解决办法:
314
+ 我们这里以最常用的两种作用域 prototype 和 singleton 为例介绍。几乎所有场景的 Bean 作用域都是使用默认的 singleton ,重点关注 singleton 作用域即可。
315
+
316
+ prototype 作用域下,每次获取都会创建一个新的 bean 实例,不存在资源竞争问题,所以不存在线程安全问题。singleton 作用域下,IoC 容器中只有唯一的 bean 实例,可能会存在资源竞争问题(取决于 Bean 是否有状态)。如果这个 bean 是有状态的话,那就存在线程安全问题(有状态 Bean 是指包含可变的成员变量的对象)。
317
+
318
+ 不过,大部分 Bean 实际都是无状态(没有定义可变的成员变量)的(比如 Dao、Service),这种情况下, Bean 是线程安全的。
319
+
320
+ 对于有状态单例 Bean 的线程安全问题,常见的有两种解决办法:
315
321
316
322
1 . 在 Bean 中尽量避免定义可变的成员变量。
317
323
2 . 在类中定义一个 ` ThreadLocal ` 成员变量,将需要的可变成员变量保存在 ` ThreadLocal ` 中(推荐的一种方式)。
318
324
319
- 不过,大部分 Bean 实际都是无状态(没有实例变量)的(比如 Dao、Service),这种情况下, Bean 是线程安全的。
320
-
321
325
### Bean 的生命周期了解么?
322
326
323
327
- Bean 容器找到配置文件中 Spring Bean 的定义。
Original file line number Diff line number Diff line change @@ -15,10 +15,4 @@ category: 知识星球
15
15
16
16
我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!
17
17
18
- ## 更多专栏
19
-
20
- 除了上面介绍的之外,我的[ 知识星球] ( ../about-the-author/zhishixingqiu-two-years.md ) 还有 《Kafka 常见面试题/知识点总结》、《程序员副业赚钱之路》等多个专栏。进入星球之后,统统都可以免费阅读。
21
-
22
- ![ 知识星球专栏概览] ( https://oss.javaguide.cn/xingqiu/image-20220211231206733.png )
23
-
24
18
<!-- @include: @planet2.snippet.md -->
You can’t perform that action at this time.
0 commit comments