摘要: 设计模式是前辈们对代码日积月累的总结,形成的一种良好的编程思想和技巧。 单例模式,使用非常广泛,本篇将介绍三种常用的单例模式的实践:类加载时初始化类对象(也叫饿汉模式)、延迟加载初次调用时初始化类对象(也叫饱汉模式)、双重检查机制。 一、类加载时初始化类对象(也叫饿汉模式):首先构造函数要使用pri 阅读全文
posted @ 2018-07-25 23:59 嘟神子 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 上篇讲到多线程线程安全问题的解决思路,这篇将详细讲解资源隔离ThreadLocal的实践。 ThreadLocal也叫线程局部变量,类似Map结构,以当前线程为key。既然是以资源隔离的思想保证线程安全,那么保存到每个线程的对象就应该是一个副本,切记这样的对象不能是单例,如果非要使用单例创建对象,保 阅读全文
posted @ 2018-07-25 22:16 嘟神子 阅读(1085) 评论(0) 推荐(0) 编辑
摘要: 最近在调试RocketMQ消息发送与消费的Demo时,发现一个问题:只要重启程序,RocketMQ消息就会重复消费。 那么这是什么原因导致的,又该如何解决呢? 经过一番排查,发现程序使用的RocketMQ客户端版本是3.6.2,而测试环境安装的RocketMQ环境的版本是4.1.0。原来是客户端和服 阅读全文
posted @ 2018-07-25 22:15 嘟神子 阅读(3971) 评论(0) 推荐(0) 编辑
摘要: 本节为大家介绍工作中日志分析常用命令: 1、cat(查看文件内容:带上-n参数,可以显示行号) <注意>如果文件过大,请不要使用cat命令,影响CPU性能 2、less(more可以分页展示内容,less支持内容查找,并且高亮显示) /是往下搜索,不断点击回车就会从上往下搜索 ?是向上搜索,同上理 阅读全文
posted @ 2018-07-25 00:29 嘟神子 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 多线程是Java开发中的重中之重,其重要性和难度,可见一斑。掌握并精通多线程开发,是每一个程序员的必修之课。哪怕中间的过程很痛苦,只要坚持了,并最终豁然开朗了,都是一种升华。 多线程的优化:合理利用CPU,使用多线程并行取代单线程串行,可以显著提升系统性能。 多线程线程安全问题,本质上就是资源共享问 阅读全文
posted @ 2018-07-25 00:10 嘟神子 阅读(1152) 评论(0) 推荐(0) 编辑