最新《Java代码与架构之完美优化》配套精品课件0505_尽量缩小同期化代码范围
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、有哪些检测工具与方法?
■检测工具或方法 1.(R)代码检查
5、最佳解决方案是什么?
■最佳解决方案 分析同步的实质,缩小同步范围, 尽可能的使用同步块代替同步方法。
6、如何解析优化后代码?
■优化后代码解析 代码1用的是方法同步,我们知道非 静态方法的同步锁,就是类自身对象锁。 深入分析本段代码后,我们发现真正需 要同步的数据是basNum成员静态变量, 而对其操作的代码只有第7行,这样我 们就可以用同步块的方式,把同步代码 缩小到一行,这样大大提高了Байду номын сангаас线程性 能!
@
@ @
1、优化前代码有哪些瑕疵?
■优化前代码 实例1
动动脑筋:本例代码中有哪些瑕疵,应该如何优化?
2、现象描述是什么?
■现象描述 不考虑线程性能问题,在任意范围上使用同 步线程。
3、有哪些不利影响?
■不利影响分析 大范围的代码同步,就如同给代码 上了大的独享锁,这个原理和数据库 锁原理一样——加锁的范围越大,对 程序性能影响也越大,同时也增加了 代码理解的难度。
《Java代码与架构之完美优化——实战经典》
第五章 如何保证多线程代码质量 ——5.5尽量缩小同期化代码范围(39/77)
作者:颜廷吉
目录 Contents
@ @ @
1、优化前代码有哪些瑕疵? 2、现象描述是什么? 3、有哪些不利影响? 4、有哪些检测工具与方法? 5、最佳解决方案是什么? 6、如何解析优化后代码?
9