04 2020 档案

摘要:写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本解决不了问题,纯属扯淡。作为一个技术人,经过不断的研究和实践,终于实现了在Spring Tool S 阅读全文
posted @ 2020-04-30 18:44 冰河团队 阅读(5505) 评论(0) 推荐(3) 编辑
摘要:写在前面 相信很多小伙伴都知道局部变量是线程安全的,那你知道为什么局部变量是线程安全的吗? 前言 多个线程同时访问共享变量时,会导致并发问题。那么,如果将变量放在方法内部,是不是还会存在并发问题呢?如果不存在并发问题,那么为什么不会存在并发问题呢? 著名的斐波那契数列 记得上学的时候,我们都会遇到这 阅读全文
posted @ 2020-04-30 13:49 冰河团队 阅读(9443) 评论(8) 推荐(6) 编辑
摘要:写在前面 最近,很多小伙伴留言说,在学习高并发编程时,不太明白分布式锁是用来解决什么问题的,还有不少小伙伴甚至连分布式锁是什么都不太明白。明明在生产环境上使用了自己开发的分布式锁,为什么还会出现问题呢?同样的程序,加上分布式锁后,性能差了几个数量级!这又是为什么呢?今天,我们就来说说如何在高并发环境 阅读全文
posted @ 2020-04-26 13:11 冰河团队 阅读(9127) 评论(12) 推荐(18) 编辑
摘要:写在前面 很多时候,我们在并发编程中,涉及到加锁操作时,对代码块的加锁操作真的合理吗?还有没有需要优化的地方呢? 前言 在《 "【高并发】优化加锁方式时竟然死锁了!!" 》一文中,我们介绍了产生死锁时的四个必要条件,只有四个条件同时具备时才能发生死锁。其中,我们在 阻止请求与保持条件 时,采用了一次 阅读全文
posted @ 2020-04-20 22:03 冰河团队 阅读(2972) 评论(1) 推荐(0) 编辑
摘要:写在前面 随着系统并发量越来越高,Tomcat所占用的内存就会越来越大,如果对Tomcat的内存管理不当,则可能会引发Tomcat内存溢出的问题,那么,如何防止Tomcat内存溢出呢?我们今天就来一起探讨下这个问题。 防止Tomcat内存溢出可以总结为两个方案:一个是设置Tomcat启动的初始内存, 阅读全文
posted @ 2020-04-19 00:47 冰河团队 阅读(1413) 评论(1) 推荐(1) 编辑
摘要:写在前面 最近,有不少网友留言提问:在Java的并发编程中,有个BlockingQueue,它是个阻塞队列,为何要在并发编程里使用BlockingQueue呢?好吧,今天,就临时说一下BlockingQueue吧,不过今天说的不是很深入,后面咱们一起从源头上深入剖析这个类。 BlockingQueu 阅读全文
posted @ 2020-04-17 23:54 冰河团队 阅读(696) 评论(0) 推荐(1) 编辑
摘要:写在前面 Tomcat作为最常用的Java Web服务器,随着并发量越来越高,Tomcat的性能会急剧下降,那有没有什么方法来优化Tomcat在高并发环境下的性能呢? Tomcat运行模式 Tomcat的运行模式有3种。 1.bio模式 默认的模式,性能非常低下,没有经过任何优化处理和支持。 2.n 阅读全文
posted @ 2020-04-17 00:16 冰河团队 阅读(4408) 评论(0) 推荐(0) 编辑
摘要:写在前面 随着我们的系统负载越来越高,系统的性能就会有所下降,此时,我们可以很自然地想到使用缓存来解决数据读写性能低下的问题。但是,立志成为资深架构师的你,是否能够在高并发环境下合理并且高效的构建应用级缓存呢? 缓存命中率 缓存命中率是从缓存中读取数据的次数与总读取次数的比率,命中率越高越好。缓存命 阅读全文
posted @ 2020-04-15 22:58 冰河团队 阅读(681) 评论(1) 推荐(1) 编辑
摘要:写在前面 很多高并发系统中都会使用到消息队列中间件,那么,问题来了,为什么在高并发系统中都会使用到消息队列中间件呢?立志成为资深架构师的你思考过这个问题吗? 本文集结了众多技术大牛的编程思想,由冰河汇聚并整理而成,在此,感谢那些在技术发展道理上默默付出的前辈们! 场景分析 现在假设这样一个场景,用户 阅读全文
posted @ 2020-04-14 20:13 冰河团队 阅读(5761) 评论(1) 推荐(6) 编辑
摘要:写在前面 忘记之前在哪个群里有朋友在问:有出分布式锁的文章吗~@冰河?我的回答是:这周会有,也是【高并发】专题的。想了想,还是先发一个如何使用Redisson实现分布式锁的文章吧?为啥?因为使用Redisson实现分布式锁简单啊!Redisson框架是基于Redis实现的分布式锁,非常强大,只需要拿 阅读全文
posted @ 2020-04-14 00:04 冰河团队 阅读(4700) 评论(3) 推荐(2) 编辑
摘要:写在前面 今天,在优化程序的加锁方式时,竟然出现了死锁!!到底是为什么呢?!经过仔细的分析之后,终于找到了原因。 为何需要优化加锁方式? 在《 "【高并发】高并发环境下诡异的加锁问题(你加的锁未必安全)" 》一文中,我们在转账类TansferAccount中使用TansferAccount.clas 阅读全文
posted @ 2020-04-12 21:41 冰河团队 阅读(1452) 评论(0) 推荐(0) 编辑
摘要:写在前面 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据。有点像Hadoop中的MapReduce。 ForkJoin是由JDK1.7之后提供的多线程并发处理框架。ForkJoin框架的基本 阅读全文
posted @ 2020-04-12 00:07 冰河团队 阅读(9224) 评论(2) 推荐(3) 编辑
摘要:声明 特此声明:文中有关支付宝账户的说明,只是用来举例,实际支付宝账户要比文中描述的复杂的多。也与文中描述的完全不同。 前言 很多网友留言说:在编写多线程并发程序时,我明明对共享资源加锁了啊?为什么还是出问题呢?问题到底出在哪里呢?其实,我想说的是:你的加锁姿势正确吗?你真的会使用锁吗?错误的加锁方 阅读全文
posted @ 2020-04-11 11:20 冰河团队 阅读(3447) 评论(3) 推荐(4) 编辑
摘要:写在前面 写【高并发专题】有一段时间了,一些读者朋友留言说,并发编程很难,学习了很多的知识,但是在实际工作中却无从下手。对于一个线上产生的并发问题,又不知产生这个问题的原因究竟是什么。对于并发编程,感觉上似乎是掌握了,但是真正用起来却不是那么回事! 其实,造成这种现象的本质原因就是没有透彻的理解并发 阅读全文
posted @ 2020-04-10 23:12 冰河团队 阅读(862) 评论(0) 推荐(2) 编辑
摘要:前言 很多小伙伴反馈说,高并发专题学了那么久,但是,在真正做项目时,仍然不知道如何下手处理高并发业务场景!甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并发知识如何运用到实际项目中,就更别提如何构建高并发系统了! 究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业 阅读全文
posted @ 2020-04-08 22:44 冰河团队 阅读(10468) 评论(21) 推荐(57) 编辑

点击右上角即可分享
微信分享提示