SAP MM学习笔记39 - MRP(资材所要量计划)
这一章开始,离开请求书,学点儿新知识啦。
MRP ( Material Requirement Planning ) - 资材所要量计划。
它的位置在下面的调达周期图上来看,就是右上角的 所要量决定那块儿。
1,MRP(资材所要量计划) 的概要
MRP 的主要目的就是 确保品目的可用数量。
即按时调达生产及贩卖所需数量的品目。
MRP 常用于:
- 监视在库
- 自动生成 购买及生产相关的调达提案
注意,我们这里讲的 MRP 是MM模块中的部分。
其实 PP 模块中也有 MRP,而且 PP中的 MRP 位置更重要。
1,当需要调达的时候,可以通过 MRP 直接帮我们生成 购买依赖。
然后 通过 承认 或 无需承认直接生成 购买发注。
2,先做一个计划手配(计划订单),然后由人工来看计划手配,再在 变换 画面 转成
- 制造指图/ Process指图
- 购买依赖
也就是说 变换 这个功能可以提供一个 建议检查 的机会。
如果 PP 模块生产这条路比较困难(比如量太大了等),可以把部分计划手配转成外部调达。
1-1,內制
这是 PP 模块的内容。
- 制造指图
把有固定形状的东西组装起来。
- Process指图
一般都是没有固定形状的东西,比如液体。
或者虽然是固体,但是会发生化学反应,随着时间的变化会发生性质的变化等的生产活动。
1-2,外部调达
- 购买依赖
- 购买发注
- 分纳契约
指的合同里面的东西。但是吧,现场几乎没人用,略过。
1-3,MM03 品目 调达Type
具体走哪条路线,可以在 品目Master 里面设置。
品目 MM01/02/03 的 MRP 2 Tab上,调达Type
- E 內制
SAP 会自动生成 计划手配(计划订单)
- F 外部调达
SAP 会自动生成 计划手配 或 购买依赖(采购申请)
- 无调达
- X 內制/外部调达均可
SAP 会根据 MRP 管理者的判断,在 变换 画面上 生成计划手配 或 购买依赖。
注意,SAP 不会说 你设置了 E 內制,就不允许你 外部调达的,手工还是可以任意做的。
比如 E 自制 品目 在 ME59N上登 购买依赖 / 或 ME21N 登 购买发注 的时候,也是没问题的。
其实这个也挺常见的。
比如某个品目 是 E 自制 的,但是采购部说发现一个工厂它做得挺好的,暂时我们采购一次试试。
但是也不太想就为了这一次采购就改变该品目的 调达Type。
具体是什么Message可以参照我之前写的一篇文章:
SAP MM学习笔记 - 错误 ME092 - Material mainly procured internally(原则上该物料只能内部调达)_东京老树根的博客-CSDN博客
不过上面说的那是手工做的时候,如果要是用 MRP 做 自动化,那就得单纯的按如下规则:
- E 內制 是左边(自制)
- F 外部调达是 右边(购买发注)
- X 內制/外部调达均可 走中间,再根据 MRP 管理者判断,决定走左边(內制) 或 右边(购买发注)
看下面 MRP 1/2/3/4 Tab,虽然有4个Tab,但是3,4主要是 PP 那边用的。
咱们这里学 MM 的MRP,主要看前面 1/2 两个Tab。
1-4,MRP 执行范围 MRP Area
MRP 是在工厂级别执行的。
咱们以前学习在库品目评价的时候,说那个是可选的,工厂级别或公司级别,当然也只能选一次。
但是也说了,几乎没人选公司级别,因为 PP,CO,SD模块都需要以 工厂 为单位。
其实MM 模块的这个 MRP,也是以工厂为单位的,你说你弄个公司为单位,那MRP还能不能用也是个问题。(几乎没人选过公司为单位,所以大家可能也都不太清楚)
SAP MM学习笔记16-在库品目评价_东京老树根的博客-CSDN博客
MRP 执行的级别有 3 种。
- 不做任何设置,SAP 默认做一个工厂级别的 MRP Area。
- 做下设置,将某个/或某些 保管场所 定义为一个 保管场所 -MRP Area。可以有多个MRP Area。
- 外注先 -MRP Area。外注先需要增加原材料等的时候,可以自动生成转送Order。
这样每次运行 MRP 的时候,可以先选定级别。
- Plant -MRP Area
这个是必须的。
没做什么设置的话,SAP 会考虑工厂的整个库存;如果所有的保场都被分出去了,那它就是空的
而且,工厂级别的 MRP Area里面的保管场所的库存,是公用的,谁都能用。
就是既可以拿来卖,也可以拿来作为原材料用于生产。
- 保管场所 -MRP Area
挑选一个或几个保管场所作为Group。
意思就说说,这一个或几个保管场所里面的在库是特别的,专用的,不想用于别的MRP计算。
很常见的就是说,生产用在库,贩卖用在库 等,这样分开,产销各部门就不容易冲突。
有的工厂有多条产线,也需要分开管理在库。
- 外注先 -MRP Area
有关外注可以参照如下内容。
SAP MM学习笔记22- 购买发注的项目种类(明细Category)_东京老树根的博客-CSDN博客
注意外注先(转包商)在库是在外注先那边管理的,运行MRP的时候,不能把它的在库给用了。
这个 外注先 -MRP Area如果设置好了的话,PP 模块那边,生产的时候,每次转MRP,发现原材料不够用了,甚至可以自动从 保管场所- MRP Area里面做在库转送Order票,增加原材料在库。
下面是以前学习的 在库转送 的知识,可以看到在库转送其实挺复杂的,MIGO里面的移动Type也是一堆一堆的,如果MRP 能帮助自动做 在库转送,确实能省不少事儿。
SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)1- 移动Type间振替转记_东京老树根的博客-CSDN博客
SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)2- 品目Code振替转记 和 在库转送_东京老树根的博客-CSDN博客
SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)3- Plant间在库转送-CSDN博客
SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)4- Plant间在库转送 之 在库转送Order(有出荷)-CSDN博客
SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)5 - 总结-CSDN博客
SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)6 - 输送中的商品损伤处理,品目的入出库预定,品目的无参照 出库处理(采样,报废等)-CSDN博客
这样,通过MRP Area,允许在一个工厂中存在不同的 MRP(资材所要量计划)。
1-5,OMIZ MRP Area定义
MRP Area Type: 这个01,02,03 对应上面 MRP 的3个执行级别:
- 01 Plant
- 02 保管场所
- 03 仕入先 (外注先)
选中 任意一条 01 Plant 级别 的数据,然后点左侧 菜单 Plant,这样出现的列表中只有一条。
这是因为一个工厂有且只有一个 工厂级别的 MRP Area级别。
02 保管场所 级别
保管场所级别就比较灵活了,可以有一个保管场所,也可以有多个保管场所。
比如下面打开的这个 L022P1000 就包含 2 个保管场所。
如果想修改,比如增加/删除一个保管场所等,可以点 图标栏 的新规Entry/删除 图标。
03 外注先级别
这个也只有一个外注先,因为不会将几个外注先的在库弄到一起管理
1-6,MRP的前提条件
MRP 执行的前提条件:
- 在Customize中更新Plant的参数
Customize里面设置一个Plant参数,才能执行MRP。
如果不打算执行MRP,那么就无需设置这个参数,然后SAP在后台就会少做很多事情。
- MM01/02中更新 MRP 1/2 Tab
具体是怎么Customize,稍后再说。
2,MRP 过程概要
2-1,MRP 方式
- 1,消费主导型所要量
以物料的消耗量为基础进行计算的。
比如去年用了多少,用估计今年大概要用多少。
- 2,MRP
这个是 PP 模块的MRP (物料需求计划)。
以物料的需求为基础进行计算的。
- 2-1,发注点方式
这个就看在库,在库减少到某个点,就触发购买发注,这个点就叫发注点。
- 2-2,需要预测主导型所要量计划
这里虽然也是需要预测,但是和 上面的【2,MRP 物料需求计划】是不同的。
【2,MRP 物料需求计划】是真正的需求,比如已经 有销售订单 了等,是真的有客户。
这个 2-2 是说,根据以前被消耗的履历来推测未来将会被消耗多少。不是实在的需求。
它只考虑说,以前从仓库里拿了多少出去,以用于推测说后面还会需要从仓库拿多少出去。
这个必须要看历史数据,没有历史数据做不了的。
- 2-3,定期计划
这个是说不管需不需要,反正按计划定期去采购。
- 2-1-1,Manual发注点方式
发注点如果是客户手动决定的,就叫Manual发注点方式。
- 2-1-2,自动发注点方式
发注点如果是SAP自动决定的,就叫自动发注点方式。
这个也需要一段时间的历史数据,才能把发注点给算出来。
现场基本都是 2-1-1,Manual发注点方式。
因为每个公司情况都不太一样,哪个发注点最合适也需要时间去磨合,不会轻易去用自动或其他。
2-2,如何选择哪种 MRP 方式
根据价值高低和变化大小而采取不同的方式。
变化大小\价值高低 | 高 | 中 | 低 |
---|---|---|---|
几乎不变 | |||
波动很小 | |||
波动较大 |
这里先插一个 ABC分析的概念
ABC分析是通过确定销售额、成本、库存等一个评价轴,将商品按照丰富度从高到低的顺序分为A、B、C三组,从而确定优先顺序的方法。
不仅可以看到哪些产品畅销,还可以可视化一段时间内的销售状况,因此可用于多种场合,例如库存管理、质量控制和客户管理。
简单来说,就是 A最赚钱,所以最重要;B次之;C再次。
但是啊,这是一般情况,像Amazon,专门做大家不做的C,反而做到了Number 1 !!
ABC分析方式里面的ABC指什么?
- A 物料:价值高,数量占 10%,金额占70%,是公司最重要的品目,需要加强管理与精细控制;
- B 物料:价值中,介于A,C之间,占剩余的20%,采用通常的方法进行管理和控制;
- C 物料:价值低,数量占 70%,金额占10%,不太重要的品目,采用简单方法进行管理和控制;
注意,上面的10%,20%,70%,不是绝对的,可以自己定的。也可能是 15%,25%,60% 等。
适合自己的,才是最好的。
再贴一下这张图,根据上面的描述,
- 适合 MRP :价值高波动大的A物料,比较适合 PP模块的 MRP(物料需求计划)加强管理
- 适合基于消费主导型所要量:无内部生产或计划的 B,C物料,特别是B,如发注点方式进行管理
MRP 方式 是大分类,是SAP固定的,不让Customize的。
MRP Type是可以 Customize的。
比如下图 Customize画面 > VB Manual发注点计划 的设置画面,就是上面的Manual发注点方式。
设好后在 MM0x 品目 画面使用。
2-3,MRP 与 消费主导型所要量计划 之间的区别
MRP 与 消费主导型所要量 的区别就是:
- MRP 是当前和将来的需求,比如下面这些。它会随着实际需求变化而变化。
- 受注
- 计划独立所要量
- 品目的入出库预定
- 部品表/配合表(化学方面的品目)展开生成的 从属所要量
- 消费主导型所要量 是基于履历(已经实际发生过的值),不会随着实际的需求的变化而变化。
消费主导型所要量 原则上只和在库有关,在库低于履历值,即触发购买发注。
1,MP
独立所要量
1-1,MP
从属所要量:就是 子BOM 或孙BOM 的所要量
1-2,CP
无从属所要量
2-4,外部所要量
虽然发注点方式确实不考虑外部所要量(比如发注,受注等),但是有时候还是需要考虑的。
比如,有人已经发注了,但是还没入库,这个时候如果转MRP,还会再重复生成一张发注票。
所以SAP也提供Customize 方式,把系统中的发注票等也算作在库,以提高精度,避免过量采购。
从 Customize 画面看,VB Manual方式的话,就是在下图 VB Manual发注点计划 画面进行设置。
还可以选择 具体是考虑哪些 外部所要量。
2-5,MRP Type
MRP Type设置是在 MM0x 品目 画面的 MRP 1 Tab上设置。
2-6,Customize 设置
这里复习一下如何从画面直接打开 Customize。
光标放到想查看Customize的项目上,按 F1 键,在弹出的Help上,点Customize图标
这样入口就出现了。
双击想看的Customize入口,就打开了 Customize 并定位到菜单项上。
双击即可打开Customize画面:
可以看到这些菜单项 和 画面弹出的菜单项一样。
双击即可打开详细设置画面。
比如 VB Manual发注点计划 画面:
3,维护 MM 主数据的 MRP 视图
3-1,MM0x 品目中设置 MRP Area
点击可以选择任意 MRP Area
可以看到,MM0x 品目里面虽然是 VB Manual方式,但是 所属的 MRP Area 也可以设置完全不同的 MRP 方式。
咱们现在知道的是 MRP Area里可以设置和 Plant级别不同的参数就可以了。
具体应用场景是什么,为什么要做这个功能,怎么起效果以后再说。
3-2,MRP Profile 文件
在 MM0x 品目 中,有 4 个 MRP Tab,每个Tab又有很多项目。
如果每一个都一个一个的设置,将会非常麻烦和易出错。
SAP 就提供了一个叫 MRP Profile 文件这么个东西,先设好一个参数文件,然后在 MM0x 里面用
a),MMD1 MRP Profile 登录
这个不是 Customize部分,而是用户自己需要设置的东西。
Menu > Logistics > 品目Master > Profile > MMD1 登录
b),MD02 变更 先看一个既存的 MRP Profile VB01
MD02 变更
这里还有 Deta画面1,Data画面2
点 Data画面1,将会显示默认表示的数值
回到 选择画面,如果将MRP Type选择成 固定值,那么在进 Data画面1的时候,将会显示为红色
表示说此值为只读,不可更改。
c),MRP Profile的使用 MM01 品目
MM01 新规 品目 的时候,选 MRP 1 Tab
输入 MRP Profile,这里输入上面修改好的 VB01
可以看到 MRP 1 Tab中的MRP Type属性变为 Readonly了。
d),MD07 MRP Profile 的用途
这里的 用途 指的是,该 MRP Profile 在哪些品目中使用。
比如 VB01,在下面这些品目中使用。
还有一个很好的用处是,假如 MRP Profile发生了改变,将会反映到所有使用它的品目中去。
比如,现在这里修改一下 VB01 MRP Profile
纳入预定日数/ 內制日数/ 丸め数量(舍入数量),由 10 修改为 5。
可以看到其实 并没有变,也就是说不会影响已经创建好的品目。
MM01 品目登录
新规一个品目看看
确实已经变成新值了。
这样就实现了只修改 MRP Profile,即修改了所有新规品目的默认值的效果。
我觉得SAP广泛应用类似的技术,确实也达到了提高效率的效果。
3-3,品目 Status
a),品目Status 是什么?
比如某个品目正在设置中,或修改中,那么可以将该品目状态设为Block,以防止误用。
b),品目Status 在哪儿设置呢? MM0x 品目 上
- 在MM0x 品目画面 基本Data 1 Tab 上面设置该品目 全局 的状态,对所有 Plant都有效
- 在 MRP 1等 Tab 上面 设置该品目 局部 的状态,只对某个/些 Plant有效
这个是 MM 模块的购买管理 Tab。
基本每个模块儿都有个Tab上有,以控制该品目在该模块上的状态,比如能否使用。
c),品目 Status 的Customize
在 Plant 固有品目 Status 上 按 F1 > Customize 图标
Customize > Cross App Component > 。。。 > 品目Status 定义
这里的值 和 画面的下拉列表里面显示的内容一样
双击某一个项,比如 02 Task List/BOM的Block中,
选中该项目的话,BOM中无法使用该项目,
但是 购买管理,品目所要量 等操作中,可以正常做。
这个 01 调达/仓库Block 就是Block 购买管理,品目所要量 和 在库管理,BOM 可以做。
相关文章:

