java技术圈 为您找到相关结果 11

B+树原理了解 – OneCoder

前言 B+树,是数据库索引的一个数据类型。B+树,是从最早的平衡二叉树演化而来。先了解一下二叉查找树、平衡二叉树、和B树。 二叉查找树 左子树的键值小于根的键值,右子树的键值大于根的键值。 二叉查找树可以任意地构造,以下这种也是二叉查找树,但是其查询效率太低 平衡二叉树 平衡二叉树(AVL树)在符合二叉查找树的条件下,还满足任何节点的两个子树的高度最大差为1。 当失去平衡时,有四种姿态: “左左”。插入或删除一个节点后,根节点的左孩子(Left Child)的左孩子(Left Child)还有非空节点,导致根节点的左子树高度比右子树高度高2,AVL树失去平衡。 将根节点的左孩子作为新根节点。 将新根节点的右孩子作为原根节点的左孩子。 将原根节点作为新根节点的右孩子。 “右右”。插入或删除一个...阅读全文

博文 2021-04-08 10:42:52 onecoder.site

LSM 算法的原理是什么?

其实大家提的 LSM 最开始论文里面都使用树做搜索结构的, 现在在用的都不是严格的树结构了。 如[这篇文章](https://www.igvita.com/2012/02/06/sstable-and-log-structured-storage-leveldb/)解释的一样,从最朴素的角度上来讲可以把`SSTable(sorted string table)`作为一个连续的kv构成的块。SSTable +-+---+----+---+ |k| v | k | v | ... +-+---+----+---+对于一个大文件来说,读取整个文件以后就能构成一个各个键值的索引,当然可以在文件追加一块索引,和文件一起保存。Index +-+-------+ |k|offset | +-+------...阅读全文

博文 2020-02-19 13:03:37 知乎

Get请求与URL编码解码_Boboma_dut的博客

Get请求传参,与编码解码 @1 Get请求流程: 在get请求中,参数直接添加在了url后面,同url一起提交到服务器。 常用的url参数的格式为: http://ip:port/path/file?参数1=值1&参数2=值2…. 多个参数之间使用&分割,参数与值之间使用=分割 例如: http://localhost:8080/http/test?p1=zhangsan&p2=18 服务器端Servlet通过 req.getParameter(“参数名”)就可以获取相应参数的值。 @2 问题的产生 这是正常的使用情况,我们需要考虑某些特殊情况,如下: 假如p1参数的值是 “zhang&san”,那么url地址变为: http://localhost:8080/http/test?p1=z...阅读全文

博文 2022-04-13 07:07:46 CSDN博客_get请求url编码

Http Body 的四种格式_OnebyWang的博客

Http Body 的四种格式 1、参考资料 http的请求体body的几种数据格式 HTTP协议之multipart/form-data请求分析 2、Http Body 的四种格式 在 Postman 的请求体中有这样四种格式:form-data,x-www-from-urlencoded,raw,binary,那么这四种格式分别代表什么呢? 2.1、form-data form-data 的作用 form-data 就是 Http 协议中的 multipart/form-data,表示以表单形式提交,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。 使用 form-data 传输字符串键值对 在 Postman 选择 Body 的格式为 fo...阅读全文

博文 2022-03-23 12:55:08 CSDN博客_body的格式

ElasticSearch date_histogram按时间聚合统计_wanson2015的博客

按时间统计 如果搜索是在 Elasticsearch 中使用频率最高的,那么构建按时间统计的 date_histogram 紧随其后。 为什么你会想用 date_histogram 呢? 假设你的数据带时间戳。 无论是什么数据(Apache 事件日志、股票买卖交易时间、棒球运动时间)只要带有时间戳都可以进行 date_histogram 分析。当你的数据有时间戳,你总是想在 时间 维度上构建指标分析: 今年每月销售多少台汽车?这只股票最近 12 小时的价格是多少?我们网站上周每小时的平均响应延迟时间是多少? 虽然通常的 histogram 都是条形图,但 date_histogram 倾向于转换成线状图以展示时间序列。 许多公司用 Elasticsearch _仅仅_ 只是为了分析时间序列数...阅读全文

博文 2022-05-24 11:57:26 CSDN博客_date_histogram

ElasticSearch学习笔记之九 复杂数据类型和嵌套对象_灵动的艺术的博客

ElasticSearch学习笔记之九 复杂数据类型和嵌套对象 复杂数据类型空域数组域多层级对象内部对象的映射内部对象的索引内部对象数组 嵌套对象嵌套对象映射 复杂数据类型 除了前面说到的简单数据类型,Elasticsearch还支持JSON 的null ,数组,和对象. 空域 字段取值可以为空,当然,数组也可以为空。 然而,在 Lucene 中是不能存储 null 值的,所以我们认为存在 null 值的域为空域。 下面三种域被认为是空的,它们将不会被索引: "null_value": null, "empty_array": [], "array_with_null_value": [ null ] 数组域 很多时候,我们希望 tag 域 包含多个标签。我们可以以数组的形式索引标签: { ...阅读全文

博文 2022-10-02 13:22:46 CSDN博客

OpenTSDB 数据存储详解

本文首发于 vivo互联网技术 微信公众号链接: https://mp.weixin.qq.com/s/qayKiwk5QAIWI7-nyD3FVA作者:DuZhimin随着互联网、尤其是物联网的发展,我们需要把各种类型的终端实时监测、检查与分析设备所采集、产生的数据记录下来,在有时间的坐标中将这些数据连点成线,往过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。这些数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。基于时间序列数据的特点,关系型数据库无法满足对时...阅读全文

博文 2023-05-11 08:18:32 知乎

双列集合Map不再难懂:轻松掌握这些知识点!

## 1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,学号与学生等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。 Map 接口下的集合与Collection 接口下的集合,他们的存储形式有所不同,如下图: ![image.png](http://static.itsharecircle.com/231205/ebb5393154fd764d6d07353910a6296c.png) Collection 集合,元素是独立的,存储的元素是一个一个的存储。Map中的集合,元素是成对出现。每个元素由键与值两部分组成,通过键可以找到所对应的值。所以我们前面所说 Collection是单列集...阅读全文

博文 2023-12-05 10:47:07 YDYXCODE

Java集合:双列集合HashMap的概念、特点及使用

HashMap是Java中的一个集合类,它实现了Map接口,提供了一种存储键值对的方式。你可以把它想象成一个没有固定大小和形状的储物柜,你可以随时往里面放东西,也可以随时取出东西。而且,这个储物柜还有一个神奇的功能,那就是无论你放进去的是什么,取出来的总是你放进去的那个。 上篇文章讲了Map接口的概念,以及Map接口中的常用方法和对Map集合的遍历,本篇文章我们将继续介绍另一个十分重要的双列集合—HashMap。 ## HashMap 概念 HashMap集合是Map接口的一个实现类,它用于存储键值映射关系,该集合的键和值允许为空,但键不能重复,且集合中的元素是无序的。 #### 特点 HashMap底层是由哈希表结构组成的,其实就是“数组+链表”的组合体,数组是HashMap的主体结构,链...阅读全文

博文 2023-12-12 10:40:31 YDYXCODE

【干货】一文掌握JavaScript检查对象空值的N种技巧!

在开发 JavaScript 应用程序时,经常需要检查对象是否为空。这是因为在处理和操作对象数据时,我们需要确保对象包含有效的值或属性。以下是一些常见情况,我们需要检查 JavaScript 对象是否为空: **防止空引用错误:** 当我们尝试访问或使用一个空对象时,可能会导致空引用错误(如 TypeError: Cannot read property ‘x’ of null)。通过检查对象是否为空,我们可以避免这些错误的发生,并采取相应的处理措施。 **数据验证和表单提交:** 在表单提交之前,通常需要验证用户输入的数据是否有效。如果对象为空,表示用户未提供必要的数据或未填写表单字段,我们可以显示错误消息或阻止表单提交。 **条件逻辑和流程控制:** 根据对象是否为空,可以根据不同的条件...阅读全文

博文 2024-01-30 10:31:39 YDYXCODE

掌握Redis核心:常用数据类型的高效运用秘籍!

在数据驱动的时代,高效地存储和处理数据成为了开发者们的重要任务。Redis,作为一个开源的高性能键值对(key-value)数据库,以其独特的数据结构和丰富的功能,成为了众多项目的首选。 今天,我们就来揭开Redis的神秘面纱,看看它是如何通过不同的数据类型,为我们提供高效、灵活的数据存储和处理能力的。 ### 一、字符串(String):数据的基石 #### String类型简介 字符串是Redis最基本的数据类型,它可以存储文本、数字或者二进制数据。 使用字符串类型,你可以执行原子性的操作,如追加(APPEND)、设置(SET)和获取(GET)。例如,你可以将用户信息作为字符串存储,并通过键快速检索。 - 一个key对应一个value。 - String类型是二进制安全的。只要内容可以使...阅读全文

博文 2024-02-22 17:31:10 YDYXCODE