Fork me on GitHub

计算机组成原理-03-校验码

计算机组成原理-03-校验码

1. 校验码概述

  • 校验码:指能够发现或能够自动纠正错误的数据编码,也称检错纠错编码。

  • 实现原理:通过加一冗余码,来检验或纠错编码

  • 码距:简单来说就是两个二进制数比较,在同一数位的地方,数位值不同的个数有多少个,即码距,也称海明距离;

  • 两种方法计算码距。比如0100和1111
    直接观察法:可以看出,有3个数位值不同,所以码距为3.
    异或计算法:0100⊕1111=1011 ,结果为1011,里面有几个1就代表有多少个数位值不同,即码距是多少,这里码距是3。

阅读更多...

Leetcode--083-删除排序链表中的重复元素I

Leetcode–083-删除排序链表中的重复元素

题目描述

  • 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次
  • 返回同样按升序排列的结果链表。

mark

1
2
输入:head = [1,1,2]
输出:[1,2]

mark

1
2
输入:head = [1,1,2,3,3]
输出:[1,2,3]

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
阅读更多...

RabbitMQ-05-AMQP协议

RabbitMQ-05-AMQP协议

1. 概要

  • AMQP全称:Advanced Message Queuing Protocol(高级消息队列协议)。
  • 是应用层协议的一个开发标准,为面向消息的中间件设计。

mark

  • 工作过程:
    • 发布者(Publisher)发布消息(Message),经由交换机(Exchange)。
    • 交换机根据路由规则将收到的消息分发给与该交换机绑定的队列(Queue)。
    • 最后 AMQP 代理会将消息投递给订阅了此队列的消费者,或者消费者按照需求自行获取。
阅读更多...

RabbitMQ-04-Simple模式

RabbitMQ-04-Simple模式

1. rabbitMQ角色分类

mark

  1. none
  • 不能访问management plugin
  1. management : 查看自己的相关节点信息
  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings信息
  • 查看和关闭自己的channels和connections
  • 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。
  1. Policymaker
  • 包含management所有权限
  • 查看和创建和删除自己的virtual hosts所属的policies和parameters信息。
阅读更多...

RabbitMQ-03-安装与入门

RabbitMQ-03-安装与入门

简单概述:

  • RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,支持多种客户端(语言)。用于在分布式系统中存储消息,转发消息,具有高可用,高可扩性,易用性等特征。

  • 官网:https://www.rabbitmq.com/

  • 下载地址 : https://www.rabbitmq.com/download.html

  • 环境准备:CentOS7.x+ / Erlang

    • RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境,第一步就是安装Erlang。
阅读更多...

RabbitMQ-02-消息队列

RabbitMQ-02-消息队列

1. 消息队列协议

mark

  • 消息中间件负责数据的传递,存储,和分发消费三个部分,数据的存储和分发的过程中肯定要遵循某种约定成俗的规范,你是采用底层的TCP/IP,UDP协议还是其他的自己取构建等,而这些约定成俗的规范就称之为:协议。
  • 所谓协议是指:
    • 计算机底层操作系统和应用程序通讯时共同遵守的一组约定,只有遵循共同的约定和规范,系统和底层操作系统之间才能相互交流。
    • 一般的网络应用程序的不同它主要负责数据的接受和传递,所以性能比较的高。
    • 协议对数据格式和计算机之间交换数据都必须严格遵守规范。
阅读更多...

RabbitMQ-01-中间件概述

RabbitMQ-01-中间件概述

1. 中间件简介

  • 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必须要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。

  • 为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如下图所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。

mark

阅读更多...

计算机组成原理-01-计算机系统概述

计算机组成原理-01-计算机系统概述

1. 计算机的四代变化

mark

1)摩尔定律。摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度 。尽管这种趋势已经持续了超过半个世纪,摩尔定律仍应该被认为是观测或推测,而不是一个物理或自然法 。

2)半导体存储器的发展。1970年仙童半导体公司生产出第一个较大容量的半导体存储器,至今,半导体存储器经历了11代;单芯片1KB、4KB、16KB、64KB、256KB、1MB、4MB、16MB、64MB、256MB、1GB。

3)微处理器的发展。微处理器位数:8->16->32->64,这里的32、64指的是机器字长,是指计算机进行一次整数运算所能处理的二进制数据的位数。

阅读更多...

Leetcode--082-删除排序链表中的重复元素II

Leetcode–082-删除排序链表中的重复元素 II

题目描述

  • 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。
  • 返回同样按升序排列的结果链表。

mark

1
2
输入:head = [1,2,3,3,4,4,5]
输出:[1,2,5]

mark

1
2
输入:head = [1,1,1,2,3]
输出:[2,3]

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信