Go 语言中 uintptr和unsafe.Pointer 的区别

`unsafe.Pointer`1. 定义: `unsafe.Pointer` 是一种特殊的指针类型。它可以指向任意类型的数据。你可以把它看作是 C 语言中的 `void`,但功能更受限,主要用于类型转换。2. 类型安全: 顾名思义,使用 `unsafe.Pointer` 会绕过 Go 的类型安全检查。编译器不会阻止你将一个 `int` 转换为 `unsafe.Pointer`,
阅读全文

为什么说golang参数传递皆是值传递?

什么是值传递 (PassbyValue)?值传递的核心思想是:当一个变量作为参数传递给函数时,函数接收到的是该变量的一个副本 (copy),而不是变量本身。 函数内部对这个副本的任何操作,都不会影响到函数外部的原始变量。 值类型 (Value Types) 的传递Go 中的基本类型(如 `int`, `float`, `string`, `bool`)、结构体 (`str
阅读全文

MySQL InnoDB 的双写策略

双写的作用MySQL InnoDB 存储引擎中的双写策略(Doublewrite Buffer)是为了防止在将内存中的数据页(Page)写入磁盘时发生部分写失效(Partial Page Write / Torn Page)导致的数据损坏问题,从而提高数据在意外宕机(如操作系统崩溃、断电)后的恢复能力和数据一致性。 问题背景:部分写失效 (Partial Page Write)
阅读全文

人工智能中的“知识蒸馏”,到底是什么?

随着 DeepSeek R1 的爆火,知识蒸馏这一人工智能中常用的技术进入大众视野。本篇面向对人工智能和机器学习感兴趣的初学者的科普性文章,主题聚焦于当前深度学习领域中被广泛应用的「知识蒸馏(Knowledge Distillation)」技术,希望能帮助读者快速了解它的概念、作用以及应用场景。 什么是知识蒸馏?在深度学习的发展过程中,模型的规模(参数量)越来越大,性能也随之提升。
阅读全文

人工智能中的“量化”,到底是什么?

深度学习模型已经在图像识别、自然语言处理和自动驾驶等领域取得了令人瞩目的成绩。然而,随着模型规模不断增大,如何在保证模型性能的同时降低计算资源和能耗,成为了研究者和工程师们面临的重要课题。量化(Quantization)技术正是在这一背景下应运而生,并在实际应用中发挥了巨大作用。本文将带你深入了解人工智能中的量化技术,探讨它的原理、优点以及所面临的挑战。 什么是量化?量化,顾名思义
阅读全文

用 Go 语言构建 MCP 客户端与服务器

  • 小码哥
  • 2025-04-10 14:09:18
  • Ai
  • ai mcp
前言模型上下文协议(`Model Context Protocol`,简称 `MCP`)是一种开放标准,旨在标准化大型语言模型(`LLM`)与外部数据源和工具之间的交互方式。随着 `MCP` 越来越受欢迎,`Go MCP` 库应运而生。本文将介绍如何在 `Go` 语言里面轻松构建 `MCP` 客户端和服务器。 mcpgo`mcpgo` 是 `Go` 语言实现的
阅读全文

大模型中常说的 MCP 是什么?

  • 小码哥
  • 2025-03-30 11:46:39
  • Ai
  • mcp ai
背景介绍大型语言模型(LLMs)虽然在文本生成、语言理解、代码编写等方面展现出强大能力,但存在一个固有局限:它们的能力受限于训练数据范围,缺乏实时信息感知和外部交互能力。传统解决方案是为每个数据源(数据库、API、文件系统)构建定制化集成方案。这导致了"MxN问题":M个AI模型需要与N个外部工具连接,集成数量呈M×N增长。为解决这一挑战,Anthropic于2024年1
阅读全文

MySQL幻读与间隙锁(Gap Lock)解析指南

MySQL间隙锁(Gap Lock)解析指南 1. 间隙锁的本质与设计哲学间隙锁(Gap Lock)是InnoDB存储引擎独特的锁机制,它不锁定记录本身,而是锁定记录之间的"空白区域"。这一设计思想源于数据库系统对并发控制的不断探索,反映了数据库设计者对"读写"冲突的深刻理解。从数据结构的角度看,间隙锁实际上锁定的是B+树索引中节点之间的范围,这种锁定方式与传统行锁的最大
阅读全文

链路追踪基础&gf中的应用

链路追踪基础&gf中的应用 前言在微服务架构的系统中,请求在各服务之间流转,调用链错综复杂,一旦出现问题和异常,很难追查定位。链路追踪系统能够追踪并记录请求在系统中的调用顺序、调用时间等一系列关键信息,从而帮助我们定位异常服务和发现性能瓶颈。 OpenTelemetry分布式追踪(OpenTelemetry) 是一个开源的可观测性框架,旨在帮助开发者收集、处理和导
阅读全文

分布式链路追踪(三) - Baggage和GoFrame的结合使用

Baggage 概念Baggage 是 OpenTelemetry 中的一个重要概念,它允许我们在分布式追踪中传递自定义的上下文信息。Baggage 以键值对的形式存在,可以在服务间传递,使得我们能够在不同的服务中访问这些共享的上下文数据。这在跨服务调用时非常有用,例如,我们可以在客户端设置一些调试信息或用户标识,并在服务端获取这些信息,从而实现更灵活的追踪和监控。 客户端代码示
阅读全文