• 设计模式简介(一)

    什么是设计模式?在软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案。 换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。 设...
  • 初探 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)从这个队列中获取消息。 安装...
  • Java并发编程的艺术读后总结(一)

    并发编程的挑战上下文切换CPU 通过时间片的分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。这个任务从保存到再加载的的过程就是一次上下文切换。 如...
  • 初探 RabbitMQ (一)

    简介RabbitMQ 是高级消息队列协议(AMQP)的开源消息代理软件。 RabbitMQ 服务器是用 Erlang 语言编写的,消息系统允许软件、应用相互连接和扩展。这些应用可以相互链接起来组成一个更大的应用,或者将用户设备和数据进行连接。消息系统...
  • Git 本地仓库同时推送多个远程仓库

    1. 生成新的 SSH key1ssh-keygen -t rsa -C 'xxxxxxxx@xxx.com' -f id_rsa_tencen 2. 上传公钥到git仓库提供商Gitee 设置账户 SSH 公钥用户可以通过主...
  • 浅谈 TCP 三次握手、四次挥手

    1.1 TCP 三次握手如下图所示,下面的两个机器人通过3次握手确定了对方能正确接收和发送消息(图片来源:《图解HTTP》)。 ! 简单示意图: 客户端–发送带有 SYN 标志的数据包–一次握手–服务端 服务端–发送带有 SYN/ACK...