当前位置: 首页 > news >正文

Go主要里程碑版本及其新增特性

Go 语言自 2009 年诞生以来,经历了多个里程碑版本的迭代,每个版本都引入了重要特性和改进。以下是 Go 语言的主要版本及其关键特性:


Go 1.0 (2012-03-28)

  • 首个稳定版,承诺向后兼容(Go 1 兼容性保证)。
  • 核心特性:
    • 语法和标准库定型。
    • 原生支持并发(goroutines + channels)。
    • 垃圾回收(GC)机制(初始版本性能较差)。

Go 1.1 (2013-05-13)

  • 性能优化
    • GC 暂停时间缩短。
    • 调度器改进(goroutine 调度更高效)。
    • 编译器优化(生成代码更快)。
  • 新增 race detector(竞态检测工具)。

Go 1.2 (2013-12-01)

  • 语言小改进
    • 支持三下标切片操作(slice[low:high:max])。
    • 增加 go vet 静态分析工具。
  • 运行时优化:
    • Goroutine 栈大小从 4KB 增加到 8KB(减少栈溢出风险)。

Go 1.3 (2014-06-18)

  • 运行时和工具链改进
    • 完全移除 C 代码,实现自举(用 Go 编写工具链)。
    • Goroutine 调度器优化(减少锁竞争)。
    • 内存分配器改进。

Go 1.4 (2014-12-10)

  • 迈向移动端
    • 实验性支持 Android 开发(后因维护成本高废弃)。
  • 新增 internal 包机制(限制包可见性)。
  • 引入 go generate 命令(代码生成支持)。

Go 1.5 (2015-08-19)

  • 重大架构变化
    • 编译器从 C 切换为 Go 编写(自举完成)。
    • 默认启用并发 GC(标记-清除算法),GC 暂停时间大幅降低。
    • 支持共享库(-buildmode=shared)。

Go 1.6 (2016-02-17)

  • HTTP/2 支持
    • net/http 包默认支持 HTTP/2。
  • 新增 vendor/ 目录(早期包管理方案)。
  • 改进 TLS 实现。

Go 1.7 (2016-08-15)

  • 编译器和运行时优化
    • 引入 SSA(静态单赋值)后端,生成更高效的机器码。
    • Context 包加入标准库(context.Context)。
    • GC 暂停时间进一步缩短。

Go 1.8 (2017-02-16)

  • 性能提升
    • GC 暂停时间降至亚毫秒级(<1ms)。
    • 支持插件系统(plugin 包,动态加载 .so 文件)。
  • 新增 http.Server 的优雅关闭(Shutdown() 方法)。

Go 1.9 (2017-08-24)

  • 类型别名
    • 新增 type Alias = OriginalType 语法。
  • 并行编译(-p 标志加速构建)。
  • sync.Map 并发安全 map。

Go 1.10 (2018-02-16)

  • 工具链改进
    • 缓存测试结果(go test -cached)。
    • go vet 默认检查更多问题。
  • 新增 strings.Builder(高性能字符串拼接)。

Go 1.11 (2018-08-24)

  • 模块化支持(Go Modules)
    • 实验性引入 go mod 命令(解决依赖管理问题)。
  • WebAssembly 支持(GOARCH=wasm)。

Go 1.12 (2019-02-25)

  • 运行时优化
    • GC 改进(非均匀内存访问 NUMA 感知)。
    • TLS 1.3 支持(默认禁用,需手动启用)。

Go 1.13 (2019-09-03)

  • 错误处理增强
    • fmt.Errorf 支持 %w 包装错误(errors.Is/errors.As)。
    • 数字字面量改进(1_000_000 可读性)。
  • 模块代理默认启用(proxy.golang.org)。

Go 1.14 (2020-02-25)

  • 生产级 Modules
    • go.mod 支持自动更新。
    • 延迟性能优化(defer 开销降低 30%)。
  • 新增 testing.T.Cleanup(测试资源清理)。

Go 1.15 (2020-08-11)

  • 编译器优化
    • 二进制文件体积缩小 5%~15%。
    • 新增 tzdata 嵌入时区数据(无需系统依赖)。

Go 1.16 (2021-02-16)

  • 正式支持 Apple Silicon(M1 芯片)
  • 新增 io/fs 包(抽象文件系统接口)。
  • go install 支持版本后缀(如 go install pkg@v1.2.3)。

