目录

    • 什么时候才会转换为红黑树?
    • 为什么要转换为红黑树?
    • 为什么不一开始就用红黑树,反而要经历一个转换的过程呢?
    • 从链表转化为红黑树的阈值为什么是8?

什么时候才会转换为红黑树?

当Map链表长度大于或等于阈值TREEIFY_THRESHOLD(默认为 8)的时候,如果同时还满足容量(数组的长度)大于或等于 MIN_TREEIFY_CAPACITY(默认为 64)的要求,就会把链表转换为红黑树。同样,后续如果由于删除或者其他原因调整了大小,当红黑树的节点小于或等于 6 个以后,又会恢复为链表形态。

为什么要转换为红黑树?

每次遍历一个链表,平均查找的时间复杂度是 O(n),n 是链表的长度。红黑树有和链表不一样的查找性能,由于红黑树有自平衡的特点,可以防止不平衡情况的发生,所以可以始终将查找的时间复杂度控制在 O(logn)。最初链表还不是很长,所以可能 O(n) 和 O(log(n)) 的区别不大,但是如果链表越来越长,那么这种区别便会有所体现。所以为了提升查找性能,需要把链表转化为红黑树的形式。

为什么不一开始就用红黑树,反而要经历一个转换的过程呢?

JDK 的源码注释中已经对这个问题作了解释:
在这里插入图片描述
这段话的意思是:因为树节点(TreeNodes)所占的空间是普通节点Node的两倍,所以我们只有在桶中包含足够的节点时才使用树节点(请参阅TREEIFY_THRESHOLD)(只有在同一个哈希桶中的节点数量大于等于TREEIFY_THRESHOLD时,才会将该桶中原来的链式存储的节点转化为红黑树的树节点)。并且当桶中的节点数过少时 (由于移除或调整),树节点又会被转换回普通节点(当桶中的节点数量过少时,原来的红黑树树节点又会转化为链式存储的普通节点),以便节省空间。

从链表转化为红黑树的阈值为什么是8?

通过查看源码可以发现,默认是链表长度达到 8 就转成红黑树,而当长度降到 6 就转换回去,这体现了时间和空间平衡的思想,最开始使用链表的时候,空间占用是比较少的,而且由于链表短,所以查询时间也没有太大的问题。可是当链表越来越长,需要用红黑树的形式来保证查询的效率。对于何时应该从链表转化为红黑树,需要确定一个阈值,这个阈值默认为 8,并且在源码中也对选择 8 这个数字做了说明,原文如下:
在这里插入图片描述
如果 hashCode 分布良好,也就是 hash 计算的结果离散好的话,那么红黑树这种形式是很少会被用到的,因为各个值都均匀分布,很少出现链表很长的情况。在理想情况下,桶(bins)中的节点数概率(链表长度)符合泊松分布,当桶中节点数(链表长度)为 8 的时候,概率仅为 0.00000006。这是一个小于千万分之一的概率,通常我们的 Map 里面是不会存储这么多的数据的,所以通常情况下,并不会发生从链表向红黑树的转换。
但是,HashMap 决定某一个元素落到哪一个桶里,是和这个对象的 hashCode 有关的,JDK 并不能阻止我们用户实现自己的哈希算法,如果我们故意把哈希算法变得不均匀,例如:
在这里插入图片描述
事实上,链表长度超过 8 就转为红黑树的设计,更多的是为了防止用户自己实现了不好的哈希算法时导致链表过长,从而导致查询效率低,而此时转为红黑树更多的是一种保底策略,用来保证极端情况下查询的效率。

通常如果 hash 算法正常的话,那么链表的长度也不会很长,那么红黑树也不会带来明显的查询时间上的优势,反而会增加空间负担。所以通常情况下,并没有必要转为红黑树,所以就选择了概率非常小,小于千万分之一概率,也就是长度为 8 的概率,把长度 8 作为转化的默认阈值。

所以如果平时开发中发现 HashMap 或是 ConcurrentHashMap 内部出现了红黑树的结构,这个时候往往就说明我们的哈希算法出了问题,需要留意是不是我们实现了效果不好的 hashCode 方法,并对此进行改进,以便减少冲突。

HashMap何时会链表转红黑树

