用户中心USER CENTER

首页/用户
  • 设计模式学习

    摘要:作用不改变原类的代码,而增强原类对象的功能可以选择前置,后置,环绕,异常处理增强与装饰者模式的区别意图的不同代理模式意在在代理中控制使用者对目标对象的访问 设计思想: OOP 类是做什么用的?封装数据和代码 接口是做什么用的? 定义相接的口子,定义功能使用者和提供者之间的接口为什么要有接口? 隔离变化的抽象类是做什么的?包含变与不变的OOP 三大特性:封装 继承 多态 多态类与类的关系...

    RyanQ 发布于Java
  • i++ 是线程安全的吗?

    摘要:例子先来看下面的示例来验证下到底是不是线程安全的。上面的例子我们期望的结果应该是,但运行遍,你会发现总是不为,至少你现在知道了操作它不是线程安全的了。它的性能比较好也是因为避免了使线程进入内核态的阻塞状态。 例子 先来看下面的示例来验证下 i++ 到底是不是线程安全的。 1000个线程,每个线程对共享变量 count 进行 1000 次 ++ 操作。 showImg(https://s...

    RyanQ 发布于Java
  • 单例模式(Singleton)

    摘要:懒汉式单例模式单例类测试类输出实现方式构造方法私有化。存在问题线程不安全,如果多个线程同时访问,仍会产生多个实例对象。 一般实现 创建执行方法 public class WithoutSingleton { public static void withoutSingletonInfo(WithoutSingleton withoutSingleton){ Sy...

    RyanQ 发布于Java
  • rabbitmq延迟消息示例

    摘要:官方插件仅支持版本中支持。使用过程声明消息交换机实现实现消息发送实现实现 官方插件仅支持>=3.6.x 版本中支持。 本文描述的消息延迟机制采用官方推荐的插件rabbitmq-delayed-message-exchange,如精通rabbitmq和编程,请自行查看官方文档,描述更加详尽: github Rabbitmq插件列表 安装 需要在集群每台机器中安装由于rabbitmq并...

    RyanQ 发布于Java
  • JAVA中堆和栈的区别

    摘要:堆内存主要作用是存放运行时创建的对象。堆内存用来存放由创建的对象和数组,在堆中分配的内存,由虚拟机的自动垃圾回收器来管理。这也是比较占内存的原因,实际上,栈中的变量指向堆内存中的变量,这就是中的指针 堆:(对象) 引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型常量),需要通过new等方式来创建。 堆内存主要作用是存放运行时创建(new)的对象。(主要用于存放对象,...

    RyanQ 发布于Java
<