博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记:性能调优
阅读量:2260 次
发布时间:2019-05-09

本文共 335 字,大约阅读时间需要 1 分钟。

1.通常使用Synchronized关键字同步代码,可读性好,如果涉及性能问题,可以使用显式的Lock对象

2.免锁容器:通用策略:对容器的修改可以与读取操作同时发生,只要读取者只能看到完成修改的结果即可。修改是在容器数据结构的某个部分的一个单独的副本上执行的,并且这个副本在修改过程中不可视。只有当完成修改时,被修改的结构才会自动的和主数据结构交换,之后读取者就可以看到这个修改了。有ConcurrentHashMap和ConcurrentLinkedQueue

3.乐观加锁

多线程的缺陷:

1.等待共享资源性能降低

2.需要处理线程的额外cpu消耗

3糟糕的程序设计带来不必要的复杂度

4.有可能产生一些病态的行为,如饿死、竞争、死锁

5.不同的平台导致的不一致性

转载地址:http://zmfcb.baihongyu.com/

你可能感兴趣的文章
什么是‘YTowOnt9‘?
查看>>
如何将Swift数组转换为字符串?
查看>>
ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案
查看>>
confluence中org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed的解决方法
查看>>
springboot获取getBean方法以及ApplicationContext空指针问题解决
查看>>
CLion 控制台输出内容乱码问题的解决方法
查看>>
解决SSH远程执行命令找不到环境变量的问题
查看>>
Eclipse安装SpringBoot插件以及Eclipse无法连接到Eclipse Marketplace的解决方法
查看>>
mysql导出长数字到excel避免显示为科学记数法 解决方法
查看>>
RabbitMQ脑裂问题解决方案调查
查看>>
Mysql系列七:分库分表技术难题之分布式全局唯一id解决方案
查看>>
【插件】jQuery.iviewer----图片浏览(滚动放大缩小问题解决)
查看>>
LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题)
查看>>
基于FastJson的通用泛型解决方案
查看>>
WebSocket客户端连接不上和掉线的问题以及解决方案
查看>>
flask from app import db ImportError: cannot import name ‘db’ 的解决方案
查看>>
解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题
查看>>
解决php获取不到Authorization问题
查看>>
***小程序wx.getUserInfo不能弹出授权窗口后的解决方案
查看>>
Eclipse一直building workspace问题解决
查看>>