Go 1.17 (2021-08-16)

  • 语言特性
    • 支持切片转数组指针(s := (*[4]int)([]int{1,2,3,4}))。
  • 新增 -gcflags=all=-d=checkptr(内存安全检查)。

Go 1.18 (2022-03-15)

  • 里程碑版本
    • 引入泛型(type List[T any] []T)。
    • 多模块工作区(go.work 文件)。
    • 模糊测试(go test -fuzz)。

Go 1.19 (2022-08-02)

  • 内存模型文档化
    • 明确原子操作和 happens-before 规则。
  • 新增 atomic.Int64 等泛型原子类型。

Go 1.20 (2023-02-01)

  • 标准库增强
    • errors.Join 支持多错误包装。
    • context.WithCancelCause(可记录取消原因)。
  • 优化 cover 工具(代码覆盖率报告更精准)。

Go 1.21 (2023-08-08)

  • 新内置函数
    • minmaxclear(泛型支持)。
    • 新增 slicesmaps 标准库包(泛型工具函数)。
  • 改进 profile-guided optimization(PGO)。

Go 1.22 (2024-02-06)

  • 语言改进
    • range 循环支持整型(for i := range 10 { ... })。
    • 更精确的 nil 接口检查。
  • 标准库新增 math/rand/v2(优化随机数生成)。

版本迭代趋势

  1. 早期版本(1.0~1.5):稳定语言核心,优化运行时性能。
  2. 中期版本(1.6~1.12):完善工具链(依赖管理、测试、编译)。
  3. 现代版本(1.13~1.22):增强开发体验(泛型、错误处理、并发工具)。

总结

  • Go 1.0:奠定基础。
  • Go 1.5:自举完成,GC 大幅改进。
  • Go 1.11:引入 Go Modules。
  • Go 1.18:泛型支持(最大语言变更)。
  • Go 1.21+:持续优化泛型生态和工具链。

建议始终使用最新稳定版(如 Go 1.22),以获取最佳性能和新特性支持。

相关文章:

Go主要里程碑版本及其新增特性

Go 语言自 2009 年诞生以来&#xff0c;经历了多个里程碑版本的迭代&#xff0c;每个版本都引入了重要特性和改进。以下是 Go 语言的主要版本及其关键特性&#xff1a; Go 1.0 (2012-03-28) 首个稳定版&#xff0c;承诺向后兼容&#xff08;Go 1 兼容性保证&#xff09;。核心…...

Cut video with ffmpeg

To cut a snippet from a video based on timestamps like 02:52 to 04:20, the best tool is FFmpeg, which is fast, free, and doesn’t re-encode the video (so it keeps original quality if you don’t want re-encoding). Here’s the command you can run in a termi…...

无刷电机控制算法策略

目录 一、基础控制算法 二、高性能算法 三、无感算法 四、智能算法 五、特殊场景算法 无刷电机的核心控制算法主要包括以下类型&#xff1a; 一、基础控制算法 六步换向法&#xff08;梯形控制&#xff09; 通过霍尔传感器检测转子位置&#xff0c;按固定顺序切换…...

LeetCode算法题(Go语言实现)_61

题目 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个房屋存放金…...

Kafka消息不丢失处理

kafka作为消息中间件&#xff0c;吞吐量大&#xff08;至于为啥吞吐量大&#xff0c;本文不做介绍&#xff09;&#xff0c;所以大家用的多。涉及到异构数据库更换&#xff0c;以及数据预处理后的迁移&#xff0c;基本想到的都是通过kafka。 概览图 我先画个图 生产者到kafka…...

Python+ffmpeg 实现给视频添加字幕

创作灵感 孩子学校经常留作业&#xff0c;需要提交一段录制的视频&#xff0c;视频上要求添加学校、班级、姓名等信息的字幕&#xff0c;手机自带的相机软件字幕添加位置要么只能添加在视频正中&#xff0c;要么无法添加多行文本&#xff0c;要么只能添加在片头或者片尾&#…...

QMK键盘固件自定义指南 - 打造你的专属键盘体验

