刷新
Rust简要汇总(持续更新)

博主头像 Rust工具: https://www.rust-lang.org/tools/install 1 cargo cargo new my_test 开始于单元包的根节点:在编译一个单元包时,编译器会从单元包的根节点文件开始编译(通常是库单元包中的src/lib.rs,或二进制单元包中的src/mai ...

CF161D Distance in Tree + 树上背包

博主头像 CF161D Distance in Tree DP状态定义 根据子树位置\(+\)路径长度的统计设计状态。 \(Dp_{u,j}\)表示在以 \(u\) 为根的子树中,到 \(u\) 的距离恰好为 \(j\) 的节点个数。 初始化 \[dp_{u, 0}=1 \]状态转移方程式 在合并子树时来统计 ...

断言及静态断言

博主头像 在c++11之前就已经有了断言,但是不是静态断言。 断言 断言是一种编程中常用的手段。在通常情况下,断言就是将一个返回值总是需要为真的判断表达式放在语句中,用于排除在设计的逻辑上不应该产生的情况。 一个函数总需要输入在一定的范围内的参数,那么程序员就可以对该参数使用断言,以迫使在该参数发生异常的时候 ...

Redisson 使用手册:从 API 误区到看门狗失效,在此终结分布式锁的噩梦

博主头像 在上一篇《分布式锁的代价与选择:为什么我们最终拥抱了Redisson?》中,我们聊到了手写 SETNX 的"茹毛饮血"时代。既然选择了 Redisson,就意味着我们已经告别了那些让人提心吊胆的死锁噩梦。 很多时候,我们以为只是调用了一个简单的 lock.lock(),但背后其实是一整套复杂的自动续... ...

懂得编程语言的通用结构,随便哪个语言都是手拿把掐

博主头像 编程语言核心结构体系:从相似性到本质理解 前言 在接触过多个编程语言的学习之后,观察到一些通用的范式结构,编程语言虽然表面差异巨大,但底层存在一套不可简化的最小完备集——这是所有语言都必须包含的基本元素,否则无法表达任意算法。 而把握住这一点之后,对任意编程语言的学习都有一种脉络极其明晰的感觉,一旦 ...

剑指offer-72、礼物的最⼤价值

博主头像 题⽬描述 在⼀个m × n的棋盘的每⼀格都放有⼀个礼物,每个礼物都有⼀定的价值(价值⼤于 0)。你可以从棋盘的左上⻆开始拿格⼦⾥的礼物,并每次向右或者向下移动⼀格、直到到达棋盘的右下⻆。给定⼀个棋盘及其上⾯的礼物的价值,请计算你最多能拿到多少价值的礼物? 如输⼊这样的⼀个⼆维数组, [ [1,3,1 ...

spring6-bean的生命周期与循环依赖

博主头像 bean的生命周期 粗略划分5步 实例化bean 调用的是无参数的构造方法 bean属性赋值 执行set注入 初始化bean 调用bean的init()方法,需要自己写,自己配 使用bean 销毁bean 调用bean的destroy(),需要自己写,自己配 注意:自定义的init()和destro ...

一种多选项的高效存取(存储、查询)解决方案

博主头像 本文主要内容 对于多选项的值,如何保存?本文提供了一种非常规的方案。 对于记录在数据库中的多选项的值,如何快速查询那些记录是包含了某个(某些)选项?本文使用了“与位运算”解决查询问题。 源码地址:https://github.com/HackyleShawe/JavaBackEndDemos/tre ...

剑指offer-71、剪绳子(进阶版)

博主头像 题⽬描述 给你⼀根⻓度为 n 的绳⼦,请把绳⼦剪成整数⻓的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳⼦的⻓度记为 k[1] ,..., k[m] 。请问 k[1] * k[2] * ... * k[m] 可能的最⼤乘积是多少?例如,当绳⼦的⻓度是 ...

语言开发随笔2

博主头像 自 2023 年重新开发语言到现在,已经有三年了。 目前项目还在开发中,离发布还有一段时间。不过好的一点是,很多问题已经想明白了,对这个项目的未来也愈来愈清晰了。 为什么要开发新语言 不同的人对编程这件事的态度不一样。 对多数人来说,编程只是一份工作。代码嘛,怎么写都行,能跑就好。 但我不这么认为, ...

Java中的数据类型

博主头像 Java 数据类型详解 目录 数据类型分类 基本数据类型 引用类型 基本类型 vs 引用类型 包装类 String 详解 字符串常量池 内存布局 对象生命周期 常见问题 数据类型分类 Java 数据类型 ├── 基本类型(8种) │ ├── 整数类型:byte, short, int, long │ ...

古文观芷App搜索方案深度解析:打造极致性能的古文搜索引擎

博主头像 古文观芷App搜索方案深度解析:打造极致性能的古文搜索引擎 引言:在古籍的海洋中精准导航 作为一款专注于古典文学学习的App,古文观芷需要处理从《诗经》到明清小说的海量古文数据。用户可能搜索一首诗、一位作者、一句名言、一个成语,甚至一段文化常识。如何在这个庞大的知识库中实现毫秒级精准搜索?这是我作为 ...

博弈论总结(20260201)

博弈论 ICG 游戏 若满足以下条件: 游戏由两个人参与,两人轮流做出决策且必定对自己最有利; 当有一人无法做出决策时游戏结束,无法做出决策的人输,且无论两人如何决策,游戏都一定会结束(不会出现平局) 游戏中的同一个状态不可多次抵达,任意游戏者在某一确定状态下做出的决策只与当前状态有关,而与游戏者无 ...

收入写RAFT算法(一)Leader选举

Raft Leader 选举实现文档 目录 1. 概述 2. 核心概念 3. 涉及的类及其职责 4. 实现细节 4.1 节点状态与转换 4.2 选举超时机制 4.3 投票请求处理 4.4 选举发起流程 4.5 投票响应处理 4.6 心跳机制 4.7 安全性保证 5. 测试指南 6. 使用示例 7. ...

【C++】实现一个定时器

博主头像 前言 实现一个周期性调用类。通过TaskTimer构造函数设置周期,通过setTimerFun传入要调用函数和参数,start启动,stop停止。比如要每30秒发送一个心跳包可以把发送包的函数传入定时器,定时器会创建一个线程周期性发送这个包。 实现 TaskTimer主要有开始、停止、设置调用函数与 ...

123···50>