摘要: 写在前面 最近,很多小伙伴留言说,在学习高并发编程时,不太明白分布式锁是用来解决什么问题的,还有不少小伙伴甚至连分布式锁是什么都不太明白。明明在生产环境上使用了自己开发的分布式锁,为什么还会出现问题呢?同样的程序,加上分布式锁后,性能差了几个数量级!这又是为什么呢?今天,我们就来说说如何在高并发环境 阅读全文
posted @ 2020-04-26 13:11 冰河团队 阅读(8830) 评论(12) 推荐(18) 编辑
摘要: 写在前面 很多时候,我们在并发编程中,涉及到加锁操作时,对代码块的加锁操作真的合理吗?还有没有需要优化的地方呢? 前言 在《 "【高并发】优化加锁方式时竟然死锁了!!" 》一文中,我们介绍了产生死锁时的四个必要条件,只有四个条件同时具备时才能发生死锁。其中,我们在 阻止请求与保持条件 时,采用了一次 阅读全文
posted @ 2020-04-20 22:03 冰河团队 阅读(2831) 评论(1) 推荐(0) 编辑
摘要: 写在前面 随着系统并发量越来越高,Tomcat所占用的内存就会越来越大,如果对Tomcat的内存管理不当,则可能会引发Tomcat内存溢出的问题,那么,如何防止Tomcat内存溢出呢?我们今天就来一起探讨下这个问题。 防止Tomcat内存溢出可以总结为两个方案:一个是设置Tomcat启动的初始内存, 阅读全文
posted @ 2020-04-19 00:47 冰河团队 阅读(1248) 评论(1) 推荐(1) 编辑
摘要: 写在前面 最近,有不少网友留言提问:在Java的并发编程中,有个BlockingQueue,它是个阻塞队列,为何要在并发编程里使用BlockingQueue呢?好吧,今天,就临时说一下BlockingQueue吧,不过今天说的不是很深入,后面咱们一起从源头上深入剖析这个类。 BlockingQueu 阅读全文
posted @ 2020-04-17 23:54 冰河团队 阅读(676) 评论(0) 推荐(1) 编辑
摘要: 写在前面 Tomcat作为最常用的Java Web服务器,随着并发量越来越高,Tomcat的性能会急剧下降,那有没有什么方法来优化Tomcat在高并发环境下的性能呢? Tomcat运行模式 Tomcat的运行模式有3种。 1.bio模式 默认的模式,性能非常低下,没有经过任何优化处理和支持。 2.n 阅读全文
posted @ 2020-04-17 00:16 冰河团队 阅读(3944) 评论(0) 推荐(0) 编辑
摘要: 写在前面 随着我们的系统负载越来越高,系统的性能就会有所下降,此时,我们可以很自然地想到使用缓存来解决数据读写性能低下的问题。但是,立志成为资深架构师的你,是否能够在高并发环境下合理并且高效的构建应用级缓存呢? 缓存命中率 缓存命中率是从缓存中读取数据的次数与总读取次数的比率,命中率越高越好。缓存命 阅读全文
posted @ 2020-04-15 22:58 冰河团队 阅读(665) 评论(1) 推荐(1) 编辑
摘要: 写在前面 很多高并发系统中都会使用到消息队列中间件,那么,问题来了,为什么在高并发系统中都会使用到消息队列中间件呢?立志成为资深架构师的你思考过这个问题吗? 本文集结了众多技术大牛的编程思想,由冰河汇聚并整理而成,在此,感谢那些在技术发展道理上默默付出的前辈们! 场景分析 现在假设这样一个场景,用户 阅读全文
posted @ 2020-04-14 20:13 冰河团队 阅读(5707) 评论(1) 推荐(6) 编辑
摘要: 写在前面 忘记之前在哪个群里有朋友在问:有出分布式锁的文章吗~@冰河?我的回答是:这周会有,也是【高并发】专题的。想了想,还是先发一个如何使用Redisson实现分布式锁的文章吧?为啥?因为使用Redisson实现分布式锁简单啊!Redisson框架是基于Redis实现的分布式锁,非常强大,只需要拿 阅读全文
posted @ 2020-04-14 00:04 冰河团队 阅读(4347) 评论(3) 推荐(2) 编辑
摘要: 写在前面 今天,在优化程序的加锁方式时,竟然出现了死锁!!到底是为什么呢?!经过仔细的分析之后,终于找到了原因。 为何需要优化加锁方式? 在《 "【高并发】高并发环境下诡异的加锁问题(你加的锁未必安全)" 》一文中,我们在转账类TansferAccount中使用TansferAccount.clas 阅读全文
posted @ 2020-04-12 21:41 冰河团队 阅读(1406) 评论(0) 推荐(0) 编辑
摘要: 写在前面 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据。有点像Hadoop中的MapReduce。 ForkJoin是由JDK1.7之后提供的多线程并发处理框架。ForkJoin框架的基本 阅读全文
posted @ 2020-04-12 00:07 冰河团队 阅读(8462) 评论(1) 推荐(2) 编辑