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

Python整数有上限吗?揭秘动态大整数的原理与工程边界

1. 这个问题比你想象的更根本Python整数到底有没有“最大值”很多人第一次听说“Python最大整数”时下意识会去查sys.maxint或sys.maxsize然后发现结果要么报错要么是个看起来很奇怪的数字比如 9223372036854775807接着就困惑了这到底是上限还是下限还是压根就不是整数上限我写个斐波那契数列算到第10000项会不会崩用Python做密码学大数运算靠不靠谱这个问题背后藏着Python语言设计哲学的一次重大转向——它不是个简单的参数查询题而是一把钥匙能帮你打开理解Python内存管理、类型系统演进和底层实现逻辑的大门。关键词“Python最大整数”表面看是关于一个数值边界实则牵扯出三个核心层次历史兼容性Python 2、现代设计Python 3、以及真实世界的物理约束内存与性能。你不需要记住2^63-1这个数字但必须清楚在Python 3里整数没有数学意义上的上限只有工程意义上的瓶颈而这个瓶颈从来不是由CPU位宽决定的而是由你的RAM大小、Python解释器的内存分配策略、甚至你当前运行的其他进程共同决定的。我带过不少刚从C/Java转过来的工程师他们第一反应总是“Python是不是偷偷用了GMP库”——答案是不完全是但思路高度一致。Python 3的int类型本质上是一个动态长度的十进制数字字符串的二进制高效封装它内部用的是“小端序”的30位或15位数字块具体取决于编译选项每一块存一个“digit”所有运算都在这些digit块上逐块进行。这意味着当你计算10**1000000时Python不是在某个固定大小的寄存器里做溢出判断而是在堆上申请足够多的digit块像搭积木一样把整个大数拼出来。所以真正限制你的从来不是“能不能表示”而是“愿不愿意为这个数付出内存和时间代价”。我在处理基因组序列比对时曾生成过长度超过200万位的整数用于Rabin-Karp滚动哈希程序没崩但单次加法耗时从纳秒级跳到了毫秒级——这种量级的变化才是你在实际项目中真正需要警惕的“上限”。2. 历史断层线Python 2的int/long双轨制为什么必须被废除2.1 32位与64位系统的双重枷锁Python 2时代int类型的取值范围直接绑定在C语言的long类型上而C的long又取决于编译环境和操作系统。这就导致了一个非常现实的问题同一份Python 2代码在同事的Mac64位和你的老款树莓派32位上跑int的“最大值”可能差三万倍。我们来拆解这个数字是怎么来的在32位系统上C的long通常是32位有符号整数其最高位是符号位剩下31位用于数值。因此理论最大值是2³¹−1 2,147,483,647。这个数字你可能眼熟——它就是Windows任务管理器里“已提交内存”的默认上限单位KB也是很多老游戏存档ID的硬性天花板。在64位系统上C的long扩展为64位于是int上限跃升至2⁶³−1 9,223,372,036,854,775,807。这个数字有多大如果把它写成十进制要占20位如果用它作为字节偏移量去读一个文件这个文件体积将超过8EB艾字节远超目前任何单台服务器的存储能力。但关键在于这个上限是硬编码在Python解释器启动时的常量里的。你无法在运行时修改它也无法绕过它。一旦你的计算结果超过这个值Python 2不会报错而是自动触发一个隐式类型转换int→long。这个过程看似平滑实则暗藏杀机。2.2 int到long的自动转换优雅的妥协危险的陷阱我曾经维护过一个金融风控系统核心逻辑是计算用户交易流水的累计积分。某天凌晨一位VIP用户连续刷了10万笔小额交易系统突然开始返回负数积分。排查三天后才发现原始积分变量是int类型当累计值突破21亿后自动转为long而下游一个用Cython写的风控模块只认int*指针拿到long对象后直接按int解析内存——高位字节被截断结果自然变成负数。这就是典型的“类型静默升级”引发的灾难。更隐蔽的问题在于性能断层。int运算是CPU原生支持的一次加法只要1个时钟周期而long运算是纯软件模拟的需要遍历所有digit块做进位、借位、归一化。我在一台i7-8700K上实测过对两个100万位的整数做加法int如果还能装下耗时约0.3ns而long版本平均耗时12.7ms——相差四千万倍。Python 2的文档里轻描淡写地说“conversion is automatic and transparent”但没人告诉你这个“transparent”背后是性能悬崖。2.3 Python 3的终极解法统一为int但代价是什么Python 3的解决方案堪称教科书级的重构彻底删除long类型让所有整数都走long的实现路径。这意味着哪怕你写x 42Python解释器内部创建的也是一个PyLongObject结构体只是它只包含一个digit块。这种“统一降级”看似浪费实则换来三大确定性行为一致性无论你是在嵌入式设备还是超算集群上运行10**100 1的结果永远相同不会因架构差异而改变。API稳定性所有接受整数的函数如range()、list.index()不再需要区分int/long参数校验逻辑大幅简化。错误可预测性溢出不再静默发生而是明确抛出MemoryError——这个异常比OverflowError更有信息量它直指问题根源不是算法错了是机器资源不够了。但这个方案也有代价。最明显的是内存占用一个值为42的int在Python 2里可能只占24字节对象头value而在Python 3里至少占28字节多了digit数组指针和长度字段。对于海量小整数场景比如处理传感器每秒百万条读数这个开销会被放大。不过CPython通过“小整数缓存池”-5到256做了优化这部分影响基本可忽略。3. 真正的边界在哪里sys.maxsize不是整数上限而是索引天花板3.1 sys.maxsize的真相它管的是“容器长度”不是“数字大小”这是全网90%的教程都在误导初学者的地方。sys.maxsize返回的值通常是2⁶³−1或2³¹−1根本不是Python能表示的最大整数而是CPython解释器允许创建的最大容器如list、tuple、str的长度。你可以轻松创建一个比sys.maxsize大得多的整数但无法创建一个长度等于该值的列表——因为那会直接耗尽系统所有地址空间。我们来做一个破坏性实验import sys print(sys.maxsize , sys.maxsize) # 输出9223372036854775807 print(type(sys.maxsize) , type(sys.maxsize)) # class int # 尝试创建一个长度为 sys.maxsize 的列表别真跑 # huge_list [0] * sys.maxsize # MemoryError: Unable to allocate array... # 但可以轻松创建一个远大于它的整数 giant_num 10 ** 1000000 # 一百万位的10的幂 print(len(str(giant_num)) , len(str(giant_num))) # 输出1000001 print(giant_num sys.maxsize , giant_num sys.maxsize) # True这个实验揭示了一个关键事实sys.maxsize是CPython为序列对象的长度字段Py_ssize_t类型设定的上限而int对象的大小字段ob_size是Py_ssize_t的绝对值理论上可以达到sys.maxsize但实际受限于可用内存。换句话说sys.maxsize是“地址空间的护照签证页数”而int的大小是“你能往护照里贴多少张签证贴纸”——前者是硬性规定后者取决于你钱包里有多少钱。3.2 那么Python 3的int上限到底怎么算严格来说Python 3没有预设的整数上限但存在一个理论最大值它由以下公式决定理论最大整数 ≈ (2^(可用内存字节数 * 8)) / (每个digit块的位宽)但这只是一个粗略估算。真实世界中制约因素要复杂得多内存碎片即使你有16GB空闲内存也未必能凑出连续的100MB来存放一个超大整数的digit数组。解释器开销每个PyLongObject对象本身有16字节的对象头外加digit数组的指针和长度字段。GC压力超大整数会显著拖慢垃圾回收器的标记阶段因为它需要遍历整个digit数组。缓存局部性CPU缓存行通常64字节只能加载一小部分digit导致大量缓存未命中。我在一台32GB内存的服务器上做过极限测试当尝试创建一个需要占用超过8GB内存的整数时约10^2.5e9系统开始频繁swap响应延迟飙升到秒级此时MemoryError已经不是问题用户体验崩溃才是真正的“上限”。3.3 如何实测你环境的真实承载力与其死记硬背理论值不如掌握一套快速评估方法。我日常用这三个命令组合来摸清底线# 1. 查看当前Python解释器的位宽和maxsize python3 -c import sys; print(fArch: {sys.maxsize.bit_length()} bits, maxsize: {sys.maxsize}) # 2. 测量创建不同规模整数的内存消耗使用memory_profiler pip install memory-profiler python3 -m memory_profiler -f test_int_growth.py # 3. 关键诊断观察digit数组的实际分配情况需启用debug build # python3-dbg -c import sys; print(sys.getsizeof(10**100000))其中test_int_growth.py的内容很简单from memory_profiler import profile profile def create_big_ints(): sizes [10**3, 10**4, 10**5, 10**6] ints [] for size in sizes: num 10 ** size ints.append(num) print(f10^{size} - {num.bit_length()} bits, size: {num.__sizeof__()} bytes) return ints if __name__ __main__: create_big_ints()运行结果会清晰显示每增加一个数量级内存占用并非线性增长而是呈现阶梯式跃升——这是因为digit块的分配是按需、分批进行的。比如在我的测试机上10**100000占用约42KB而10**1000000直接跳到412KB中间的“断层”正是内存分配器的策略体现。4. 实战避坑指南当大整数开始拖慢你的程序4.1 性能雪崩的五个典型征兆大整数问题很少以MemoryError形式爆发更多是悄无声息的性能退化。以下是我在生产环境中总结的五大预警信号按严重程度排序征兆表现根本原因快速验证方法CPU使用率持续100%但无I/O等待top显示Python进程吃满单核iostat无磁盘活动大整数运算阻塞GIL且digit数组过大导致缓存失效py-spy record -p pid --duration 30查看热点函数GC时间占比突增30%gc.get_stats()显示collected字段激增time.time()与time.process_time()差值变大超大整数触发频繁的全量GC扫描import gc; gc.set_debug(gc.DEBUG_STATS)内存RSS增长远超VMSps aux显示RSS常驻集增长缓慢但VMS虚拟内存暴涨digit数组分散在堆中导致RSS统计失真pmap -x pid查看内存段分布相同算法在不同数据规模下耗时非线性处理10万条记录耗时1s处理100万条突增至200sdigit数组长度导致算法复杂度从O(1)退化为O(n)对输入数据做对数尺度采样绘制耗时曲线pickle序列化时间指数级增长pickle.dumps(big_int)耗时从毫秒级跳到分钟级pickle需要遍历整个digit数组并做base64编码import pickle; print(pickle.HIGHEST_PROTOCOL)最经典的案例是RSA密钥生成。很多人以为pow(base, exp, mod)是原子操作实际上它内部会把exp分解为二进制位对每一位执行平方-乘法。当exp是2048位大数时这个循环要执行2048次每次都要操作一个可能长达几百字节的digit数组——这就是为什么用纯Python实现RSA比OpenSSL慢上千倍。4.2 四种高危操作模式及替代方案模式一字符串与整数的反复互转# ❌ 危险每次str()都重新计算十进制表示O(n²)复杂度 huge_num 10**100000 for i in range(100): s str(huge_num) # 每次都重算 if 999 in s: break # ✅ 安全缓存字符串表示或改用log10估算位数 huge_str str(huge_num) # 一次性计算 # 或者直接用digits huge_num.bit_length() * math.log10(2)模式二用range()遍历超大整数# ❌ 绝对禁止range(10**100)会立即OOM # for i in range(10**100): ... # ✅ 正确用生成器或数学推导 def huge_range(start, stop, step1): current start while current stop: yield current current step # 或者直接用if n % 2 0: ... 避免遍历模式三用比较超大整数# ❌ 低效逐digit比较O(n)且缓存不友好 if a b: # 当a,b都是百万位时耗时惊人 # ✅ 优化先比长度再比值 if a.bit_length() ! b.bit_length(): return False return a b # 此时长度相同比较更快模式四在循环中累积大整数# ❌ 灾难每次都创建新对象旧对象待GC total 0 for x in huge_list: total x # x可能是大整数total会越来越大 # ✅ 工程方案分块累加及时释放 chunk_size 1000 total 0 for i, x in enumerate(huge_list): total x if i % chunk_size 0: # 强制GC清理中间对象 import gc; gc.collect()4.3 内存优化的三个硬核技巧技巧一利用_PyLong_AsByteArray获取原始字节CPython专属如果你需要和C库交互或者做自定义序列化直接访问digit数组比to_bytes()快5倍import ctypes import sys def fast_to_bytes_pylong(obj): # 获取PyLongObject内部结构仅CPython有效 obj_addr id(obj) # digit数组指针偏移量CPython 3.8 digits_ptr ctypes.cast(obj_addr 24, ctypes.POINTER(ctypes.c_long)) size abs(ctypes.cast(obj_addr 16, ctypes.POINTER(ctypes.c_ssize_t)).contents.value) # 实际业务中需根据Python版本调整偏移量 return b.join(digits_ptr[i].to_bytes(4, little) for i in range(size)) # 注意此技巧需深入理解CPython源码生产环境慎用技巧二用array.array预分配digit缓冲区对于已知规模的计算如密码学预先分配能减少内存碎片import array def prealloc_long_array(max_digits): # 创建一个足够大的digit数组 buf array.array(L, [0]) * max_digits # L为unsigned long # 后续计算直接复用buf避免频繁malloc return buf技巧三启用--without-pymalloc编译选项终极方案对于超大规模数值计算服务重新编译CPython时禁用内置内存分配器改用jemalloc或tcmalloc可将大整数分配延迟降低40%。这需要运维团队深度介入但回报巨大——某区块链节点采用此方案后TPS提升22%。5. 常见问题与现场排错实录5.1 “为什么我的10**1000000计算不报错但程序卡死了”这是最常被问到的问题。根本原因在于Python的int运算本身不会卡死但运算结果的后续使用会。典型链路如下result 10**1000000→ 解释器成功分配digit数组返回对象print(result)→ 触发__str__方法开始将百万位数字转为十进制字符串字符串转换算法除法取余需要O(n²)时间且产生大量临时对象GC开始疯狂回收这些临时对象进一步拖慢主线程排错步骤第一步import faulthandler; faulthandler.enable()捕获SIGUSR1用kill -USR1 pid获取当前调用栈第二步检查栈顶是否为long_to_decimal_string或long_divrem第三步用gdb python pid附加后执行py-bt确认是否卡在字符串转换解决方案永远不要对超大整数调用print()或str()。改用hex()快10倍或直接输出bit_length()。5.2 “sys.maxsize在32位Python上是2147483647但我能创建更大的int为什么”这是一个美丽的误会。sys.maxsize的值确实来自Py_ssize_t的位宽但它只约束容器长度。你可以验证# 在32位Python中如旧版Raspberry Pi OS import sys print(sys.maxsize) # 2147483647 print(2147483647 1) # 2147483648 —— 没问题 print(len([0] * 2147483647)) # MemoryError: Cannot allocate...关键点在于Py_ssize_t是用于索引的有符号整数而int对象的ob_size字段是Py_ssize_t的绝对值且int的digit数组分配不经过Py_ssize_t校验。所以sys.maxsize是“索引安全区”的边界不是“数值安全区”。5.3 “用numpy.int64处理大数比Python int快该不该切换”不该。这是典型的“用错工具”。numpy.int64是固定64位整数溢出时会静默wrap-around如2**63变成负数完全违背大数计算的初衷。正确姿势是科学计算用gmpy2库它提供mpz类型底层调用GMP速度比CPython快10-100倍密码学用cryptography库它内部用Rust或C实现避免Python GIL瓶颈大数据处理用pandas的Int64Dtypenullable integer配合pyarrow后端我做过对比测试计算pow(2, 1000000, 1000000007)模幂gmpy2.powmod耗时0.8msCPython原生pow耗时12.3ms而numpy.int64直接溢出返回错误结果。5.4 “如何监控生产环境中的大整数滥用”在微服务架构中我部署了三重防护静态扫描用pylint规则检测**、pow、int()等高危调用运行时注入在sitecustomize.py中重写int.__new__记录超过1000位的创建事件APM集成Datadog APM中添加自定义指标python.int.size.max当单个int超过50MB时告警最有效的是一行代码防护# 在应用启动时执行 import sys _original_int int class SafeInt(_original_int): def __new__(cls, value, *args, **kwargs): if isinstance(value, int) and value.bit_length() 1000000: raise ValueError(fInteger too large: {value.bit_length()} bits) return _original_int.__new__(cls, value, *args, **kwargs) int SafeInt这个补丁能在问题扩散前就拦截住99%的失控场景。6. 终极实践建议写出让十年后的自己都佩服的代码最后分享一个我坚持了八年的习惯在任何涉及数值计算的模块开头强制声明“整数契约”。这不是为了炫技而是给未来的维护者大概率是你自己一份清晰的协议。 # INTEGER CONTRACT v1.0 # 本模块承诺 # 1. 所有输入整数位宽 ≤ 64 bits即 ∈ [-2^63, 2^63) # 2. 所有中间计算结果位宽 ≤ 128 bits防止溢出 # 3. 输出结果位宽 ≤ 256 bits确保JSON序列化安全 # 4. 若违反任一条件抛出 IntContractViolationError # # 验证方式在CI中运行 pytest --int-contract class IntContractViolationError(Exception): pass def validate_int_contract(value, max_bits256): if not isinstance(value, int): return if value.bit_length() max_bits: raise IntContractViolationError( fInteger exceeds {max_bits} bits: {value.bit_length()} )这个契约让我在重构一个支付对账系统时提前发现了三个潜在的溢出点一个是时间戳转毫秒时的10**6乘法一个是汇率精度计算中的10**18缩放还有一个是商户ID拼接时的 32位移。它们都没触发MemoryError但会导致最终对账结果偏差0.0001元——在金融系统里这就是P0事故。所以回到最初的问题“Python最大整数是多少”我的答案是它不是一个数字而是一份责任清单。清单上写着你是否清楚内存的物理边界是否预判了算法的渐近复杂度是否为团队设定了可验证的契约当你能把这些问题的答案写进代码注释里而不是去查某个sys模块的常量时你才真正掌握了Python整数的精髓。

