-
Google F1 Schema 变更控制协议详解
Asynchronous Schema Change in F1 最近在学习 TinySQL 的时候, 也就是一个小型的 TiDB, 才知道分布式数据库中对 schema 变更的特殊处理, 由于之前不了解分布式数据库, 也不熟悉分布式协议, 找了一些资料, 也读了 Google F1 的原论文, 这 -
Google F1 Schema 变更控制协议详解
Asynchronous Schema Change in F1 最近在学习 TinySQL 的时候, 也就是一个小型的 TiDB, 才知道分布式数据库中对 schema 变更的特殊处理, 由于之前不了解分布式数据库, 也不熟悉分布式协议, 找了一些资料, 也读了 Google F1 的原论文, 这 -
Google F1 Schema 变更控制协议详解
Asynchronous Schema Change in F1 最近在学习 TinySQL 的时候, 也就是一个小型的 TiDB, 才知道分布式数据库中对 schema 变更的特殊处理, 由于之前不了解分布式数据库, 也不熟悉分布式协议, 找了一些资料, 也读了 Google F1 的原论文, 这 -
需求分析书
需求分析说明书:大学城南亭餐饮娱乐点评系统 1. 项目概述 1.1 系统简介 本项目旨在开发一个针对大学城南亭的点评系统,类似于"大众点评"的校园版。系统将专注于服务本校学生群体,提供周边商户信息、用户评价、优惠活动等功能,让周围的学生可以得到良好的消费体验 1.2 独特设计/功能 本团队的独特设计 -
Java的集合
1. Collection 接口 这是所有单列集合的根接口。它提供了对集合对象进行基本操作的通用接口。 2. List 接口 ArrayList:基于动态数组实现,支持快速随机访问。 LinkedList:基于双向链表实现,在添加或删除元素时效率较高。 Vector:早期的动态数组实现,与Array -
团队作业2-需求规格说明书
团队作业2-需求规格说明书 DeepMind 团队 项目github地址: https://github.com/DeepMind-GDUT/CodePilot -
HashMap的底层原理
HashMap 就是基于散列表也就是Hash表的数据结构,通过(key-Value)来存储数据的,key不可重复,Value可以重复的,通过key的哈希值与与数组大小-1按位与来获取元素在数组中的位置,然后通过数组+连表+(java8之后就是数组+链表+红黑树)实现的。 哈希冲突又是什么? 哈希冲突 -
SQL窗口函数
窗口的意思是将数据进行分组,每个分组即是一个窗口,这和使用聚合函数时的group by分组类似,但与聚合函数不同的地方是: 聚合函数(例如:sum/avg/min/max)会针对每个分组(窗口)聚合出一个结果(每一组返回一个结果)。 窗口函数会对每一条数据进行计算,并不会使返回的数据变少(每一行返回 -
注册中心ETCD 、 Zookeeper、 Eureka、Nacos、Consul
注册中心 注册中心主要有三种角色: 服务提供者(RPC Server):在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。 服务消费者(RPC Client):在启动时,向 Registry 订阅服务,把 Registry 返回的服务节点列表缓存在本地内 -
算法学习|卢卡斯定理
卢卡斯定理 卢卡斯定理(Lucas' Theorem) 计算大数的组合数模素数 $C(n, k)\mod p $,其中 $ p $ 是素数。 定理内容 将 $ n $ 和 $ k $ 表示为 $ p $ 进制数: \(n = n_m p^m + n_{m-1} p^{m-1} + \dots + n -
算法学习|卢卡斯定理
卢卡斯定理 卢卡斯定理(Lucas' Theorem) 计算大数的组合数模素数 $C(n, k)\mod p $,其中 $ p $ 是素数。 定理内容 将 $ n $ 和 $ k $ 表示为 $ p $ 进制数: \(n = n_m p^m + n_{m-1} p^{m-1} + \dots + n -
算法学习|埃拉托斯特尼筛法
埃拉托斯特尼筛法(埃氏筛) 筛选出所有小于等于n的质数 步骤 初始化布尔数组:创建一个长度为 n+1 的数组 is_prime,初始时除 0 和 1 外,其他元素设为 True。 **标记非质数:从 2 开始遍历到 √n,若当前数 i 是质数,则将其所有倍数标记为非质数(从 i² 开始)。 收集结果