相关文章

  1. 数据结构入门(C语言版)图的概念和功能函数实现

    图的概念和功能函数实现 前言1.图的定义和术语1.1 定义1.2 常用术语 2.图的存储结构2.1 图的数组(邻接矩阵)存储表示2.2 图的邻接表存储表示 3.图的遍历3.1 深度优先搜索3.2 广度优先搜索3.3 示例 4.连通网的最小生成树4.1 克鲁斯卡尔(Kruskal)算法4.2 普里姆(Prim)算法 5.图的…...

    2023/5/28 20:25:06
  2. 初识linux之简单了解TCP协议与UDP协议

    目录 一、理解源IP地址和目的IP地址 二、端口号 1. 为什么要有端口号 2. 理解端口号 3. 源端口号和目的端口号 三、初步了解TCP协议和UDP协议 1. 初步认识TCP协议 2. 初步认识UDP协议 3. 可靠传输与不可靠传输 四、网络字节序 1. 网络字节序的概念 2. 如何形成网络…...

    2023/5/28 20:21:28
  3. 数据大航海时代,奇安信如何构筑数据安全的“天盾”?

    你知道你的数据正在“被动”泄露吗? 随着ChatGPT技术的快速落地,数据安全面临的挑战越来越多。数据安全供应商Cyberhaven近期发布的一份研究显示,在2023年初的一周内,每十万名员工中机密业务数据被输入ChatGPT199次。用户可能没有…...

    2023/5/28 20:20:46
  4. 矿井水除总氮工艺详解

    一、项目概述 项目背景: 1、水资源浪费长期以来,采煤对地下水造成了严重破坏。绝大部分矿井水,被以直排方式,流入河道、田野,这不仅造成水资源的白白浪费,也污染了环境。社会对此反响强烈的同时,煤矿企业也…...

    2023/5/28 20:19:59
  5. Glide预加载图片preload失效问题修复!

    背景 项目中有这样一个需求:在APP中展示一个操作指引,这是三张服务端下发的图片。 为了提高用户体验,想要先下载图片,然后下载完成之后,再对图片进行展示,这样用户就不必看到加载图片时的空白状态。 实现方案 这里我打算新写一个工具类,专门用来处理类似的请求。同时…...

    2023/5/28 20:18:48
  6. 从零开始学习JavaScript:轻松掌握编程语言的核心技能①

    从零开始学习JavaScript:轻松掌握编程语言的核心技能 一,JavaScript 简介为什么学习 JavaScript?JavaScript 用法 二,JavaScript 输出JavaScript 显示数据JavaScript:直接写入 HTML 输出流 三,JavaScript 语法JavaScr…...

    2023/5/28 20:15:31
  7. Nacos源码-从Demo出发研究事件驱动与观察者模式的应用

    在我们分析 Nacos 源码时,会看见大量的事件发布的动作,不管是客户端注册/下线、服务改变、服务订阅等等都是利用了事件发布。 下面我在自己的项目中,引入Nacos的依赖进行一个简单的demo的演示,我个人认为其和spring容器的listene…...

    2023/5/28 20:14:34
  8. 只做笔记有必要买apple pencil吗?好写的电容笔排行榜

    随着科技的发展,出现了许多新的电子器件和数码器件。比如智能手机,比如ipad,比如电容笔等等。但实际上,想要让ipad发挥出最大的作用,就必须要有一支好的电笔。就像是我们在ipad上写字,总是要手写&#xff0…...

    2023/5/28 20:14:14
  9. Prometheus之exporter详解

    何为exporter Prometheus 监控基于一个很简单的模型: 主动抓取目标的指标接口(HTTP 协议)获取监控指标, 再存储到本地或远端的时序数据库. Prometheus 对于指标接口有一套固定的格式要求, 格式大致如下: # HELP http_requests_total The total number of HTTP requests. # TYPE…...

    2023/5/28 20:13:16
  10. 快速检测 GlassFish 任意文件读取漏洞的 Python 脚本

    部分数据来源:ChatGPT 引言 当下,互联网安全问题正愈发严重,黑客利用各种漏洞进行攻击的频率也在持续增加。在2015年10月,一位名为“路人甲”的安全研究员在乌云上公开了一个名为“应用服务器glassfish存在通用任意文件读取漏洞”的漏洞(编号:wooyun-2010-0144595),该…...

    2023/5/28 20:11:40
  11. 【Unity3D】广告牌特效

    1 前言 广告牌特效是指:空间中的一个 2D 对象始终(或尽可能)面向相机,使得用户能够尽可能看清楚该 2D 物体。广告牌特效一共有以下 3 种: 正视广告牌:广告牌始终以正视图姿态面向相机,即广告牌…...

    2023/5/28 20:11:00
  12. JSP(三)-- JSP注意事项

    目录 1. JSP -- 九大隐式对象 2. PageContext对象的认识 2.1 PageContext的简介 2.2 PageContext生命周期...

    2023/5/28 20:10:42
  13. 2023 牛津大学博士后申请指南

    牛津大学是全球著名的高等教育机构,其博士后项目备受瞩目。为了帮助申请者更好地了解牛津大学博士后申请流程,本文将介绍该校博士后申请指南的相关内容。一、申请条件首先,申请者必须已经获得博士学位或即将完成博士学位,并具有相…...

    2023/5/28 20:06:19
  14. 详细介绍线程间通信

    详细介绍线程间通信 线程间通信是指在多线程编程中,不同的线程之间通过某种方式交换信息的过程。这是一个重要的概念,因为线程之间的协作是实现复杂并发系统的关键。 下面是一些线程间通信的常见方式和示例: 1. 共享变量 共享变量是最简单…...

    2023/5/28 19:56:24
  15. Rust 笔记:发布订阅模式及其 在 Rust 语言中的使用

    Rust 笔记、设计模式 发布订阅模式及其 在 Rust 语言中的使用 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 :291148484163.com 本文地址:https://blog.csdn.ne…...

    2023/5/28 19:56:06
  16. nodejs+vue社区重点人员户籍信息查询系统

    为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,重点人员信息查询就是信息时代变革中的产物之一。 任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要…...

    2023/5/28 19:53:03
  17. Docker容器 和 Kubernetes容器集群管理系统

    一、快速了解Docker 1. 什么是Docker的定义 Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以…...

    2023/5/28 19:50:57
  18. 【数据结构】轻松掌握二叉树的基本操作及查找技巧

    二叉树的基本操作 ​ 在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还不够深入,为了降低学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉树操…...

    2023/5/28 19:50:37
  19. Linux Shell命令行常用操作

    shell是Linux系统中的一个程序,用于接收键盘的命令,可以算作是用户和操作系统之间的接口CLI。 Directories目录 pwd:Print Working Directory 的缩写,这个命令将显示你当前所在的目录。 cd: Change Directory 的缩写…...

    2023/5/28 19:42:15
  20. 应急响应-web

    应急响应的流程分为6个阶段 PDCERF 准备 ,检测,抑制,根除,恢复,总结 准备: 准备阶段就是以预防为主,准备一些应急响应的预案,对应急响应的分工操作制定一些计划,进行应…...

    2023/5/28 19:40:19
  21. 数据在内存中是如何存储的?(上)

    C语言进阶——数据在内存中是如何存储的? 一. 整型数据的二进制表示二.数据类型详细介绍1.1 类型的基本归类1.2认识有无符号的区别( signed 和 unsigned )1.3代码理解一:1.4代码二理解:1.5代码三理解:1.6代…...

    2023/5/28 19:34:43
  22. 《数据库应用系统实践》------ 超市管理系统

    系列文章 《数据库应用系统实践》------ 超市管理系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明&#xff…...

    2023/5/28 19:33:37
  23. 基于FPGA的Bayer转RGB算法实现

    1 概述 Bayer转RGB在图像处理中被称为去马赛克(Demosaic),是机器视觉ISP流程中的一个基础且重要的算法,主要完成彩色图像传感器原始的Bayer格式图像到RGB格式图像的转换。 关于Bayer图像的相关概念和知识,本文不作介绍…...

    2023/5/28 19:33:26
  24. window安装docker Desktop和wsl2

    目录 一、先到微软商店下载terminal (也就是power shell,后续命令都在这个里面执行) 二、安装docker Destop 1.打开控制面板 2.勾选Hyper-V服务 3、根据提示重启电脑,等待更新即可 二.启动Docker Desktop 2.1 报错,提示需要最新的WSL 方式一&#…...

    2023/5/28 19:32:24
  25. jquery data和data-属性不一致问题

    延申val和value属性同样不一致 <script src"https://code.jquery.com/jquery-3.7.0.min.js"></script> <input type"text" value"F119-PW110" data-tag"F119" id"txtEngine" name"Engine" placeh…...

    2023/5/28 19:30:36
  26. Meta Learning

    Meta Learning&#xff08;元学习&#xff09;是一种机器学习技术&#xff0c;它的核心思想是学习如何学习。 Meta Learning的目标是从以前的学习经验中学习到通用的学习策略和模式&#xff0c;以便在新的任务上快速适应和学习。 Meta Learning的核心思想是将学习任务视为元任…...

    2023/5/28 19:24:18
  27. CGAL的编译以及在VS中的使用

    CGAL的编译以及在VS中的使用 在被CGAL长久的折磨了两三周 在学习过程中有好几次库都出现了问题 所以打算重新更换一下版本 CGAL可以说是学习这么久以来见过最离谱&#xff08;ex&#xff09;的环境配置&#xff0c;期间出了好几次问题&#xff0c;主要各个配置关联性太强了 稍有…...

    2023/5/28 19:23:42
  28. LabView中条件结构的使用方法1

    LabView中的条件结构包含一个或多个子程序框图&#xff0c;即分支&#xff0c;当满足某个条件时&#xff0c;相应的分支会被执行。也就是说&#xff0c;在条件结构执行时&#xff0c;仅有一个分支被执行。当程序存在两种或多种可能性时&#xff0c;可以使用条件结构。 1 创建条…...

    2023/5/28 19:22:53
  29. DAY 68 redis高可用的主从复制、哨兵、cluster集群

    Redis 高可用 什么是高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供正常服…...

    2023/5/28 19:19:20
  30. M1 mac 直接安装x86 centos Docker

    安装M1 DockerDesktop https://www.docker.com/products/docker-desktop/ 打开设置DockerEngine 将下列插入进去 { "registry-mirrors": ["https://mj9kvemk.mirror.aliyuncs.com"] }拉取CentOS系统 docker pull centos创建CentOS&#xff08;x86&#xf…...

    2023/5/28 19:19:03

