后端

Golang无限缓存channel

需求 最近在弄一个游戏的gate网关转发服务器,服务器之间使用的是nats通讯,gate的作用是接收客户端发来的消息转发到对应的服务器上,并从nats上获取游戏服务器发送给客户端的消息并转发给客户端。前面接收还好处理,因为都是发布订阅模式的消息,收到消息直接向nats上扔就行了。但转发服务器来的消息就不一样了,从nats上取的速度远大于gate转发给客户端的速度,会有数据囤积在nats中。为了解决

深入解析MySQL Join算法原理与性能优化实战指南

文章目录 深入解析MySQL Join算法原理与性能优化实战指南 一、Join操作的核心原理 二、MySQL中Join算法详解 1. 基础型:嵌套循环连接(Nested-Loop Join) 1.1 概述 1.2 性能复杂度 1.3 利用索引优化(Index Nested-Loop Join) 1.4 优劣对比

970. 强整数

每个人都是不完美的,这才有了最独一无二。 LC每日一题,参考970. 强整数 - 力扣(Leetcode)。 题目 给定三个整数 x 、 y 和 bound ,返回 值小于或等于 bound 的所有 强整数 组成的列表 。 如果某一整数可以表示为 x^i + y^j ,其中整数 i >= 0 且 j >= 0,那么我们认为该整数是一个 强整数 。 你可以按 任何顺序 返回答案。在你

AI智能体“内卷“升级!Skills架构让大模型从“万金油“变“专业选手“,企业级NL2SQL实战教程(附完整代码)

项目背景自从10月份Claude提出Skills概念后,给智能体开发带来一个全新的视角;今天我们就基于企业一个非常实用的NL2SQL场景出发,结合langchain1.X+Skills实现一个企业级稳定高效的问数智能体;下面我们正式开始。 一、 引言:数据交互的“最后一公里”在数字化转型的今天,企业并不缺

从 MySQL 到 KingbaseES:Database、Schema、User 一次讲透

先准备一个普通用户 app_user 和一个数据库 app_db。如果按 MySQL 的习惯看,很容易把事情理解成:连上 app_db,表就建在 app_db 下面。这个理解在日常口头表达里问题不大,但继续写 SQL 时会很快遇到麻烦。KingbaseES 里,连接目标、对象命名空间、登录用户是三件事:databa

8. SpringCloud之Admin服务监控

image.png 1、简介 Springcloud admin 是基于 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dep

浅聊一下JVM内存结构

VM内存结构大致如下: 其中白色块部分是线程共享的,粉色块是线程隔离的 堆 堆是JVM中最大的一块内存空间,绝大部分对象都存在堆内存内,然后堆又可以做以下细分: 虚拟机栈 虚拟机栈由栈帧组成,每一次方法调用都会创建一个栈帧,然后去压栈。当方法返回时,则对应着出栈操作。 栈帧中包含局部变量表、操作数栈、指向运行时常量池的引用、方法返回地址、动态链接。 方法里

886. 可能的二分法(难度:中等)

题目链接: 题目描述: 给定一组 n 人(编号为 1, 2, ..., n), 我们想把每个人分进任意大小的两组。每个人都可能不喜欢其他人,那么他们不应该属于同一组。 给定整数 n 和数组 dislikes ,其中 dislikes[i] = [ai, bi] ,表示不允许将编号为 ai 和 b

801. 使序列递增的最小交换次数(难度:困难)

题目链接: 题目描述: 我们有两个长度相等且不为空的整型数组 nums1 和 nums2 。在一次操作中,我们可以交换 nums1[i] 和 nums2[i]的元素。 例如,如果 nums1 = [1,2,3,8] , nums2 =[5,6,7,4

【算法】选择排序算法的讲解和代码实践

思路 选择排序,顾名思义,就是每次选出一个最小或最大的数,移动位置,直到整个数组完成排序。 有数组[26, -3, 14, -15, 0, 324, 98, 1, 22] 现对该数组进行排序,使用选择排序算法。 先来屡一下思路和步骤: 选出整个数组最小的数,记录它的下标; 将它和未排序的最左边数组进行交换(交换过就是排序了); 直至整个数组排序完成。 讲解 首先声明出待排序下标、最小值和最小下