QMK键盘固件自定义指南 - 打造你的专属键盘体验 &#x1f680; 前言 在机械键盘的世界里&#xff0c;QMK固件让你的键盘不再只是简单的输入设备&#xff0c;而是可以按照你的意愿定制的强大工具。本文将深入浅出地介绍如何自定义QMK键盘的行为&#xff0c;从基础概念到高级应…...

Linux-openeuler更换yum镜像源

将 openEuler 系统镜像源更换为华为镜像 以openEuler 24.03 LTS SP1 为例。操作前建议备份原配置文件&#xff0c;并确保系统已联网。 一、确认系统版本与架构 查看系统版本&#xff1a; [rooteulerzy yum.repos.d]# cat /etc/os-releaseNAME"openEuler"VERSION&qu…...

手势、鼠标滑动实现界面切换

手势&#xff1a; #include <QApplication> #include "mainwindow.h"int main(int argc, char *argv[]) {QApplication app(argc, argv);MainWindow window;window.show();return app.exec(); }#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainW…...

什么是变量提升?(形象的比喻)

当然&#xff01;可以用几个生活中的比喻来形象地解释变量提升&#xff1a; ​​1. 书架的占位符​​ 想象你有一个书架&#xff0c;但还没放书。 • 变量提升&#xff08;var&#xff09;&#xff1a; 你先在书架上贴了一个标签&#xff08;比如写“我的书”&#xff09;&…...

趣味编程:答案之书

概述&#xff1a;该篇博客主要介绍的是曾经一度风靡全网的答案之书小程序。 目录 1. 效果展示 2. 源码展示 3. 代码逻辑详解 3.1 头文件与全局变量 3.2 main函数 3.3 主循环 3. 4 绘制界面 4. 运行问题 5.小结 1. 效果展示 该小程序是动态的效果&#xff0c; 因此实…...

用kompose将docker-compose文件转换为K8S资源清单

一、什么是kompose Kompose 是什么&#xff1f;它是一个转换工具&#xff0c;可将 Compose &#xff08;即 Docker Compose&#xff09;所组装的所有内容转换成容器编排器&#xff08;Kubernetes 或 OpenShift&#xff09;可识别的形式。 更多信息请参考 Kompose 官网 Kompos…...

Linux中的防火墙

概述 防火墙通过一系列规则来过滤网络数据包&#xff0c;决定哪些数据包可以进入或离开系统&#xff0c;哪些数据包将被阻止&#xff0c;以此来保护系统免受未经授权的访问、恶意攻击和潜在的安全威胁。 常见的防火墙软件 iptables&#xff1a;是 Linux 系统中常用的防火墙工…...

AI开发跃迁指南(第三章:第四维度1——Milvus、weaviate、redis等向量数据库介绍及对比选型)

1.向量数据库简介 向量数据库&#xff08;Vector Database&#xff09;是专门为存储和查询高维向量数据而设计的数据库&#xff0c;主要用于处理由机器学习模型生成的嵌入向量&#xff08;Embeddings&#xff09;。它在人工智能&#xff08;AI&#xff09;、自然语言处理&…...

深度学习笔记41_调用Gensim库训练Word2Vec模型

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 一、我的环境 1.语言环境&#xff1a;Python 3.8 2.编译器&#xff1a;Pycharm 3.深度学习环境&#xff1a; torch1.12.1cu113torchvision…...

Windows Server 2025 安装AMD显卡驱动

运行显卡驱动安装程序&#xff0c;会提示出问题。但是此时资源已经解压 来到驱动路径 C:\AMD\AMD-Software-Installer\Packages\Drivers\Display\WT6A_INF 打开配置文件&#xff0c;把这两行替换掉 %ATI% ATI.Mfg, NTamd64.10.0...16299, NTamd64.10.0, NTamd64.6.0, NTamd64.…...

debian安装docker

debian安装docker <在Debian上安装Docker的步骤》 在Debian上安装Docker通常涉及几个步骤&#xff0c;以确保你能够顺利运行Docker容器。下面是一份详细的指南&#xff0c;帮助你在Debian系统上安装Docker。 1. 更新你的包列表 首先&#xff0c;更新你的包列表以确保所有…...

uniapp上架苹果APP Store踩雷和部分流程注意事项(非完整流程)