最新文章

  1. 数据结构入门(C语言版)图的概念和功能函数实现

    图的概念和功能函数实现 前言1.图的定义和术语1.1 定义1.2 常用术语 2.图的存储结构2.1 图的数组(邻接矩阵)存储表示2.2 图的邻接表存储表示 3.图的遍历3.1 深度优先搜索3.2 广度优先搜索3.3 示例 4.连通网的最小生成树4.1 克鲁斯卡尔(Kruskal)算法4.2 普里姆(Prim)算法 5.图的…...

    2023/5/28 20:25:06
  2. 初识linux之简单了解TCP协议与UDP协议

    目录 一、理解源IP地址和目的IP地址 二、端口号 1. 为什么要有端口号 2. 理解端口号 3. 源端口号和目的端口号 三、初步了解TCP协议和UDP协议 1. 初步认识TCP协议 2. 初步认识UDP协议 3. 可靠传输与不可靠传输 四、网络字节序 1. 网络字节序的概念 2. 如何形成网络…...

    2023/5/28 20:21:28
  3. 数据大航海时代,奇安信如何构筑数据安全的“天盾”?

    你知道你的数据正在“被动”泄露吗&#xff1f; 随着ChatGPT技术的快速落地&#xff0c;数据安全面临的挑战越来越多。数据安全供应商Cyberhaven近期发布的一份研究显示&#xff0c;在2023年初的一周内&#xff0c;每十万名员工中机密业务数据被输入ChatGPT199次。用户可能没有…...

    2023/5/28 20:20:46
  4. 矿井水除总氮工艺详解

    一、项目概述 项目背景: 1、水资源浪费长期以来&#xff0c;采煤对地下水造成了严重破坏。绝大部分矿井水&#xff0c;被以直排方式&#xff0c;流入河道、田野&#xff0c;这不仅造成水资源的白白浪费&#xff0c;也污染了环境。社会对此反响强烈的同时&#xff0c;煤矿企业也…...

    2023/5/28 20:19:59
  5. Glide预加载图片preload失效问题修复!

    背景 项目中有这样一个需求:在APP中展示一个操作指引,这是三张服务端下发的图片。 为了提高用户体验,想要先下载图片,然后下载完成之后,再对图片进行展示,这样用户就不必看到加载图片时的空白状态。 实现方案 这里我打算新写一个工具类,专门用来处理类似的请求。同时…...

    2023/5/28 20:18:48
  6. 从零开始学习JavaScript:轻松掌握编程语言的核心技能①

    从零开始学习JavaScript&#xff1a;轻松掌握编程语言的核心技能 一&#xff0c;JavaScript 简介为什么学习 JavaScript?JavaScript 用法 二&#xff0c;JavaScript 输出JavaScript 显示数据JavaScript&#xff1a;直接写入 HTML 输出流 三&#xff0c;JavaScript 语法JavaScr…...

    2023/5/28 20:15:31
  7. Nacos源码-从Demo出发研究事件驱动与观察者模式的应用

    在我们分析 Nacos 源码时&#xff0c;会看见大量的事件发布的动作&#xff0c;不管是客户端注册/下线、服务改变、服务订阅等等都是利用了事件发布。 下面我在自己的项目中&#xff0c;引入Nacos的依赖进行一个简单的demo的演示&#xff0c;我个人认为其和spring容器的listene…...

    2023/5/28 20:14:34
  8. 只做笔记有必要买apple pencil吗?好写的电容笔排行榜

    随着科技的发展&#xff0c;出现了许多新的电子器件和数码器件。比如智能手机&#xff0c;比如ipad&#xff0c;比如电容笔等等。但实际上&#xff0c;想要让ipad发挥出最大的作用&#xff0c;就必须要有一支好的电笔。就像是我们在ipad上写字&#xff0c;总是要手写&#xff0…...

    2023/5/28 20:14:14
  9. Prometheus之exporter详解

    何为exporter Prometheus 监控基于一个很简单的模型: 主动抓取目标的指标接口(HTTP 协议)获取监控指标, 再存储到本地或远端的时序数据库. Prometheus 对于指标接口有一套固定的格式要求, 格式大致如下: # HELP http_requests_total The total number of HTTP requests. # TYPE…...

    2023/5/28 20:13:16
  10. 快速检测 GlassFish 任意文件读取漏洞的 Python 脚本

    部分数据来源:ChatGPT 引言 当下,互联网安全问题正愈发严重,黑客利用各种漏洞进行攻击的频率也在持续增加。在2015年10月,一位名为“路人甲”的安全研究员在乌云上公开了一个名为“应用服务器glassfish存在通用任意文件读取漏洞”的漏洞(编号:wooyun-2010-0144595),该…...

    2023/5/28 20:11:40
  11. 【Unity3D】广告牌特效

    1 前言 广告牌特效是指&#xff1a;空间中的一个 2D 对象始终&#xff08;或尽可能&#xff09;面向相机&#xff0c;使得用户能够尽可能看清楚该 2D 物体。广告牌特效一共有以下 3 种&#xff1a; 正视广告牌&#xff1a;广告牌始终以正视图姿态面向相机&#xff0c;即广告牌…...

    2023/5/28 20:11:00
  12. JSP(三)-- JSP注意事项

    目录 1. JSP -- 九大隐式对象 2. PageContext对象的认识 2.1 PageContext的简介 2.2 PageContext生命周期...

    2023/5/28 20:10:42
  13. 2023 牛津大学博士后申请指南

    牛津大学是全球著名的高等教育机构&#xff0c;其博士后项目备受瞩目。为了帮助申请者更好地了解牛津大学博士后申请流程&#xff0c;本文将介绍该校博士后申请指南的相关内容。一、申请条件首先&#xff0c;申请者必须已经获得博士学位或即将完成博士学位&#xff0c;并具有相…...

    2023/5/28 20:06:19
  14. 详细介绍线程间通信

    详细介绍线程间通信 线程间通信是指在多线程编程中&#xff0c;不同的线程之间通过某种方式交换信息的过程。这是一个重要的概念&#xff0c;因为线程之间的协作是实现复杂并发系统的关键。 下面是一些线程间通信的常见方式和示例&#xff1a; 1. 共享变量 共享变量是最简单…...

    2023/5/28 19:56:24
  15. Rust 笔记:发布订阅模式及其 在 Rust 语言中的使用

    Rust 笔记、设计模式 发布订阅模式及其 在 Rust 语言中的使用 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.ne…...

    2023/5/28 19:56:06
  16. nodejs+vue社区重点人员户籍信息查询系统

    为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xff0c;重点人员信息查询就是信息时代变革中的产物之一。 任何系统都要遵循系统设计的基本流程&#xff0c;本系统也不例外&#xff0c;同样需要…...

    2023/5/28 19:53:03
  17. Docker容器 和 Kubernetes容器集群管理系统

    一、快速了解Docker 1. 什么是Docker的定义 Docker 是一个开源的应用容器引擎&#xff0c;基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以…...

    2023/5/28 19:50:57
  18. 【数据结构】轻松掌握二叉树的基本操作及查找技巧

    二叉树的基本操作 ​ 在学习二叉树的基本操作前&#xff0c;需先要创建一棵二叉树&#xff0c;然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还不够深入&#xff0c;为了降低学习成本&#xff0c;此处手动快速创建一棵简单的二叉树&#xff0c;快速进入二叉树操…...

    2023/5/28 19:50:37
  19. Linux Shell命令行常用操作

    shell是Linux系统中的一个程序&#xff0c;用于接收键盘的命令&#xff0c;可以算作是用户和操作系统之间的接口CLI。 Directories目录 pwd&#xff1a;Print Working Directory 的缩写&#xff0c;这个命令将显示你当前所在的目录。 cd&#xff1a; Change Directory 的缩写…...

    2023/5/28 19:42:15
  20. 应急响应-web

    应急响应的流程分为6个阶段 PDCERF 准备 &#xff0c;检测&#xff0c;抑制&#xff0c;根除&#xff0c;恢复&#xff0c;总结 准备&#xff1a; 准备阶段就是以预防为主&#xff0c;准备一些应急响应的预案&#xff0c;对应急响应的分工操作制定一些计划&#xff0c;进行应…...

    2023/5/28 19:40:19
  21. 数据在内存中是如何存储的?(上)

    C语言进阶——数据在内存中是如何存储的&#xff1f; 一. 整型数据的二进制表示二.数据类型详细介绍1.1 类型的基本归类1.2认识有无符号的区别&#xff08; signed 和 unsigned &#xff09;1.3代码理解一&#xff1a;1.4代码二理解&#xff1a;1.5代码三理解&#xff1a;1.6代…...

    2023/5/28 19:34:43
  22. 《数据库应用系统实践》------ 超市管理系统

    系列文章 《数据库应用系统实践》------ 超市管理系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构&#xff08;需包含功能结构框图和模块说明&#xff09;3&#xff0e;系统功能简介 二、概念模型设计1&#xff0e;基本要素&#xff08;符号介绍说明&#xff…...

    2023/5/28 19:33:37
  23. 基于FPGA的Bayer转RGB算法实现

    1 概述 Bayer转RGB在图像处理中被称为去马赛克&#xff08;Demosaic&#xff09;&#xff0c;是机器视觉ISP流程中的一个基础且重要的算法&#xff0c;主要完成彩色图像传感器原始的Bayer格式图像到RGB格式图像的转换。 关于Bayer图像的相关概念和知识&#xff0c;本文不作介绍…...

    2023/5/28 19:33:26
  24. window安装docker Desktop和wsl2

    目录 一、先到微软商店下载terminal (也就是power shell,后续命令都在这个里面执行) 二、安装docker Destop 1.打开控制面板 2.勾选Hyper-V服务 3、根据提示重启电脑&#xff0c;等待更新即可 二.启动Docker Desktop 2.1 报错&#xff0c;提示需要最新的WSL 方式一&#…...

    2023/5/28 19:32:24
  25. jquery data和data-属性不一致问题

    延申val和value属性同样不一致 <script src"https://code.jquery.com/jquery-3.7.0.min.js"></script> <input type"text" value"F119-PW110" data-tag"F119" id"txtEngine" name"Engine" placeh…...

    2023/5/28 19:30:36
  26. Meta Learning

    Meta Learning&#xff08;元学习&#xff09;是一种机器学习技术&#xff0c;它的核心思想是学习如何学习。 Meta Learning的目标是从以前的学习经验中学习到通用的学习策略和模式&#xff0c;以便在新的任务上快速适应和学习。 Meta Learning的核心思想是将学习任务视为元任…...

    2023/5/28 19:24:18
  27. CGAL的编译以及在VS中的使用

    CGAL的编译以及在VS中的使用 在被CGAL长久的折磨了两三周 在学习过程中有好几次库都出现了问题 所以打算重新更换一下版本 CGAL可以说是学习这么久以来见过最离谱&#xff08;ex&#xff09;的环境配置&#xff0c;期间出了好几次问题&#xff0c;主要各个配置关联性太强了 稍有…...

    2023/5/28 19:23:42
  28. LabView中条件结构的使用方法1

    LabView中的条件结构包含一个或多个子程序框图&#xff0c;即分支&#xff0c;当满足某个条件时&#xff0c;相应的分支会被执行。也就是说&#xff0c;在条件结构执行时&#xff0c;仅有一个分支被执行。当程序存在两种或多种可能性时&#xff0c;可以使用条件结构。 1 创建条…...

    2023/5/28 19:22:53
  29. DAY 68 redis高可用的主从复制、哨兵、cluster集群

    Redis 高可用 什么是高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供正常服…...

    2023/5/28 19:19:20
  30. M1 mac 直接安装x86 centos Docker

    安装M1 DockerDesktop https://www.docker.com/products/docker-desktop/ 打开设置DockerEngine 将下列插入进去 { "registry-mirrors": ["https://mj9kvemk.mirror.aliyuncs.com"] }拉取CentOS系统 docker pull centos创建CentOS&#xff08;x86&#xf…...

    2023/5/28 19:19:03
  31. 【ChatGPT】从零开始构建基于ChatGPT的嵌入式(Embedding) 本地(Local) 智能客服问答机器人模型

    目录 方案流程 1. Embeddings 介绍 术语&#xff1a;微调 vs 嵌入 一句话理解便是&#xff1a;embedding model 可以将文本转换为固定长度的连续向量。 架构流程图 3、Qdrant云数据库的搭建 3.1、初识Qdrant 3.2、创建云数据库 3.3、通过curl 接口访问 4、写入测试数…...

    2023/5/28 17:16:05
  32. 【ChatGPT】在20分钟内使用 LangChain + Ray构建自托管问答服务

    This is part 3 of a blog series. In this blog, we’ll show you how to build an LLM question and answering service. In future parts, we will optimize the code and measure performance: cost, latency and throughput. 这是博客系列的第 3 部分。在本博客中,我们将…...

    2023/5/28 15:14:53
  33. 【ChatGPT】Turbocharge LangChain: guide to 20x faster embedding | LangChain: 嵌入速度提高 20 倍的指南

    目录 Why do I need to parallelize this?为什么我需要并行化它? Stages of our Data Pipeline 数据管道的各个阶段 Execution...

    2023/5/28 15:06:52
  34. 最新ChatGPT GPT-4 相似匹配Embedding技术详解(附ipynb与python源码及视频讲解)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(一)

    目录 前言最新ChatGPT GPT-4 相似匹配Embedding技术详解1. 何为Embedding2. 相关API2.1 LMAS Embedding API2.2 ChatGPT Style 3. Embedding应用3.1 QA3.2 聚类3.3 推荐 相关文献 参考资料其它资料下载 前言 如果您想提高ChatGPT中文本处理的效率和精度&#xff0c;那么Embedd…...

    2023/5/28 12:45:09
  35. ChatGPT的access_token获取(最新!!!)

    ChatGPT的access_token获取&#xff08;最新&#xff01;&#xff01;&#xff01;&#xff09; 序言 最近在搞移动应用开发&#xff0c;心血来潮写了个chatGPT的app&#xff0c;但是接口只能用官网提供的&#xff0c;我自己的号没有免费额度&#xff0c;朋友的号也就5$的额度…...

    2023/5/28 12:19:58
  36. 【ChatGPT】ChatGPT 在智能客服产品如何落地?

    目录 简介 智能客服产品的典型特征 人力密集: 数据密集: 流程可定义:...

    2023/5/28 12:15:11
  37. 【ChatGPT】ChatGPT使用指南——句词分类

    目录 ChatGPT使用指南——句词分类 1. NLU基础 1.1 句子级别的分类 1.2 Token级别的分类 2. 相关API...

    2023/5/28 11:56:24
  38. 【ChatGPT】技术原理:ChatGPT怎么工作?

    目录 简介:ChatGPT的工作原理概述 Transformer 架构原理...

    2023/5/28 10:39:46
  39. 【ChatGPT】ChatGPT基础科普——知其一点所以然

    目录 ChatGPT基础科普——知其一点所以然 语言的本质 从图灵测试到ChatGPT 1. LM 2. Transformer 3. GPT...

    2023/5/28 10:09:26
  40. ChatGPT使用指南——相似匹配

    目录 ChatGPT使用指南——相似匹配 1. 何为Embedding 2. 相关API 2.1 LMAS Embedding API 2.2 ChatGPT Style 3. Embedding应用...

    2023/5/28 8:55:00
  41. 【ChatGPT】使用 LangChain 和 Ray 实现 100 行代码构建 LLM 开源搜索引擎【1】

    目录 Introduction Building the index 构建索引 Accelerating indexing using Ray 使用 Ray 加速索引编制 Serving Conclusion...

    2023/5/28 8:53:34
  42. 【ChatGPT】ChatGPT使用指南——文本生成

    目录 ChatGPT使用指南——文本生成 1 引言 2 文本摘要任务 2.1 什么是文本摘要&#xff1f; 2.2 常见的文本摘要技术 2.3 基于OpenAI接口的文本摘要实验 3 文本纠错任务 3.1 什么是文本纠错&#xff1f; 3.2 常见的文本纠错技术 3.3 基于OpenAI接口的文本纠错实验 4…...

    2023/5/28 8:24:05
  43. ChatGPT商业应用——LLM是星辰大海

    目录 ChatGPT商业应用——LLM是星辰大海 1. 研究背景 1.1 研究背景 1.2 研究方法...

    2023/5/28 7:59:04
  44. 国内可直接访问ChatGPT体验站,已稳定2个月 (域名被拦截解决方案)

    新体验地址&#xff1a;https://zizhu888.cn/chatgpt/index.html ChatGPT体验站3月初上线&#xff0c;上线后&#xff0c;PV最高时3000&#xff0c;UV2000&#xff0c;付费用户有小300个 上线后&#xff0c;前前后后遇到了不少坑爹问题&#xff0c;下面是最近PV访问曲线图&am…...

    2023/5/28 7:33:09
  45. AIGC——使用Cursor对比直接使用chatGPT有哪些技巧

    Cursor对比直接使用chatGPT有哪些优势 1. 聊聊it团队经常面临的问题2. 试想一些AI辅助的应用场景3. 看回现实可用的工具及其使用3.1 加载文件作为对话上下文3.2 源码工程辅助阅读3.3 批量文件式输入口3.4 规范核查工具 4 通用思路4.1 提供解决方案思路4.2 借助chatGPT构建全流程…...

    2023/5/28 4:27:19
  46. ChatGPT中文版Prompt提示工程超详细指南《提示工程高级技巧与技术》Github最新破万星项目Meta AI前工程师解密百万年薪提示工程师GPT-4模型优化利器(二)不定期更新

    提示工程高级技巧与技术 前言Introduction 导言零样本提示少样本提示少样本提示的限制 Chain-of-Thought Prompting 链式思考&#xff08;CoT&#xff09;提示零样本COT提示 Zero-shot COT 自我一致性生成知识提示自动提示工程师&#xff08;APE&#xff09;Active-Prompt方向性…...

    2023/5/28 0:42:10
  47. 【ChatGPT】ChatGPT使用指南——文本推理

    目录 ChatGPT使用指南——文本推理 1. 什么是推理(Reasoning)? 2. 导入ChatGPT 3. 测试ChatGPT的推理能力...

    2023/5/27 23:40:23
  48. ChatGPT免费使用的方法有哪些?

    目录 一、ChatGpt是什么&#xff1f; 二、ChatGPT国内免费使用的方法&#xff1a; 第一点&#xff1a;电脑端 第二点&#xff1a;手机端 三、结语&#xff1a; 一、ChatGpt是什么&#xff1f; ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…...

    2023/5/27 23:37:06
  49. 用ChatGPT辅助处理Excel

    在日常工作中&#xff0c;我们经常需要处理大量的Excel表格&#xff0c;而在处理Excel表格时&#xff0c;常常会遇到重复、冗余、不清晰的数据等问题&#xff0c;导致我们耗费大量的时间和精力。 在这种情况下&#xff0c;现代技术的应用提供了更加高效的解决方案&#xff0c;…...

    2023/5/27 18:32:31
  50. Pycharm安装ChatGPT插件

    文章目录 前言一、安装ChatGPT插件二、使用步骤1.打开NexChatGPT2.发送请求 总结 前言 通过安装ChatGPT插件&#xff0c;您可以在PyCharm中更轻松、高效地使用ChatGPT模型进行开发&#xff0c;从而提高您的工作效率和准确性。 一、安装ChatGPT插件 打开PyCharm&#xff0c;单…...

    2023/5/27 17:28:47
  51. 它来了!ios版ChatGPT

    ChatGPT 的 iOS 版终于来了&#xff0c;不过目前只支持 iOS 美丽国区&#xff0c;你需要使用美丽国区账号才能下载使用。 目录 前提使用总结 前提 一部苹果手机一个美丽国苹果账号一个可以正常访问ChatGPT网页版的网络环境一个ChatGPT账号 使用 登录准备好的美丽国苹果账号。…...

    2023/5/27 10:28:02
  52. 好用的IntelliJ IDEA ChatGPT插件:NexChatGPT

    随着ChatGPT的爆火&#xff0c;ChatGPT给我们的生产生活带来一定的影响&#xff0c;ChatGPT相关的工具插件潮水般的涌现。ChatGPT对IT的影响也不小&#xff0c;尤其是自动化编程&#xff0c;今天介绍几款IntelliJ IDEA中ChatGPT插件。 一、NexChatGPT NexChatGPT是一款开箱即…...

    2023/5/27 0:48:49
  53. 2023小狐狸ChatGPT源码1.9小程序 带绘画 带分销流量主系统智能客服AI源码+教程

    2023全开源ChatGPT微信小程序&#xff0c;狐狸版本1.9&#xff0c;5.12已更新&#xff0c;增加绘画功能&#xff0c;带流量主带付费购买次数&#xff0c;可邀请好友获得问答次数 看广告获得问答次数 付费购买获得问答次数 狐狸版号1.9&#xff08;最 新版&#xff09;&#xf…...

    2023/5/26 17:51:14
  54. 【国内chatgpt使用方法合集】(5月26日已更新)

    写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…...

    2023/5/26 17:44:47
  55. 【ChatGPT】GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI

    GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI 文章目录 GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI第一:扩展多模式理解。第二:交互式多媒体。第三:为具备一般能力的机器人提供动力。第四:自主人工智能模型开发。第五:…...

    2023/5/26 11:55:09
  56. 玩转ChatGPT:论文辅助写作(附Claude测评)

    一、写在前面 嘿&#xff01;嘿&#xff01;嘿&#xff01;大家好&#xff0c;今天我们来聊一下使用GPT们进行论文辅助写作。不过&#xff0c;我要先交代一下&#xff0c;GPT的使用门槛比较高&#xff0c;不少童鞋都用不上。所以&#xff0c;我极力推荐一个平替产品——Claude…...

    2023/5/26 11:26:08
  57. [持续更新]使用chatgpt的几种方法~

    1. monica 使用edge浏览器或者chrome浏览器&#xff0c;直接在官网下载即可&#xff0c;网址直通&#xff1a; bing: https://www.microsoft.com/zh-cn/edge/download?formMA13FJ google&#xff1a; Google Chrome 网络浏览器 备注&#xff1a;你需要先搭上梯子哈 安装打…...

    2023/5/26 10:39:41
  58. 苹果手机爽了!一招搞定ChatGPT Plus,超级稳!

    大家好&#xff0c;我是五竹。 昨天用苹果手机尝试了一下&#xff0c;借助App Store&#xff08;苹果应用商店&#xff09;升级 Plus&#xff0c;成功了&#xff01;一共升级了三个号&#xff01;有两个一气呵成&#xff0c;轻松搞定。最后一个可能触发风控了&#xff0c;但第…...

    2023/5/26 9:58:09
  59. ChatGPT账号注册,为什么总是提示Access Denied you do not have acces

    问题&#xff1a;提示Access denied 无法登录登录的时候&#xff0c;提示Access denied,You do not have access to chat.openai.com.原因登录出现这个界面&#xff0c;说明你的IP被OpenAI拉黑了&#xff0c;OpenAI对比较频繁访问的云主机商屏蔽了相关的IP出口段&#xff0c;所…...

    2023/5/26 9:00:56
  60. ChatGPT 的 AskYourPDF 插件所需链接如何获取?

    一、背景 目前 ChatGPT 主要有两款 PDF 对话插件&#xff0c;一个是 AskYourPDF 一个是 ChatWithPDF&#xff08;需 ChatGPT Plus&#xff09;&#xff0c;他们都可以实现给一个公共的PDF 链接&#xff0c;然后进行持续对话&#xff0c;对读论文&#xff0c;阅读 PDF 格式的文…...

    2023/5/26 8:27:01