V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  shanghai1943  ›  全部回复第 3 页 / 共 34 页
回复总数  673
1  2  3  4  5  6  7  8  9  10 ... 34  
156 天前
回复了 shanghai1943 创建的主题 问与答 [求助] 有关离婚协议相关问题咨询
@xuelang 感谢回复。前阵子已经离掉了。再次感谢[抱拳]
168 天前
回复了 twoz 创建的主题 生活 大龄光棍深夜 emo。。关于入赘
我个人是没法接受入赘的。以后小吵小闹免不了,加上身份低人一等,很容易有各种负面想法,最后自己过得很郁闷。

所以索性就不要入赘。平等最重要。身份平等,人格平等。这些是两个相处的基础。
加油加油
184 天前
回复了 vsean 创建的主题 分享创造 IP 信息查询的新选择 IP.IM
可以把 country name 加上
189 天前
回复了 MRG0 创建的主题 程序员 推荐个男士双肩包吧, ja 人们
某东 16 年买的瑞士十字双肩包,用来每天上下班背电脑,感觉还可以继续背两三年。。
198 天前
回复了 shanghai1943 创建的主题 JetBrains intellij idea 文本搜索求助
@2677672 主要每次换一个字符串就得去修改一次正则,嫌麻烦
199 天前
回复了 shanghai1943 创建的主题 优惠信息 202310 云村 7 天会员
还剩 3 个
对比一下本地以及平台打包出来的包都有哪些,版本都是什么,确认一下是不是版本不同导致运行结果不同。
@sweed7 感觉这个今锦上的也挺便宜的
218 天前
回复了 PDdavon 创建的主题 问与答 社交平台上发布脱单贴前的一些疑问求解
试试即刻的橙 APP ?
分子
tzFapqB38yw 已使用
冲!!
妹吻
冲啊!
240 天前
回复了 liuyunlong 创建的主题 Java Spring 中 Bean 注册疑问
claude ai 的回复


hasBeanCreationStarted() 方法是用来判断 bean 定义注册是否处于启动阶段。

在 Spring 容器启动时,会有一个 bean 定义注册的过程,这个过程称为启动阶段。启动阶段结束后,会调用 finishBeanFactoryInitialization() 方法,设置启动阶段完成的标记。

之所以需要判断启动阶段,是因为在启动阶段和非启动阶段,bean 定义的注册逻辑有略微不同:

1. 启动阶段:可以直接修改 beanDefinitionMap 和 beanDefinitionNames

2. 非启动阶段:需要同步处理,避免多线程并发访问这些容器内存状态

else 分支就是处理非启动阶段的逻辑。当容器已经完成了启动,这个时候再注册 bean 定义,就需要加锁处理:

1. 同步包装 beanDefinitionMap 的修改

2. 创建 beanDefinitionNames 的拷贝进行修改

3. 删除 manualSingletonNames 里的对应名称

之所以这么设计,是因为启动阶段内存状态的变更频繁,如果都加锁处理会非常低效。所以启动阶段只 simply 修改状态,结束后再对状态变更加锁。

而 hasBeanCreationStarted()就是判断当前是否还在启动阶段,从而决定走哪种 bean 定义注册逻辑。

所以这个判断对提高整个容器的并发性能很重要。
1  2  3  4  5  6  7  8  9  10 ... 34  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   987 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 41ms · UTC 22:28 · PVG 06:28 · LAX 15:28 · JFK 18:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.