查找算法
线性查找
顺序查找
按照顺序遍历与所查找的数进行比较
1 | public static int search(int[] arry, int des) { |
RabbitMQ是实现AMQP的消息中间件,AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全
Broker
:消息队列服务器实体Exchange
:消息交换机,接收生产者发过来的消息,并将这些消息推送到队列中。它指定消息按特定规则,路由到哪个队列,用于转发消息,但是它不会做存储 ,如果没有 Queue bind 到 Exchange 的话,它会直接丢弃掉 Producer 发送过来的消息。 这里有一个比较重要的概念:路由键 。消息到交换机的时候,交互机会转发到对应的队列中,那么究竟转发到哪个队列,就要根据该路由键Queue
:消息队列载体,每个消息都会被投入到一个或多个队列Binding
:绑定,它的作用就是把exchange和queue按照路由规则绑定起来Routing Key
:路由关键字,exchange根据这个关键字进行消息投递VHost
:虚拟主机,vhost 可以理解为虚拟 broker ,即 mini-RabbitMQ server。其内部均含有独立的 queue、exchange 和 binding 等,拥有独立的权限系统,可以做到 vhost 范围的用户控制。一个虚拟主机持有一组交换机、队列和绑定。为什么需要多个虚拟主机呢?RabbitMQ当中,用户只能在虚拟主机的粒度进行权限控制。 因此,如果需要禁止A组访问B组的交换机/队列/绑定,必须为A和B分别创建一个虚拟主机。每一个RabbitMQ服务器都有一个默认的虚拟主机”/“Producer
:消息生产者Consumer
:消息消费者Channel
:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务