• 滑动窗口

    滑动窗口,顾名思义,就是“滑动”的窗口。我们在处理数组的子区间问题(如求出数组 array 的某个子区间的长度)时,可以同时使用两个指针(也可以说是下标): start 和 end ,在这个数组中“圈出”一个窗口,并根据条件移动右边界 end 或左边界 start ,实现窗口的“滑动”。 这种算法能够将时间复杂度从O(n^2)优化为O(n), 滑动窗口有三种形式:固定长度窗口,最大窗...
  • 键值对 Entry 键值(key, value)对是双列集合的基本单元,也就是说,双列集合一次需要添加一对数据( key 与 value) 键值对中,key 不可以重复,但是 value 可以重复 key 和 value 是一一对应的关系 双列集合的结构如下: key value 可乐 3元 雪碧 3元 芬达 3.5元 Map 集合Map 集合是所有双列集合的...
  • 简介从本质上来说,MQTT的主题就是一个 UTF-8 编码的字符串,用于给消息进行分类 我们也可以指定多层主题,每层主题之间使用 / 分隔,如 chat/topic1/msg1 MQTT 的主题在客户端订阅或发布信息时自动创建,不需要手动进行创建 主题通配符主题通配符有两种: + 和 # ,它们的作用是帮助客户端一次订阅多个主题 单层通配符 +单层通配符用于替代订阅的主题中的某个层级,有效的...
  • 简介泛型用于约束集合中元素的数据类型,并进行检查 泛型只能使用引用数据类型(对于基本数据类型,需要使用其包装类) 泛型统一了集合元素的数据类型,同时将避免了程序异常,当不确定存储数据的类型时,就可以使用泛型 泛型定义泛型可以在多个位置定义: 在类上定义 123public class Class1<E> { // 类的成员变量和成员方法} 其中,&...
  • 原始注解原始注解主要替代 ApplicationContext.xml 中对 Bean 的配置,包括以下注解: 注解 说明 @Component 用于实例化Bean @Contorller
  • Java-集合进阶1-单列集合

    Collection 集合Collection 集合是所有单列集合的父接口,所有的单列集合都实现了 Collection 接口,可以分为 List 、Set 两类(这里的 List 和 Set 也是接口,是继承自 Collection 的) Collection 集合的常见成员函数如下(这里使用 ArrayList 的对象进行演示): 123456789public static void ...
  • MQTT-消息质量等级

    简介MQTT基于TCP/IP协议。但在实际生产过程中,MQTT终端(一般为消息发布者PUBLISHER)所在的网络环境通常是不稳定的。这就导致终端向Broker发送消息的进程会因为网络波动而中断,进而导致信息发送不完全。 为了应对网络波动的问题,MQTT引入了QOS(消息质量等级)。QOS的常见取值与对应的含义如下: QOS=0:消息最多送达一次(消息可能因为网络波动而...
  • SQLite-基本概念

    关系型数据库(RDBMS)关系型数据库使用 数据表 来存储数据,这些表之间通过 关系 连接,数据库基于关系模型设计 关系型数据库的核心特性是能够对数据进行组织、查询、更新、删除等操作,并且确保数据一致性、完整性、持久性和隔离性。典型的关系型数据库系统有 MySQL、PostgreSQL、Oracle、SQL Server 等 这里学习的 SQLite 也是一种关系型数据库 数据表(Table...
  • MQTT-控制报文

    简介报文是网络中交换与传输数据的最小数据单元,即一次性需要发送的数据块。它包含发送的完整数据信息,长度不限且可变。MQTT客户端和服务端就是通过交换控制报文完成工作(如订阅主题、发布信息)的 以MQTT发送的信息为例,在客户端发送的数据中,不仅包含花括号里面的内容(也就是我们发送的信息),也包括一些其他内容,这两部分是一个整体(数据块),作为控制报文进行发送 常见的控制报文类型MQTT定义了...
  • Spring-配置数据源

    数据源使用步骤 导入数据源坐标和数据库驱动坐标 创建数据源对象 设置数据源的基本连接数据(驱动,地址,用户名,密码) 获取连接资源和归还资源 创建数据源这里选择的数据源为 c3p0 和 druid ,并使用 Junit 进行数据源的测试 在 test.java 中创建数据源对象1. 在 pom.xml 中导入数据源坐标在xml中添加 <dependencies> 标签,然后在里...
1234