相关文章:

Python整数有上限吗?揭秘动态大整数的原理与工程边界

1. 这个问题比你想象的更根本:Python整数到底有没有“最大值”?很多人第一次听说“Python最大整数”时,下意识会去查sys.maxint或sys.maxsize,然后发现结果要么报错,要么是个看起来很奇怪的数字(比如 92233…...

GRU与注意力机制在ICU多重耐药菌感染预测中的实战应用

1. 项目概述:当重症监护室遇上AI预测 在重症监护室(ICU)里,时间是以分钟甚至秒来计算的。医生们面对的不仅是复杂的病情,还有像“多重耐药菌感染”这样的隐形杀手。这类感染一旦发生,意味着常规抗生素基本失…...

#86_【无标题】每次 .h 被 #include,就等于在所有包含它的 .c 文件中都复制了一份定义。

我在.h中定义了/CN:数码管段码表 (扫描引脚复用型)-- EN:Digital Tube Segment Code Table (Scan Pin Multiplexing Type)/ const uint8_t NUM_TAB[10] {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; 但是这个时候突然间报错了所以感觉有意思 错误原因 Err…...

CANN/catlass分组矩阵乘反量化示例

GroupedMatmulSliceMPerTensorPerChannelDequant Example Readme 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 代码组织 ├── 48_ascend950_group…...

#85_库函数开发

前言 在很久很久很久以前 C 语言和 STM32 走在一条幽静的道路上 他们在一起过上了幸福的生活 一、 问题引入… 1 二、 寄存器的基础概念… 1 三、 STM32 寄存器实例解析… 3 GPIO 输入/输出 → 对应 GPIOx_CRL / GPIOx_CRH / GPIOx_IDR /… 3定时器(Timer&#xff…...

5个简单步骤:OpenCore Legacy Patcher终极指南让老旧Mac焕发新生

5个简单步骤:OpenCore Legacy Patcher终极指南让老旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为老旧的Mac无法升级到…...

Lobu多租户AI助手网关:安全隔离与规模化部署实践

1. 项目概述:构建企业级多租户AI助手网关 最近在折腾一个挺有意思的开源项目,叫Lobu。简单来说,它解决了一个很实际的问题:如何安全、高效地在一个组织内部署和管理多个独立的AI助手(Agent)。想象一下&…...

Koel下载功能终极指南:批量下载与压缩包生成的完整教程

Koel下载功能终极指南:批量下载与压缩包生成的完整教程 【免费下载链接】koel Music streaming solution that works. 项目地址: https://gitcode.com/gh_mirrors/ko/koel Koel作为一款优秀的个人音乐流媒体解决方案,其强大的下载功能让用户可以轻…...

如何快速掌握加密算法基础:面向初学者的完整指南

如何快速掌握加密算法基础:面向初学者的完整指南 【免费下载链接】Algorithms A collection of algorithms and data structures 项目地址: https://gitcode.com/gh_mirrors/algorithms39/Algorithms 想要快速掌握加密算法基础吗?加密算法是现代计…...

基于MPA的微前端架构:实现技术栈无关与独立部署的现代Web应用方案

1. 项目概述:一个为现代Web应用量身定制的微前端架构如果你正在为一个大型、多团队协作的Web应用寻找一个既能保持技术栈灵活性,又能实现高效集成与独立部署的解决方案,那么mattmezza/mpa这个项目绝对值得你花时间深入研究。它不是一个简单的…...

为什么你需要HolyTips:7个让漏洞赏金狩猎更高效的实用技巧

为什么你需要HolyTips:7个让漏洞赏金狩猎更高效的实用技巧 【免费下载链接】HolyTips A Collection of Notes, Checklists, Writeups on Bug Bounty Hunting and Web Application Security. 项目地址: https://gitcode.com/gh_mirrors/ho/HolyTips 在网络安全…...

深度学习在人工耳蜗中的应用:从语音增强到医学影像分析

1. 项目概述:当深度学习“听见”声音作为一名长期在医疗科技与信号处理交叉领域摸爬滚打的从业者,我见证过太多技术从实验室走向临床的艰难旅程。其中,“深度学习在人工耳蜗应用中的进展”这个话题,尤其让我感到兴奋。它远不止是一…...

CANN基础设施漏洞管理指南

cve-manager(漏洞管理)使用说明 【免费下载链接】infrastructure 本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息 项目地址: https://gitcode.com/ca…...

JAVA基础教学计划【欢迎指点】

学习JAVA,首先要了解Java语言的第一个特性——面向对象。编程语言就像我们现实生活中面对种种情景是一样的,可以说这是属于计算机的世界,我们人来到计算机世界自然要熟悉这个世界构成方式。在现实中,我们认识一件事物,…...

收藏!2026年普通人也能干的5个高薪AI新职业(无需代码,小白也能学)

文章介绍了5个无需编程技能的AI相关职业:AI训练师、AI内容运营、提示词工程师、AI数据标注员和AI销售顾问。这些职业为没有高学历或技术背景的人提供了进入AI行业的机会,强调了学习AI工具和技能的重要性,鼓励人们抓住AI时代的机遇。 2026年&a…...

CANN/ge添加输出API

AddOutput 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端…...

AI赋能边缘计算安全:从联邦学习到异常检测的实战指南

1. 项目概述:当边缘计算遇上AI,安全与隐私的十字路口最近几年,我身边做物联网、车联网和工业互联网项目的朋友,聊得最多的两个词,一个是“边缘计算”,另一个就是“AI”。把AI模型部署到摄像头、网关、工控机…...

AI思维:跨学科协作与负责任AI实践的核心方法论

1. 项目概述:为什么我们需要“AI思维”?如果你最近在尝试将人工智能技术引入你的工作流程,无论是分析市场数据、优化客户服务,,还是辅助科研实验,你很可能已经感受到了某种“割裂感”。工程师团队在讨论模型…...

AI for Science技术路线图:从量子尺度到连续介质的跨学科实践指南

1. 项目概述与核心价值如果你是一位物理化学背景的研究生,正试图用机器学习预测新催化剂的活性,却发现网上资料要么是纯AI教程,要么是深奥的量子化学专著,中间仿佛隔着一道鸿沟——那么,你找对地方了。这就是“AI for …...

在 Taotoken 控制台中如何进行 API Key 的权限管理与审计日志查看

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在 Taotoken 控制台中如何进行 API Key 的权限管理与审计日志查看 对于团队管理员或项目负责人而言,有效管理 API Key …...

量子机器学习新范式:Classiq如何简化QML模型开发

量子机器学习新范式:Classiq如何简化QML模型开发 【免费下载链接】classiq-models The Classiq Library is the largest collection of quantum algorithms and applications. It is the best way to explore quantum computing software. We welcome community con…...

Linux Mem -- 通过reserved-memory缩减内存

目录 1. reserved-memory缩减内存 2. 为什么要通过2段512MB预留内存实现该缩减呢? 3. reserved-momery中的no-map属性 4. 预留的的内存是否会被统计到系统MemTotal中? 本文是解决具体的一些思考总结,和Linux内核的reserved-memory机制相关。 参考代码:Linux-6.10 1. re…...

如何理解KityMinder脑图编辑器的模块化命令系统设计原理 [特殊字符]

如何理解KityMinder脑图编辑器的模块化命令系统设计原理 🧠 【免费下载链接】kityminder 百度脑图 项目地址: https://gitcode.com/gh_mirrors/ki/kityminder KityMinder是一款由百度FEX团队开发的在线脑图编辑工具,它基于SVG技术实现&#xff0c…...

Front-End-Performance-Checklist错误处理终极指南:10个关键性能监控与异常捕获技巧

Front-End-Performance-Checklist错误处理终极指南:10个关键性能监控与异常捕获技巧 【免费下载链接】Front-End-Performance-Checklist 🎮 The only Front-End Performance Checklist that runs faster than the others 项目地址: https://gitcode.co…...

基于LAMP环境的校园论坛项目

目录 1.配置本地仓库: (1)修改主机名为自己姓名全拼 (2)在 /etc/yum.repo.d/ 目录下新建一个仓库文件yum.repo并编写文件内容 (3)光盘挂载到 /mnt 目录下。 (4)验证是否挂载成功。 2.关闭防火墙和SELinux服务 3.安装PHP环境 分别安装php、php-fpm 、php-mysqln…...

mac 安装指定node版本

我这里使用的是nvm(Node Version Manager)nvm(Node Version Manager)是一个允许你在同一台机器上安装和管理多个Node.js版本的工具。1.安装nvm打开终端,然后运行以下命令来安装nvm:bash:curl -o- https://r…...

1-论面向对象的建模及应用

软件系统建模是软件开发中的重要环节,通过构建软件系统模型可以帮助系统开发人员理解系统,抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软…...

Unix架构详细介绍

Unix 是一种具有高度模块化和可扩展性的操作系统,其架构设计使其在多用户和多任务环境中表现出色。以下是 Unix 架构的详细介绍,包括其主要组成部分和功能。Unix 架构的组成部分Unix 的架构通常可以分为以下几个主要部分:内核(Ker…...

nmBot Skills技能仓库解析:AI智能体与Telegram群管机器人的标准化桥梁

1. 项目概述:nmBot Skills 技能仓库深度解析如果你正在开发或使用基于大型语言模型的智能体,并且恰好需要一个功能强大的Telegram群组管理机器人,那么你很可能已经听说过nmBot。今天我们不聊nmBot本身,而是聚焦于一个能极大增强其…...

ARM芯片架构之APB,ATB总线

CoreSight SoC-400 APB Interconnect Components 与 ATB Interconnect Components 技术详解(整理版)1. APB Interconnect Components 1.1 概述 CoreSight 调试基础设施通过 AMBA APB3 协议提供对各调试单元寄存器的统一访问。 APB 互连组件负责&#xff…...