摘要:
上篇讲到多线程线程安全问题的解决思路,这篇将详细讲解资源隔离ThreadLocal的实践。 ThreadLocal也叫线程局部变量,类似Map结构,以当前线程为key。既然是以资源隔离的思想保证线程安全,那么保存到每个线程的对象就应该是一个副本,切记这样的对象不能是单例,如果非要使用单例创建对象,保 阅读全文
摘要:
最近在调试RocketMQ消息发送与消费的Demo时,发现一个问题:只要重启程序,RocketMQ消息就会重复消费。 那么这是什么原因导致的,又该如何解决呢? 经过一番排查,发现程序使用的RocketMQ客户端版本是3.6.2,而测试环境安装的RocketMQ环境的版本是4.1.0。原来是客户端和服 阅读全文
摘要:
本节为大家介绍工作中日志分析常用命令: 1、cat(查看文件内容:带上-n参数,可以显示行号) <注意>如果文件过大,请不要使用cat命令,影响CPU性能 2、less(more可以分页展示内容,less支持内容查找,并且高亮显示) /是往下搜索,不断点击回车就会从上往下搜索 ?是向上搜索,同上理 阅读全文
摘要:
多线程是Java开发中的重中之重,其重要性和难度,可见一斑。掌握并精通多线程开发,是每一个程序员的必修之课。哪怕中间的过程很痛苦,只要坚持了,并最终豁然开朗了,都是一种升华。 多线程的优化:合理利用CPU,使用多线程并行取代单线程串行,可以显著提升系统性能。 多线程线程安全问题,本质上就是资源共享问 阅读全文