摘要:例子先来看下面的示例来验证下到底是不是线程安全的。上面的例子我们期望的结果应该是,但运行遍,你会发现总是不为,至少你现在知道了操作它不是线程安全的了。它的性能比较好也是因为避免了使线程进入内核态的阻塞状态。 例子 先来看下面的示例来验证下 i++ 到底是不是线程安全的。 1000个线程,每个线程对共享变量 count 进行 1000 次 ++ 操作。 showImg(https://s...
摘要:懒汉式单例模式单例类测试类输出实现方式构造方法私有化。存在问题线程不安全,如果多个线程同时访问,仍会产生多个实例对象。 一般实现 创建执行方法 public class WithoutSingleton { public static void withoutSingletonInfo(WithoutSingleton withoutSingleton){ Sy...
摘要:官方插件仅支持版本中支持。使用过程声明消息交换机实现实现消息发送实现实现 官方插件仅支持>=3.6.x 版本中支持。 本文描述的消息延迟机制采用官方推荐的插件rabbitmq-delayed-message-exchange,如精通rabbitmq和编程,请自行查看官方文档,描述更加详尽: github Rabbitmq插件列表 安装 需要在集群每台机器中安装由于rabbitmq并...
摘要:堆内存主要作用是存放运行时创建的对象。堆内存用来存放由创建的对象和数组,在堆中分配的内存,由虚拟机的自动垃圾回收器来管理。这也是比较占内存的原因,实际上,栈中的变量指向堆内存中的变量,这就是中的指针 堆:(对象) 引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型常量),需要通过new等方式来创建。 堆内存主要作用是存放运行时创建(new)的对象。(主要用于存放对象,...