本文是uniapp打包成ios上架到苹果商店一系列踩雷和部分流程介绍 1.打包需要俩个证书 需要xx..mobileprovision和xx.p12证书并且ios打包一天最多5次&#xff0c;超出需要2元/1次付费打包&#xff0c;证书需要使用苹果电脑生成&#xff0c;以下为证书生成教程iOS证书(.p12)和描述…...

【吃透 Elasticsearch 的核心原理】学习步骤

要真正&#xff0c;需深入以下关键机制&#xff08;结合最新技术演进&#xff09;&#xff1a; 一、倒排索引机制 核心三要素 Term Index&#xff1a;FST 结构加速前缀匹配&#xff08;如 ap* 查询&#xff09;Term Dictionary&#xff1a;存储所有 token 及统计信息&#xff…...

springboot使用mybatisPlus进行数据库增删改查

springboot使用mybatisPlus进行数据库增删改查 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是springboot的使用。前后每一小节的内容是存在的有&#xff1a;学习and理解的关联性。【帮帮志系列文章】&#xff1a;每个…...

移动端前端开发中常用的css

在开发移动端项目的时候&#xff0c;很多样式都是相同的&#xff0c;比如说图标大小&#xff0c;头像大小&#xff0c;页面底部保存(添加按钮&#xff09;&#xff0c;项目主体颜色等等&#xff0c;对于这些在项目中常用到的&#xff0c;通常都会写在公共样式中&#xff08;pub…...

C/C++内存分布

内存分布示意图&#xff1a; 内存分布各区域详解&#xff1a; 内核空间&#xff1a; 放置操作系统相关的代码和数据。&#xff08;用户不能直接进行操作 ------ 可以通过调用系统提供的 api 函数&#xff09; 栈区&#xff1a; 又叫堆栈&#xff0c;非静态局部变量/函数参数/…...

Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

