HashMap何时会链表转红黑树
目录
- 什么时候才会转换为红黑树?
- 为什么要转换为红黑树?
- 为什么不一开始就用红黑树,反而要经历一个转换的过程呢?
- 从链表转化为红黑树的阈值为什么是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 方法,并对此进行改进,以便减少冲突。
相关文章
- 数据结构入门(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 - 初识linux之简单了解TCP协议与UDP协议
目录 一、理解源IP地址和目的IP地址 二、端口号 1. 为什么要有端口号 2. 理解端口号 3. 源端口号和目的端口号 三、初步了解TCP协议和UDP协议 1. 初步认识TCP协议 2. 初步认识UDP协议 3. 可靠传输与不可靠传输 四、网络字节序 1. 网络字节序的概念 2. 如何形成网络…...
2023/5/28 20:21:28 - 数据大航海时代,奇安信如何构筑数据安全的“天盾”?
你知道你的数据正在“被动”泄露吗? 随着ChatGPT技术的快速落地,数据安全面临的挑战越来越多。数据安全供应商Cyberhaven近期发布的一份研究显示,在2023年初的一周内,每十万名员工中机密业务数据被输入ChatGPT199次。用户可能没有…...
2023/5/28 20:20:46 - 矿井水除总氮工艺详解
一、项目概述 项目背景: 1、水资源浪费长期以来,采煤对地下水造成了严重破坏。绝大部分矿井水,被以直排方式,流入河道、田野,这不仅造成水资源的白白浪费,也污染了环境。社会对此反响强烈的同时,煤矿企业也…...
2023/5/28 20:19:59 - Glide预加载图片preload失效问题修复!
背景 项目中有这样一个需求:在APP中展示一个操作指引,这是三张服务端下发的图片。 为了提高用户体验,想要先下载图片,然后下载完成之后,再对图片进行展示,这样用户就不必看到加载图片时的空白状态。 实现方案 这里我打算新写一个工具类,专门用来处理类似的请求。同时…...
2023/5/28 20:18:48 - 从零开始学习JavaScript:轻松掌握编程语言的核心技能①
从零开始学习JavaScript:轻松掌握编程语言的核心技能 一,JavaScript 简介为什么学习 JavaScript?JavaScript 用法 二,JavaScript 输出JavaScript 显示数据JavaScript:直接写入 HTML 输出流 三,JavaScript 语法JavaScr…...
2023/5/28 20:15:31 - Nacos源码-从Demo出发研究事件驱动与观察者模式的应用
在我们分析 Nacos 源码时,会看见大量的事件发布的动作,不管是客户端注册/下线、服务改变、服务订阅等等都是利用了事件发布。 下面我在自己的项目中,引入Nacos的依赖进行一个简单的demo的演示,我个人认为其和spring容器的listene…...
2023/5/28 20:14:34 - 只做笔记有必要买apple pencil吗?好写的电容笔排行榜
随着科技的发展,出现了许多新的电子器件和数码器件。比如智能手机,比如ipad,比如电容笔等等。但实际上,想要让ipad发挥出最大的作用,就必须要有一支好的电笔。就像是我们在ipad上写字,总是要手写࿰…...
2023/5/28 20:14:14 - Prometheus之exporter详解
何为exporter Prometheus 监控基于一个很简单的模型: 主动抓取目标的指标接口(HTTP 协议)获取监控指标, 再存储到本地或远端的时序数据库. Prometheus 对于指标接口有一套固定的格式要求, 格式大致如下: # HELP http_requests_total The total number of HTTP requests. # TYPE…...
2023/5/28 20:13:16 - 快速检测 GlassFish 任意文件读取漏洞的 Python 脚本
部分数据来源:ChatGPT 引言 当下,互联网安全问题正愈发严重,黑客利用各种漏洞进行攻击的频率也在持续增加。在2015年10月,一位名为“路人甲”的安全研究员在乌云上公开了一个名为“应用服务器glassfish存在通用任意文件读取漏洞”的漏洞(编号:wooyun-2010-0144595),该…...
2023/5/28 20:11:40 - 【Unity3D】广告牌特效
1 前言 广告牌特效是指:空间中的一个 2D 对象始终(或尽可能)面向相机,使得用户能够尽可能看清楚该 2D 物体。广告牌特效一共有以下 3 种: 正视广告牌:广告牌始终以正视图姿态面向相机,即广告牌…...
2023/5/28 20:11:00 - JSP(三)-- JSP注意事项
目录 1. JSP -- 九大隐式对象 2. PageContext对象的认识 2.1 PageContext的简介 2.2 PageContext生命周期...
2023/5/28 20:10:42 - 2023 牛津大学博士后申请指南
牛津大学是全球著名的高等教育机构,其博士后项目备受瞩目。为了帮助申请者更好地了解牛津大学博士后申请流程,本文将介绍该校博士后申请指南的相关内容。一、申请条件首先,申请者必须已经获得博士学位或即将完成博士学位,并具有相…...
2023/5/28 20:06:19 - 详细介绍线程间通信
详细介绍线程间通信 线程间通信是指在多线程编程中,不同的线程之间通过某种方式交换信息的过程。这是一个重要的概念,因为线程之间的协作是实现复杂并发系统的关键。 下面是一些线程间通信的常见方式和示例: 1. 共享变量 共享变量是最简单…...
2023/5/28 19:56:24 - 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 - nodejs+vue社区重点人员户籍信息查询系统
为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,重点人员信息查询就是信息时代变革中的产物之一。 任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要…...
2023/5/28 19:53:03 - Docker容器 和 Kubernetes容器集群管理系统
一、快速了解Docker 1. 什么是Docker的定义 Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以…...
2023/5/28 19:50:57 - 【数据结构】轻松掌握二叉树的基本操作及查找技巧
二叉树的基本操作 在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还不够深入,为了降低学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉树操…...
2023/5/28 19:50:37 - Linux Shell命令行常用操作
shell是Linux系统中的一个程序,用于接收键盘的命令,可以算作是用户和操作系统之间的接口CLI。 Directories目录 pwd:Print Working Directory 的缩写,这个命令将显示你当前所在的目录。 cd: Change Directory 的缩写…...
2023/5/28 19:42:15 - 应急响应-web
应急响应的流程分为6个阶段 PDCERF 准备 ,检测,抑制,根除,恢复,总结 准备: 准备阶段就是以预防为主,准备一些应急响应的预案,对应急响应的分工操作制定一些计划,进行应…...
2023/5/28 19:40:19 - 数据在内存中是如何存储的?(上)
C语言进阶——数据在内存中是如何存储的? 一. 整型数据的二进制表示二.数据类型详细介绍1.1 类型的基本归类1.2认识有无符号的区别( signed 和 unsigned )1.3代码理解一:1.4代码二理解:1.5代码三理解:1.6代…...
2023/5/28 19:34:43 - 《数据库应用系统实践》------ 超市管理系统
系列文章 《数据库应用系统实践》------ 超市管理系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明ÿ…...
2023/5/28 19:33:37 - 基于FPGA的Bayer转RGB算法实现
1 概述 Bayer转RGB在图像处理中被称为去马赛克(Demosaic),是机器视觉ISP流程中的一个基础且重要的算法,主要完成彩色图像传感器原始的Bayer格式图像到RGB格式图像的转换。 关于Bayer图像的相关概念和知识,本文不作介绍…...
2023/5/28 19:33:26 - 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 - 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 - Meta Learning
Meta Learning(元学习)是一种机器学习技术,它的核心思想是学习如何学习。 Meta Learning的目标是从以前的学习经验中学习到通用的学习策略和模式,以便在新的任务上快速适应和学习。 Meta Learning的核心思想是将学习任务视为元任…...
2023/5/28 19:24:18 - CGAL的编译以及在VS中的使用
CGAL的编译以及在VS中的使用 在被CGAL长久的折磨了两三周 在学习过程中有好几次库都出现了问题 所以打算重新更换一下版本 CGAL可以说是学习这么久以来见过最离谱(ex)的环境配置,期间出了好几次问题,主要各个配置关联性太强了 稍有…...
2023/5/28 19:23:42 - LabView中条件结构的使用方法1
LabView中的条件结构包含一个或多个子程序框图,即分支,当满足某个条件时,相应的分支会被执行。也就是说,在条件结构执行时,仅有一个分支被执行。当程序存在两种或多种可能性时,可以使用条件结构。 1 创建条…...
2023/5/28 19:22:53 - DAY 68 redis高可用的主从复制、哨兵、cluster集群
Redis 高可用 什么是高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服…...
2023/5/28 19:19:20 - 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(x86…...
2023/5/28 19:19:03
最新文章
- 数据结构入门(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 - 初识linux之简单了解TCP协议与UDP协议
目录 一、理解源IP地址和目的IP地址 二、端口号 1. 为什么要有端口号 2. 理解端口号 3. 源端口号和目的端口号 三、初步了解TCP协议和UDP协议 1. 初步认识TCP协议 2. 初步认识UDP协议 3. 可靠传输与不可靠传输 四、网络字节序 1. 网络字节序的概念 2. 如何形成网络…...
2023/5/28 20:21:28 - 数据大航海时代,奇安信如何构筑数据安全的“天盾”?
你知道你的数据正在“被动”泄露吗? 随着ChatGPT技术的快速落地,数据安全面临的挑战越来越多。数据安全供应商Cyberhaven近期发布的一份研究显示,在2023年初的一周内,每十万名员工中机密业务数据被输入ChatGPT199次。用户可能没有…...
2023/5/28 20:20:46 - 矿井水除总氮工艺详解
一、项目概述 项目背景: 1、水资源浪费长期以来,采煤对地下水造成了严重破坏。绝大部分矿井水,被以直排方式,流入河道、田野,这不仅造成水资源的白白浪费,也污染了环境。社会对此反响强烈的同时,煤矿企业也…...
2023/5/28 20:19:59 - Glide预加载图片preload失效问题修复!
背景 项目中有这样一个需求:在APP中展示一个操作指引,这是三张服务端下发的图片。 为了提高用户体验,想要先下载图片,然后下载完成之后,再对图片进行展示,这样用户就不必看到加载图片时的空白状态。 实现方案 这里我打算新写一个工具类,专门用来处理类似的请求。同时…...
2023/5/28 20:18:48 - 从零开始学习JavaScript:轻松掌握编程语言的核心技能①
从零开始学习JavaScript:轻松掌握编程语言的核心技能 一,JavaScript 简介为什么学习 JavaScript?JavaScript 用法 二,JavaScript 输出JavaScript 显示数据JavaScript:直接写入 HTML 输出流 三,JavaScript 语法JavaScr…...
2023/5/28 20:15:31 - Nacos源码-从Demo出发研究事件驱动与观察者模式的应用
在我们分析 Nacos 源码时,会看见大量的事件发布的动作,不管是客户端注册/下线、服务改变、服务订阅等等都是利用了事件发布。 下面我在自己的项目中,引入Nacos的依赖进行一个简单的demo的演示,我个人认为其和spring容器的listene…...
2023/5/28 20:14:34 - 只做笔记有必要买apple pencil吗?好写的电容笔排行榜
随着科技的发展,出现了许多新的电子器件和数码器件。比如智能手机,比如ipad,比如电容笔等等。但实际上,想要让ipad发挥出最大的作用,就必须要有一支好的电笔。就像是我们在ipad上写字,总是要手写࿰…...
2023/5/28 20:14:14 - Prometheus之exporter详解
何为exporter Prometheus 监控基于一个很简单的模型: 主动抓取目标的指标接口(HTTP 协议)获取监控指标, 再存储到本地或远端的时序数据库. Prometheus 对于指标接口有一套固定的格式要求, 格式大致如下: # HELP http_requests_total The total number of HTTP requests. # TYPE…...
2023/5/28 20:13:16 - 快速检测 GlassFish 任意文件读取漏洞的 Python 脚本
部分数据来源:ChatGPT 引言 当下,互联网安全问题正愈发严重,黑客利用各种漏洞进行攻击的频率也在持续增加。在2015年10月,一位名为“路人甲”的安全研究员在乌云上公开了一个名为“应用服务器glassfish存在通用任意文件读取漏洞”的漏洞(编号:wooyun-2010-0144595),该…...
2023/5/28 20:11:40 - 【Unity3D】广告牌特效
1 前言 广告牌特效是指:空间中的一个 2D 对象始终(或尽可能)面向相机,使得用户能够尽可能看清楚该 2D 物体。广告牌特效一共有以下 3 种: 正视广告牌:广告牌始终以正视图姿态面向相机,即广告牌…...
2023/5/28 20:11:00 - JSP(三)-- JSP注意事项
目录 1. JSP -- 九大隐式对象 2. PageContext对象的认识 2.1 PageContext的简介 2.2 PageContext生命周期...
2023/5/28 20:10:42 - 2023 牛津大学博士后申请指南
牛津大学是全球著名的高等教育机构,其博士后项目备受瞩目。为了帮助申请者更好地了解牛津大学博士后申请流程,本文将介绍该校博士后申请指南的相关内容。一、申请条件首先,申请者必须已经获得博士学位或即将完成博士学位,并具有相…...
2023/5/28 20:06:19 - 详细介绍线程间通信
详细介绍线程间通信 线程间通信是指在多线程编程中,不同的线程之间通过某种方式交换信息的过程。这是一个重要的概念,因为线程之间的协作是实现复杂并发系统的关键。 下面是一些线程间通信的常见方式和示例: 1. 共享变量 共享变量是最简单…...
2023/5/28 19:56:24 - 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 - nodejs+vue社区重点人员户籍信息查询系统
为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,重点人员信息查询就是信息时代变革中的产物之一。 任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要…...
2023/5/28 19:53:03 - Docker容器 和 Kubernetes容器集群管理系统
一、快速了解Docker 1. 什么是Docker的定义 Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以…...
2023/5/28 19:50:57 - 【数据结构】轻松掌握二叉树的基本操作及查找技巧
二叉树的基本操作 在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还不够深入,为了降低学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉树操…...
2023/5/28 19:50:37 - Linux Shell命令行常用操作
shell是Linux系统中的一个程序,用于接收键盘的命令,可以算作是用户和操作系统之间的接口CLI。 Directories目录 pwd:Print Working Directory 的缩写,这个命令将显示你当前所在的目录。 cd: Change Directory 的缩写…...
2023/5/28 19:42:15 - 应急响应-web
应急响应的流程分为6个阶段 PDCERF 准备 ,检测,抑制,根除,恢复,总结 准备: 准备阶段就是以预防为主,准备一些应急响应的预案,对应急响应的分工操作制定一些计划,进行应…...
2023/5/28 19:40:19 - 数据在内存中是如何存储的?(上)
C语言进阶——数据在内存中是如何存储的? 一. 整型数据的二进制表示二.数据类型详细介绍1.1 类型的基本归类1.2认识有无符号的区别( signed 和 unsigned )1.3代码理解一:1.4代码二理解:1.5代码三理解:1.6代…...
2023/5/28 19:34:43 - 《数据库应用系统实践》------ 超市管理系统
系列文章 《数据库应用系统实践》------ 超市管理系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明ÿ…...
2023/5/28 19:33:37 - 基于FPGA的Bayer转RGB算法实现
1 概述 Bayer转RGB在图像处理中被称为去马赛克(Demosaic),是机器视觉ISP流程中的一个基础且重要的算法,主要完成彩色图像传感器原始的Bayer格式图像到RGB格式图像的转换。 关于Bayer图像的相关概念和知识,本文不作介绍…...
2023/5/28 19:33:26 - 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 - 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 - Meta Learning
Meta Learning(元学习)是一种机器学习技术,它的核心思想是学习如何学习。 Meta Learning的目标是从以前的学习经验中学习到通用的学习策略和模式,以便在新的任务上快速适应和学习。 Meta Learning的核心思想是将学习任务视为元任…...
2023/5/28 19:24:18 - CGAL的编译以及在VS中的使用
CGAL的编译以及在VS中的使用 在被CGAL长久的折磨了两三周 在学习过程中有好几次库都出现了问题 所以打算重新更换一下版本 CGAL可以说是学习这么久以来见过最离谱(ex)的环境配置,期间出了好几次问题,主要各个配置关联性太强了 稍有…...
2023/5/28 19:23:42 - LabView中条件结构的使用方法1
LabView中的条件结构包含一个或多个子程序框图,即分支,当满足某个条件时,相应的分支会被执行。也就是说,在条件结构执行时,仅有一个分支被执行。当程序存在两种或多种可能性时,可以使用条件结构。 1 创建条…...
2023/5/28 19:22:53 - DAY 68 redis高可用的主从复制、哨兵、cluster集群
Redis 高可用 什么是高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服…...
2023/5/28 19:19:20 - 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(x86…...
2023/5/28 19:19:03 - 【ChatGPT】从零开始构建基于ChatGPT的嵌入式(Embedding) 本地(Local) 智能客服问答机器人模型
目录 方案流程 1. Embeddings 介绍 术语:微调 vs 嵌入 一句话理解便是:embedding model 可以将文本转换为固定长度的连续向量。 架构流程图 3、Qdrant云数据库的搭建 3.1、初识Qdrant 3.2、创建云数据库 3.3、通过curl 接口访问 4、写入测试数…...
2023/5/28 17:16:05 - 【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 - 【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 - 最新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中文本处理的效率和精度,那么Embedd…...
2023/5/28 12:45:09 - ChatGPT的access_token获取(最新!!!)
ChatGPT的access_token获取(最新!!!) 序言 最近在搞移动应用开发,心血来潮写了个chatGPT的app,但是接口只能用官网提供的,我自己的号没有免费额度,朋友的号也就5$的额度…...
2023/5/28 12:19:58 - 【ChatGPT】ChatGPT 在智能客服产品如何落地?
目录 简介 智能客服产品的典型特征 人力密集: 数据密集: 流程可定义:...
2023/5/28 12:15:11 - 【ChatGPT】ChatGPT使用指南——句词分类
目录 ChatGPT使用指南——句词分类 1. NLU基础 1.1 句子级别的分类 1.2 Token级别的分类 2. 相关API...
2023/5/28 11:56:24 - 【ChatGPT】技术原理:ChatGPT怎么工作?
目录 简介:ChatGPT的工作原理概述 Transformer 架构原理...
2023/5/28 10:39:46 - 【ChatGPT】ChatGPT基础科普——知其一点所以然
目录 ChatGPT基础科普——知其一点所以然 语言的本质 从图灵测试到ChatGPT 1. LM 2. Transformer 3. GPT...
2023/5/28 10:09:26 - ChatGPT使用指南——相似匹配
目录 ChatGPT使用指南——相似匹配 1. 何为Embedding 2. 相关API 2.1 LMAS Embedding API 2.2 ChatGPT Style 3. Embedding应用...
2023/5/28 8:55:00 - 【ChatGPT】使用 LangChain 和 Ray 实现 100 行代码构建 LLM 开源搜索引擎【1】
目录 Introduction Building the index 构建索引 Accelerating indexing using Ray 使用 Ray 加速索引编制 Serving Conclusion...
2023/5/28 8:53:34 - 【ChatGPT】ChatGPT使用指南——文本生成
目录 ChatGPT使用指南——文本生成 1 引言 2 文本摘要任务 2.1 什么是文本摘要? 2.2 常见的文本摘要技术 2.3 基于OpenAI接口的文本摘要实验 3 文本纠错任务 3.1 什么是文本纠错? 3.2 常见的文本纠错技术 3.3 基于OpenAI接口的文本纠错实验 4…...
2023/5/28 8:24:05 - ChatGPT商业应用——LLM是星辰大海
目录 ChatGPT商业应用——LLM是星辰大海 1. 研究背景 1.1 研究背景 1.2 研究方法...
2023/5/28 7:59:04 - 国内可直接访问ChatGPT体验站,已稳定2个月 (域名被拦截解决方案)
新体验地址:https://zizhu888.cn/chatgpt/index.html ChatGPT体验站3月初上线,上线后,PV最高时3000,UV2000,付费用户有小300个 上线后,前前后后遇到了不少坑爹问题,下面是最近PV访问曲线图&am…...
2023/5/28 7:33:09 - 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 - ChatGPT中文版Prompt提示工程超详细指南《提示工程高级技巧与技术》Github最新破万星项目Meta AI前工程师解密百万年薪提示工程师GPT-4模型优化利器(二)不定期更新
提示工程高级技巧与技术 前言Introduction 导言零样本提示少样本提示少样本提示的限制 Chain-of-Thought Prompting 链式思考(CoT)提示零样本COT提示 Zero-shot COT 自我一致性生成知识提示自动提示工程师(APE)Active-Prompt方向性…...
2023/5/28 0:42:10 - 【ChatGPT】ChatGPT使用指南——文本推理
目录 ChatGPT使用指南——文本推理 1. 什么是推理(Reasoning)? 2. 导入ChatGPT 3. 测试ChatGPT的推理能力...
2023/5/27 23:40:23 - ChatGPT免费使用的方法有哪些?
目录 一、ChatGpt是什么? 二、ChatGPT国内免费使用的方法: 第一点:电脑端 第二点:手机端 三、结语: 一、ChatGpt是什么? ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…...
2023/5/27 23:37:06 - 用ChatGPT辅助处理Excel
在日常工作中,我们经常需要处理大量的Excel表格,而在处理Excel表格时,常常会遇到重复、冗余、不清晰的数据等问题,导致我们耗费大量的时间和精力。 在这种情况下,现代技术的应用提供了更加高效的解决方案,…...
2023/5/27 18:32:31 - Pycharm安装ChatGPT插件
文章目录 前言一、安装ChatGPT插件二、使用步骤1.打开NexChatGPT2.发送请求 总结 前言 通过安装ChatGPT插件,您可以在PyCharm中更轻松、高效地使用ChatGPT模型进行开发,从而提高您的工作效率和准确性。 一、安装ChatGPT插件 打开PyCharm,单…...
2023/5/27 17:28:47 - 它来了!ios版ChatGPT
ChatGPT 的 iOS 版终于来了,不过目前只支持 iOS 美丽国区,你需要使用美丽国区账号才能下载使用。 目录 前提使用总结 前提 一部苹果手机一个美丽国苹果账号一个可以正常访问ChatGPT网页版的网络环境一个ChatGPT账号 使用 登录准备好的美丽国苹果账号。…...
2023/5/27 10:28:02 - 好用的IntelliJ IDEA ChatGPT插件:NexChatGPT
随着ChatGPT的爆火,ChatGPT给我们的生产生活带来一定的影响,ChatGPT相关的工具插件潮水般的涌现。ChatGPT对IT的影响也不小,尤其是自动化编程,今天介绍几款IntelliJ IDEA中ChatGPT插件。 一、NexChatGPT NexChatGPT是一款开箱即…...
2023/5/27 0:48:49 - 2023小狐狸ChatGPT源码1.9小程序 带绘画 带分销流量主系统智能客服AI源码+教程
2023全开源ChatGPT微信小程序,狐狸版本1.9,5.12已更新,增加绘画功能,带流量主带付费购买次数,可邀请好友获得问答次数 看广告获得问答次数 付费购买获得问答次数 狐狸版号1.9(最 新版)…...
2023/5/26 17:51:14 - 【国内chatgpt使用方法合集】(5月26日已更新)
写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正࿰…...
2023/5/26 17:44:47 - 【ChatGPT】GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI
GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI 文章目录 GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI第一:扩展多模式理解。第二:交互式多媒体。第三:为具备一般能力的机器人提供动力。第四:自主人工智能模型开发。第五:…...
2023/5/26 11:55:09 - 玩转ChatGPT:论文辅助写作(附Claude测评)
一、写在前面 嘿!嘿!嘿!大家好,今天我们来聊一下使用GPT们进行论文辅助写作。不过,我要先交代一下,GPT的使用门槛比较高,不少童鞋都用不上。所以,我极力推荐一个平替产品——Claude…...
2023/5/26 11:26:08 - [持续更新]使用chatgpt的几种方法~
1. monica 使用edge浏览器或者chrome浏览器,直接在官网下载即可,网址直通: bing: https://www.microsoft.com/zh-cn/edge/download?formMA13FJ google: Google Chrome 网络浏览器 备注:你需要先搭上梯子哈 安装打…...
2023/5/26 10:39:41 - 苹果手机爽了!一招搞定ChatGPT Plus,超级稳!
大家好,我是五竹。 昨天用苹果手机尝试了一下,借助App Store(苹果应用商店)升级 Plus,成功了!一共升级了三个号!有两个一气呵成,轻松搞定。最后一个可能触发风控了,但第…...
2023/5/26 9:58:09 - ChatGPT账号注册,为什么总是提示Access Denied you do not have acces
问题:提示Access denied 无法登录登录的时候,提示Access denied,You do not have access to chat.openai.com.原因登录出现这个界面,说明你的IP被OpenAI拉黑了,OpenAI对比较频繁访问的云主机商屏蔽了相关的IP出口段,所…...
2023/5/26 9:00:56 - ChatGPT 的 AskYourPDF 插件所需链接如何获取?
一、背景 目前 ChatGPT 主要有两款 PDF 对话插件,一个是 AskYourPDF 一个是 ChatWithPDF(需 ChatGPT Plus),他们都可以实现给一个公共的PDF 链接,然后进行持续对话,对读论文,阅读 PDF 格式的文…...
2023/5/26 8:27:01