SAP MM学习笔记39 - MRP(资材所要量计划)
这一章开始,离开请求书,学点儿新知识啦。 MRP ( Material Requirement Planning ) - 资材所要量计划。 它的位置在下面的调达周期图上来看,就是右上角的 所要量决定那块儿。 1,MRP(资材所要量计划) 的概要 MRP 的主要目的就是 确…...

总线类设备驱动——IIC
目录 一、本章目标 二、IIC设备驱动 2.1 I2C协议简介 2.2 LinuxI2C驱动 2.3 I2C 设备驱动实例 一、本章目标 一条总线可以将多个设备连接在一起,提高了系统的可扩展性能。这个互联的系统通常由三部分组成:总线控制器、物理总线(一组信号线) 和设备。总线控制器…...

MES 的价值点之动态调度
随着数字化技术的发展,为制造企业的生产计划提供了更多的便利。但在实际生产管理过程中,企业的生产计划不管做的多么理想,还是可能会因诸多的扰动因素造成执行与计划差异,这时就需要通过一些动态调整方案去适应新的生产要求与环境…...

dfs序及相关例题
常用的三种dfs序 欧拉序 每经过一次该点记录一次的序列。 dfs序 记录入栈和出栈的序列。 dfn序 只记录入栈的序列。 dfs序 DFS 序列是指 DFS 调用过程中访问的节点编号的序列。 如何求dfs序?可以用以下代码来找dfs序。 vector<vector<int>> g(n…...

python入门实战:爬取图片到本地
简单记录一下爬取网站图片保存到本地指定目录过程,希望对刚入门的小伙伴有所帮助! 目标网站就是下图所示页面: 实现步骤: 1.爬取每页的图片地址集合 2.下载图片到本地 3. 获取指定页数的页面路径 以下是实现代码: import bs4 import requests import os # 下…...

day02 矩阵 2023.10.26
1.矩阵 2.矩阵乘法 3.特殊矩阵 4.逆矩阵 5.正交矩阵 6.几何意义 7.齐次坐标 8.平移矩阵 9.旋转矩阵 10.缩放矩阵 11.复合运算...

浪潮信息inMerge超融合 刷新全球vSAN架构虚拟化VMmark最佳成绩
近日,在国际权威的VMmark测试中,浪潮信息inMerge1100超融合产品搭载NF5280M7服务器,满载运行44Tiles取得40.95分的成绩,刷新了vSAN架构(Intel双路最新平台)虚拟化性能测试纪录。该测试结果证明inMerge1100可…...

【【哈希应用】位图/布隆过滤器】
位图/布隆过滤器 位图位图概念位图的使用位图模拟实现 布隆过滤器布隆过滤器概念布隆过滤器的使用布隆过滤器模拟实现 位图/布隆过滤器应用:海量数据处理哈希切分 位图 位图概念 计算机中通常以位bit为数据最小存储单位,只有0、1两种二进制状态&#x…...

OpenCV学习笔记
一、OpenCV基础 (一)图像的读取、显示、创建 https://mp.weixin.qq.com/s?__bizMzA4MTA1NjM5NQ&mid2247485202&idx1&sn05d0b4cd25675a99357910a5f2694508&chksm9f9b80f6a8ec09e03ab2bb518ea6aad83db007c9cdd602c7459ed75c737e380ac9c3…...

idea 一键部署jar包
上传成功...
16、SpringCloud -- 常见的接口防刷限流方式
目录 接口防刷限流方式1:隐藏秒杀地址需求:思路:代码:前端:后端:测试:总结:方式2:图形验证码1、生成图形验证码需求:思路:代码:前端:后端:测试:2、校验验证码需求:思路:代码:...

Typora(morkdown编辑器)的安装包和安装教程
Typora(morkdown编辑器)的安装包和安装教程 下载安装1、覆盖文件2、输入序列号①打开 typora ,点击“输入序列号”:②邮箱一栏中任意填写(但须保证邮箱地址格式正确),输入序列号,点击…...
服务器不稳定对网站有什么影响
世界上最远的距离,不是树枝无法相依,而是相互了望的星星,却没有交汇的轨迹。 现代技术的进步,导致了人与人之间距 离的消除,直播行业的快速发展的影响和渗透进如今的日常生活,为人们在遥远的距离相见与互诉…...
py实现surf特征提取
import cv2def main():# 加载图像image1 cv2.imread(image1.jpg, cv2.IMREAD_GRAYSCALE)image2 cv2.imread(image2.jpg, cv2.IMREAD_GRAYSCALE)# 创建SURF对象surf cv2.xfeatures2d.SURF_create()# 检测特征点和描述符keypoints1, descriptors1 surf.detectAndCompute(imag…...

MS39233三个半桥驱动器可兼容TMC6300
MS39233 是一款低压三个半桥驱动器。可兼容 TMC6300(功能基本一致,管脚不兼容)。它可应用于低电压及电池供电的运动控制场合。并且内置电荷泵来提供内部功率 NMOS 所需的栅驱动电压。 MS39233 可以提供最高 2.8A 的峰值电流,其功率…...
09、SpringCloud -- 利用redis的原子性控制高并发请求访问到service层、本地标识
目录 利用redis的原子性控制请求问题:需求:思路什么是原子性的操作?代码思路:代码:工具类依赖SeckillGoodControllerSeckillOrderInfoController测试:本地标识的分析和实现问题:需求:思路:代码:测试:利用redis的原子性控制请求 利用redis的原子性控制人数请求访问到…...

竞赛选题 深度学习图像修复算法 - opencv python 机器视觉
文章目录 0 前言2 什么是图像内容填充修复3 原理分析3.1 第一步:将图像理解为一个概率分布的样本3.2 补全图像 3.3 快速生成假图像3.4 生成对抗网络(Generative Adversarial Net, GAN) 的架构3.5 使用G(z)生成伪图像 4 在Tensorflow上构建DCGANs最后 0 前言 &#…...

基于深度学习网络的美食检测系统matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 % 图像大小 image_size [224 224 3]; num_classes size(VD,2)-1;% 目标类别数量…...

人工智能基础_机器学习006_有监督机器学习_正规方程的公式推导_最小二乘法_凸函数的判定---人工智能工作笔记0046
我们来看一下公式的推导这部分比较难一些, 首先要记住公式,这个公式,不用自己理解,知道怎么用就行, 比如这个(mA)T 这个转置的关系要知道 然后我们看这个符号就是求X的导数,X导数的转置除以X的导数,就得到单位矩阵, 可以看到下面也是,各种X的导数,然后计算,得到对应的矩阵结…...

【MongoDB】Windows 安装MongoDB 6.0
一、下载安装包 安装包下载地址https://www.mongodb.com/try/download/community这里我选择的是 二、解压并安装 1、解压 这里我将压缩包解压到了D盘,并重命名成了mongodb,解压后的目录如下: 2、创建配置文件 在D:\mongodb下新建conf目录…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...