版本: 原因 在 Dart Sass 3.0.0 中, @import 规则将被弃用,推荐使用 @use 和 @forward 规则来替代。 1.@use替代@import @use 规则允许你引入其他 Sass 文件中的变量、混合器和函数,并且可以避免命名冲突。 示例: style.scss @use variables;body {color: variables.$pr…...

【计算机网络】用户从输入网址到网页显示,期间发生了什么?

1.URL解析 浏览器分解URL&#xff1a;https://www.example.com/page 协议&#xff1a;https域名&#xff1a;www.example.com路径&#xff1a;/page 2.DNS查询&#xff1a; 浏览器向DNS服务器发送查询请求&#xff0c;将域名解析为对应的IP地址。 3.CDN检查(如果有)&#…...

使用adb设置wifi相关

其他的可以参考以下指令 Android 使用adb操作WiFi连接扫描等相关指令_adb wifi-CSDN博客 但是如果你的wifi账号出现中文的时候&#xff1a; 例如&#xff1a;ssid "wolf的网络" 这种类型的时候&#xff0c;直接使用adb指令是有问题的&#xff0c;基本都会出现乱码…...

MySQL数据库创建、删除、修改

一&#xff1a;建库建表 我们以学校体系进行建表。将数据库命名为school。 以下代码中的大写均可小写不影响。如CREATE DATABASE与create database相同 四个关键的实体分别是学院、老师、学生和课程&#xff0c;其中&#xff0c;学生跟学院是从属关系&#xff0c;这个关系从…...

【Android】动画原理解析

一,基础动画 基础动画,有四种,分别是平移(Translate)、缩放(Scale)、Rorate(旋转)、Alpha(透明度),对应Android中以下四种。 1,Animation基类 1,基本概念 1,插值器 插值器的作用,是控制动画过程的参数,可以理解为 时间(t)与动画进程(d)的函数,动画仅…...

C++从入门到实战(十四)初识STL与STL简介

C从入门到实战&#xff08;十四&#xff09;初识STL与STL简介 前言一、什么是 STL&#xff1f;二、STL 的版本三、STL六大组件&#xff08;目前了解即可&#xff0c;后面会逐步讲解&#xff09;1. 容器&#xff08;Containers&#xff09;—— 装数据的“盒子”2. 算法&#xf…...

力扣-142.环形链表II

题目描述 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 不允许修改 链表。 class Solution { public:ListNode *detectCycle(ListNode *head) {ListNode *fast head;ListNode *slow head;while (fast) {…...

ERC-20与ERC-721:区块链代币标准的双星解析

一、代币标准的诞生背景 在以太坊生态中&#xff0c;代币标准是构建去中心化应用&#xff08;DApps&#xff09;的基石。ERC-20与ERC-721分别代表同质化与非同质化代币的两大核心标准&#xff0c;前者支撑着90%以上的加密资产流通&#xff0c;后者则开启了数字资产唯一性的新时…...

图像管理与人脸识别工具深度解析

这篇Python应用程序代码实现了一个功能丰富的图像管理和人脸识别工具&#xff0c;它集成了多种实用功能&#xff0c;包括人脸检测与裁剪、屏幕截图以及生成PDF等核心功能。我将深入分析这个应用程序的架构、功能和实现方式&#xff0c;帮助读者理解其设计思路和关键技术点。 C…...

【图片合并PDF】一次性将多个文件夹里的图片批量按文件夹为单位合并PDF,多个文件夹图片合并PDF,基于WPF的实现方案

​​设计行业​​:设计师需要将项目设计稿按文件夹整理并合并为PDF交付客户 摄影行业​​:摄影师按主题分类的照片需要合并为PDF存档或分享 ​​企业文档管理​​:市场调研部门需要将分散在不同文件夹的调研图片合并为PDF报告 教育领域​​:教师需要将学生的作业图片按班…...

Matlab 数控车床进给系统的建模与仿真

1、内容简介 Matlab217-数控车床进给系统的建模与仿真 可以交流、咨询、答疑 2、内容说明 略 摘 要:为提高数控车床的加工精度,对数控 车床进给系统中影响加工精度的主要因素进行了仿真分析研 动系统的数学模型,利用MATLAB软件中的动态仿真工具 究:依据机械动力学原理建立了…...

HOW - 在 Mac 上的 Chrome 浏览器中调试 Windows 场景下的前端页面

文章目录 为什么需要模拟 Windows 环境&#xff1f;一、修改 User-Agent 模拟 Windows 浏览器方法 1&#xff1a;通过 Chrome 开发者工具修改 UA方法 2&#xff1a;使用浏览器插件 二、模拟 Windows 的字体和滚动条样式1. 模拟 Windows 字体2. 强制显示滚动条&#xff08;模拟 …...

微信小程序执行C语言库的详细方案

以下是微信小程序中执行C语言库的详细技术方案&#xff0c;分为环境准备、开发流程、优化技巧三个部分&#xff1a; 一、环境准备阶段 1. 工具链安装 # 安装Emscripten核心工具链 git clone https://github.com/emscripten-core/emsdk.git cd emsdk ./emsdk install latest .…...

如何用分布式防御抵扣大规模DDoS攻击?

DDoS攻击是当前最严峻的网络安全威胁之一&#xff0c;其通过海量请求耗尽目标资源&#xff0c;导致服务瘫痪。面对攻击规模的指数级增长&#xff0c;传统的单点防御已难以应对。本文将结合最新技术趋势&#xff0c;探讨分布式防御体系在抵御大规模DDoS攻击中的核心策略与实践。…...

【MySQL】存储引擎 - MyISAM详解

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

如何在Jmeter中调用C程序?

在JMeter中调用C语言程序可以通过以下几种方式实现&#xff1a; 方法一&#xff1a;使用OS Process Sampler JMeter的“OS Process Sampler”可以用来调用外部程序&#xff0c;包括C语言编写的可执行文件。 步骤&#xff1a; 准备C语言程序&#xff1a; 编写C语言代码并编译…...

PyTorch 版本、torchvision 版本和 Python 版本的对应关系

PyTorch 版本、torchvision 版本和 Python 版本的对应关系 在深度学习领域&#xff0c;PyTorch 及其配套库 torchvision 的使用极为广泛。但不同版本的 PyTorch、torchvision 与 Python 之间存在严格的对应关系&#xff0c;若版本搭配不当&#xff0c;会导致代码运行出错…...

构建高可维护、易测试的异步任务系统:基于 Celery + Redis + Eventlet 的模块化架构实践

引言&#xff1a;为什么我们需要一个结构清晰的异步任务系统&#xff1f; 在现代软件开发中&#xff0c;异步任务已经成为提升响应性能、解耦业务逻辑、支持高并发的重要手段。尤其对于测试工程师而言&#xff0c;异步任务往往意味着&#xff1a; 任务执行不可控状态追踪困难…...

《智能网联汽车 自动驾驶功能场地试验方法及要求》 GB/T 41798-2022——解读

目录 1. 适用范围与核心目标 2. 试验核心要求 2.1 试验场地与环境 2.2 试验设备与数据采集 2.3 试验车辆要求 3. 试验过程与通过条件 4. 关键试验场景与方法 4.1 交通信号识别及响应 4.2 基础设施与障碍物识别 4.3 行人及非机动车场景 4.4 紧急避险与风险策略 5. 特…...

删除链表倒数第N个节点

Leetcode&#xff08;19&#xff09;&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 分析&#xff1a; 首要目标就是找到第N个节点的前一个节点&#xff0c;因为只有通过这个节点&#xff08;cur&#xff09;才可进行对…...

创建型模式:抽象工厂(Abstract Factory)模式

一、概念与核心思想​ 抽象工厂(Abstract Factory)模式是创建型设计模式的重要成员,它提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。该模式将对象的创建逻辑封装在抽象工厂及其具体实现类中,客户端通过抽象工厂接口获取所需的对象族,实现对象创…...

预训练模型实战手册:用BERT/GPT-2微调实现10倍效率提升,Hugging Face生态下的迁移学习全链路实践

更多AI大模型应用开发学习内容&#xff0c;尽在聚客AI学院。 一. 预训练模型&#xff08;PTM&#xff09;核心概念 1.1 什么是预训练模型&#xff1f; 预训练模型&#xff08;Pre-trained Model, PTM&#xff09;是在大规模通用数据上预先训练的模型&#xff0c;通过自监督学…...

基于Flink的用户画像 OLAP 实时数仓统计分析

1.基于Flink的用户画像 OLAP 实时数仓统计分析 数据源是来自业务系统的T日数据&#xff0c;利用kakfa进行同步 拼接多个事实表形成大宽表&#xff0c;优化多流Join方式&#xff0c;抽取主键和外键形成主外键前置层&#xff0c;抽取外键和其余内容形成融合层&#xff0c;将4次事…...

php java go python面向对象的设计原则和常用设计模式

一、面向对象设计原则&#xff08;OOP Design Principles&#xff09; 是写出高内聚、低耦合、可维护系统的基础&#xff0c;重点是 SOLID 五大原则 其他补充原则。 &#x1f4cc; SOLID 五大设计原则&#xff1a; 原则名称全称核心思想示例关键词S 单一职责原则Single Respo…...

第十三节:图像形态学操作-腐蚀与膨胀

引言 图像形态学是数字图像处理领域中的一个重要分支&#xff0c;它主要研究图像中物体的形状和结构。作为形态学操作的基础&#xff0c;腐蚀(Erosion)和膨胀(Dilation)是两种最核心的操作&#xff0c;广泛应用于图像预处理、特征提取、目标检测等多个领域。OpenCV作为最流行的…...

数据结构 - 9( 位图 布隆过滤器 并查集 LRUCache 6000 字详解 )

一&#xff1a;位图 位图是一种高效的数据结构&#xff0c;它通过比特来表示某个值的存在与否&#xff0c;通常以连续的二进制位数组存储。每个比特位对应一个特定的状态&#xff0c;这种表示方式在内存效率和操作速度上具有显著优势&#xff0c;尤其适用于海量数据、整数以及…...

在Hugging Face网站像Github一样克隆repository到本地的具体步骤

首先我们找到自己想要的仓库&#xff0c;在搜索栏进行搜索 之后我们可以看到这里有三个点&#xff0c;鼠标点击&#xff0c;选择Clone repository 最后按照上面的步骤进行复制粘贴到电脑上执行就行&#xff0c;我们可以看到有两种选择HTTPS和SSH&#xff0c;如果HTTPS不行就选择…...

如何使用Java从PDF文件中提取图像(教程)

Java本身不直接支持PDF文件操作&#xff0c;因此需要使用外部Java PDF库。本教程将向您展示如何通过5个简单步骤&#xff0c;使用JPedal Java PDF库从PDF文件中提取图像。 使用Java从PDF中提取图像 • 将JPedal库添加到您的类路径或模块路径&#xff08;下载试用版jar文件&…...