• 个人总结 -- Java基础查漏补缺

    1. Java 和 C++ 的区别? 都是面向对象的语言,都支持封装、继承和多态 Java 不提供指针来直接访问内存,程序内存更加安全 Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。 Java ...
  • 个人总结 -- 并发查漏补缺

    Java 内存区域与内存溢出异常 运行时数据区域程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变...
  • 设计模式 -- 工厂模式

    什么是工厂模式 ?工厂模式(Factory Pattern)的意义就跟它的名字一样,在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象。工厂模式根据不同的参数来实现不同的分配方案和创建对象。 在工厂模式中,我们在创建对象时不会对客户端暴露创建...
  • Java并发编程的艺术读后总结(四)

    Java 并发编程技术线程简介什么是线程 进程:现代操作系统运行一个程序时,会为其创建一个进程。(进程可以认为是运行着的程序,活着的程序)。 线程:现代操作系统的最新调度单位就是线程,线程也称为轻量级进程(Light Weight Process)...
  • 设计模式简介(一)

    什么是设计模式?在软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案。 换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。 设...
  • 初探 RabbitMQ (四)

    发布与订阅 分发一个消息给多个消费者(consumers)。这种模式被称为“发布/订阅”。 知识点 交换机简介 学习使用扇形交换机 交换机 发布者(producer):发布消息的应用程序 队列(queue):用于消息存储的缓冲 消费者(consum...
  • Java并发编程的艺术读后总结(三)

    Java 内存模型Java 内存模型的基础并发编程的两个关键问题在并发编程中,需要初拉力两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两...
  • Java并发编程的艺术读后总结(二)

    Java 并发机制的底层实现原理Java 代码在编译后会变成 Java 字节码,字节码被类加载器加载到 JVM 里,JVM 执行字节码,最终需要转化为汇编指令在 CPU 上运行, Java 中所使用的并发机制依赖于 JVM 的实现和 CPU 的指令。...
  • 初探 RabbitMQ (三)

    工作队列前面写了一个从已知队列中发送和获取消息的程序。现在我们将创建一个工作队列(Work Queue),它会发送一些耗时的任务给多个工作者(Worker)。 工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的...
  • 初探 RabbitMQ (二)

    Hello World 测试实验内容通过一个程序发送 “Hello world”,另一个程序接受消息并且打印到屏幕上。 生产者(Producer)把消息发送到一个名为 “hello” 的队列中。消费者(Consumer)从这个队列中获取消息。 安装...