计算机基础 使用JAVA实现队列的数据结构

队列,是一种特殊的链表,是一种只能在表尾进行插入,表头进行删除的特殊链表,是一种先进先出的结构。

一、队列的结构

队列本质是一种链表,因此栈存储结构与链表一致,形象图如下:

整个栈像我们日常生活中的排队,每个排队的人物就是一个队列元素,新来的人只能排在队尾,从开始依次出队

1.给队列添加元素

给队列添加元素

  • 就像在食堂打饭,后来的人就得在队列后面排着,前面的人先到打饭窗口打饭
2.从队列里面删除元素

从队列中删除元素

  • 在食堂打饭

计算机基础 Java数据结构之栈Stack的使用和实现原理解读

一、java中栈与其他集合的关系

1.Stack与其他相关数据结构接口的关系

栈与其他相关数据结构接口的关系

2.Stack与Vector
  • Vector是Stack的父类,它实现了Stack实现与之相关接口的所有方法
3.Vector与ArrayList
  • 相同点:
    • 它们都实现了List接口和Collection接口等 
    • 它们的底层都使用数组来存储节点
  • 不同点
    • (1)线程安全:ArrayList是不是线程安全的,而Vector是线程安

计算机基础 使用JAVA实现栈的数据结构

栈,是一种特殊的链表,是一种只能在表尾进行操作的特殊链表,是一种后进先出的结构。

一、栈的结构

栈本质是一种链表,因此栈存储结构与链表一致,形象图如下:

整个栈像我们日常使用的行礼箱,它是一层一层的放置东西,每件物品相当于一个栈元素,我们如果想放东西,只能从下面往上面放,最后放的东西永远在最上面,如果拿东西,也是从第上面开始拿

1.给栈添加元素

给栈添加元素

  • 就像往箱子里面放东西,后放的东西总是在最上面
2.从

计算机基础 java数据结构之链表LinkedList的使用与实现原理解读

一、LinkedList的优缺点 

  • 优点:
    • 插入和删除操作较快,只需要修改对应的指针即可
  • 缺点:
    • 通过索引查找元素较慢

二、LinkedList与其他数据结构的关系

1.LinkedList与集合等结构的关系

LinkedList与其他集合的关系

2.LinkedList实现的方法

LinkedList实现的接口方法

三、LinkedList的使用及实现原理解读

1.LinkedList的属性
  • size : 元素个数
  • first : 链首,链表的第一个节点(Node)
  • las

计算机基础 java数据结构之数组列表ArrayList的使用及实现原理解读

一、ArrayList的作用及优缺点

ArrayList是通过数组作为存储为实现的列表,它是一种顺序存储结构

  • 优点
    • 通过位置(索引)查找数据较快
  • 缺点
    • 插入数据需要移动插入位置后面所有的元素
    • 删除数据需要移动删除位置后面所有的元素

二、ArrayList类与其他数据结构之间的关系

1.ArrayList与其他集合类型的关系

ArrayList与其他数据结构之间的关系

2.ArrayList与具体的集合类型的关联

ArrayList与其他接口之间的关系

  • JAVA数据结构大致可分为两

计算机基础 列表数据结构及使用java实现一个简单的数组列表(ArrayList)和链表(LinkedList)

链表,也称为列表,即List

一、链表的结构

1.链表的逻辑结构

链表的逻辑结构

  • 链表的第一个元素叫表名,最后一个元素叫表尾
  • 每个元素有一个指向下一元素地址的指针
2.链表的存储结构

链表的存储结构

  • 每个链表的元素的存储单元未必是连续的空间
3.链表元素的插入

(1)在元素A后面插入元素C

插入元素C

(2)将元素A的下一元素的指针指向元素C,并将元素C的下一个元素的指针指向元素B

修改next的指针

4.链表元素的删除

(0)删除元素F

删除元素C

(1)将删除元素的

计算机基础 数据结构之数组

一、数组的结构

数组是一组具有相同数据类型的元素的集合,并且存储在一段连续的存储单元中。

1.数组的逻辑结构

数据的逻辑结构

  • 数组有5个数据元素,其值分别为A、B、C、D、E
  • 元素可以通过索引(下标)来访问其存储的值
  1. Character[] arr = new Character[5];
  2. arr[0] = 'A';
  3. arr[1] = 'B';
  4. arr[2] = 'C';
  5. arr[3] = 'D';
  6. arr[4] = 'E';

计算机基础 数据结构概述

一、什么是数据结构

存在一种或多种特定关系的数据元素的集合

  • 数据:描述客观事物的符号。
  • 数据项:描述数据的不可分割的最小单元,可以认为是数据的属性。
  • 数据元素:组成数据的、有一定意义的基本单元。也称为记录。
  • 数据对象:具有性质相同的数据元素的集合

二、数据结构的成员

1.数据对象与数据元素、数据项的关系

数据对象与数据元素的关系

  • 一个数据对象可能由一个或多个数据元素组成。
  • 一个数据元素可能由一个或多个数据项(数据属性)组成。
2.

消息系统 RocketMQ安装和启动管理

这里以RocketMQ4.3.0为例,另外这里以rocketmq单机版来做说明(集群版只是在配置上有所改变,在安装上并无差别)

一、安装RocketMQ

1.安装要求
  • 系统要求:64位操作系统(推荐使用Linux和MacOS)
  • 编程环境:JDK1.8+
  • 包管理工具:Maven
2.源码安装

(1)下载源码并解压

  1. wget http://mirror.bit.edu.cn/apache/rocketmq/4

消息系统 1.RocketMQ介绍和基本概念

RocketMQ是阿里巴巴开源的一款消息系统中间件,现已捐赠给apache基金会。

一.项目主页

二.消息队列的主要作用和场景

1.应用解耦

在中大型电商系统中,商品系统,交易系统,支付系统等都属于单独的应用或服务,两个系统通信可能是依赖于接口服务,也可能是依赖于消息队列。如果其