#MES系统运维问题分析思路
一套适用于90% MES运维现场问题的排查分析思维模型,叫做:
🔍 MES系统问题分析七步法(现场实战适用)
✅ 第一步:明确问题现象(What)
问题要说清楚,“不能操作”这种模糊描述要细化成“点击报工时提示工单未激活”。
举例:
- 报工失败、页面报错、统计不准、流程卡顿、设备无权限等
- 是否报错?具体错误信息是啥?
- 报错发生在哪个页面/功能?
✅ 第二步:确认影响范围(Where)
是不是一个人遇到的问题?还是整个产线/全体用户?
是单工单问题?还是全流程系统级问题?
判断层级:
层级 | 说明 |
---|---|
用户级 | 单个工号或角色 |
工单级 | 某一张工单 |
工序级 | 某一段流程 |
系统级 | 所有报工/统计页面都异常 |
✅ 第三步:判断时间点(When)
是今天突然报错?还是某次系统升级后?是否和昨天报工有关?
- 问题首次出现的时间?有没有操作员能回忆起改动?
- 是否在换班/切线/批量导入后开始出错?
- 是否跨班次、跨日期产生问题(统计错误常发生在这里)
✅ 第四步:定位模块/表(Where in system)
把问题定位到具体“模块”或“数据库表”。
通常模块对应表举例:
模块 | 关键表 |
---|---|
工单 | mes_work_order |
工序流程 | mes_order_process , mes_process_rule |
报工 | mes_report_log , mes_operator_log |
设备绑定 | mes_device_bind |
报表 | mes_summary , mes_shift_info |
权限 | mes_user , mes_user_permission |
✅ 第五步:用SQL进行定位(How)
关键操作就是“SELECT”,先查再动手,这一步是MES运维的核心。
举几个关键通用SQL:
-- 查询工单状态
SELECT order_no, status FROM mes_work_order WHERE order_no = 'MO2025041201';-- 查是否有工序配置
SELECT * FROM mes_order_process WHERE order_no = 'MO2025041201';-- 查询报工记录状态
SELECT * FROM mes_report_log WHERE order_no = 'MO2025041201' AND status = 0;
✅ 第六步:找出根因(Why)
通过数据排查后明确“问题源头”:配置缺失?数据写入失败?权限错误?
- 看系统日志(如接口调用失败)
- 看数据库字段异常(如报工数量为负、status为0)
- 看前端逻辑是否被用户误操作触发
✅ 第七步:解决并验证(Fix & Confirm)
修复逻辑一定要带验证回查。
先备份数据,再更新或插入。
举例操作:
-- 修复状态
UPDATE mes_work_order SET status = 'IN_PROGRESS' WHERE order_no = 'MO2025041201';-- 回查确认
SELECT status FROM mes_work_order WHERE order_no = 'MO2025041201';
同时做:
- 记录日志
- 写进排查手册 or 留痕信息
💡 小结:MES问题排查思维导图
问题发生 → 明确现象 → 确定范围 → 定位表/模块 → 查数排查 → 找出原因 → 修复 & 验证
阶段 | 要问的问题 | 工具 |
---|---|---|
现象定位 | 发生了什么? | 错误信息截图、用户反馈 |
范围分析 | 谁受影响? | 问使用者、查看用户日志 |
模块定位 | 属于哪个模块? | 系统结构图、功能表关系图 |
数据排查 | 哪张表出错了?字段是否异常? | SQL |
根因确认 | 是配置、权限、逻辑、时间问题? | 逻辑分析 + 数据交叉验证 |
解决操作 | 怎么修?有没有风险? | SQL/界面/接口 |
验证结果 | 是否彻底解决? | 回查 + 用户测试确认 |
附加
第一项:
一份MES系统常见故障 + 实战解决方案模板集,既能快速排查,也能作为教学或实战工具。
🧩 总体结构(可作为排查导航)
故障分类 | 常见关键词 | 涉及表 | 说明 |
---|---|---|---|
报工失败类 | 报工、工单、工序、设备绑定 | mes_work_order , mes_order_process , mes_report_log | 报工流程出错或中断 |
报表异常类 | 产量统计、日报、缺失、数量为0 | mes_report_log , mes_summary , mes_shift_info | 报工数据未写入/未确认 |
流程卡顿类 | 卡死、工序无法跳转、流程终止 | mes_order_process , mes_process_rule | 工序流程未配置或状态不符 |
页面卡顿类 | 列表加载慢、查询慢 | 所有大表 | SQL未优化或索引缺失 |
权限与配置类 | 不能操作、未授权、角色无效 | mes_user , mes_role , mes_user_permission | 用户或角色配置错误 |
✅ 故障一:报工时报错“当前工单不允许报工”
⚠️ 报工失败是生产现场最常见的问题之一。
📌 高概率原因:
- 工单状态为“已关闭”或“已暂停”
- 工单未配置对应工序
- 报工用户无权限或设备未绑定
【排查模板1】:查询工单状态
-- 查看指定工单的状态字段
SELECT order_no,status, -- 可能是:NEW、IN_PROGRESS、CLOSED、PAUSED 等plan_start,plan_end
FROM mes_work_order
WHERE order_no = 'MO2025041201';
【解决方式】:
- 如果是
CLOSED
,说明工单已结束,需重新下达工单。 - 如果是
PAUSED
,建议更新状态恢复:
-- 恢复工单状态为进行中
UPDATE mes_work_order
SET status = 'IN_PROGRESS'
WHERE order_no = 'MO2025041201';
【排查模板2】:确认工单是否配置该工序
-- 查询该工单是否有配置当前工序
SELECT * FROM mes_order_process
WHERE order_no = 'MO2025041201' AND process_code = 'P02'; -- 当前工序编码
【补救操作】
-- 若缺失可插入配置(需实际编码准确)
INSERT INTO mes_order_process (order_no, process_code, process_name, sequence_no)
VALUES ('MO2025041201', 'P02', '测试工序', 2);
✅ 故障二:产量日报为 0,实际有报工
⚠️ 报表为0直接影响管理判断。
📌 高概率原因:
- 报工数据写入失败
status
未确认- 报表统计逻辑按日期但时间格式不一致
【排查模板】:
-- 查询近24小时报工数据
SELECTorder_no,process_code,quantity,report_time,status
FROMmes_report_log
WHEREreport_time >= NOW() - INTERVAL 1 DAY; // INTERVAL 间隔
【关键字段说明】
status = 0
表示“未确认”,不会被统计;report_time
时间格式是否和系统统计时间标准一致(需注意时区问题)
【解决方案】:
-- 确认并更新未确认的报工记录
UPDATE mes_report_log
SET status = 1
WHERE status = 0 AND report_time >= NOW() - INTERVAL 1 DAY;
✅ 故障三:页面加载非常慢,加载超时
⚠️ 大数据量表、无索引SQL是主要元凶。
【诊断SQL是否使用索引】:
-- 对页面常用查询做索引分析
EXPLAIN SELECT * FROM mes_report_log WHERE order_no = 'MO2025041201';
【EXPLAIN结果解读】:
type=ALL
:全表扫描,最差;key=NULL
:表示未命中索引;
【创建索引方案】:
-- 创建索引提升查询性能
CREATE INDEX idx_report_order ON mes_report_log(order_no);
✅ 故障四:系统流程“卡死”,工序不流转
⚠️ 很多流程问题不是Bug,是配置逻辑出错。
【排查模板】:
-- 查看该工单的所有工序配置
SELECTorder_no,process_code,sequence_no,next_process_code
FROM mes_order_process
WHERE order_no = 'MO2025041201'
ORDER BY sequence_no;
【说明】
- 若当前工序的
next_process_code
为 NULL,则流程中断; - 若跳转逻辑依赖规则引擎,还需看
mes_process_rule
【修复模板】:
-- 手动补全流程跳转关系
UPDATE mes_order_process
SET next_process_code = 'P03'
WHERE order_no = 'MO2025041201' AND process_code = 'P02';
✅ 故障五:误报工、数量错误、数据异常
⚠️ 操作员输错数字、设备自动上传异常等会常导致数据污染。
【排查 + 修复】:
-- 先确认误报数据
SELECT * FROM mes_report_log
WHERE report_id = 'RPT202504120001';-- 然后修复
UPDATE mes_report_log
SET quantity = 100
WHERE report_id = 'RPT202504120001';
✅ 小技巧:
-- 若有多个相似错误记录,可用范围修复(慎用)
UPDATE mes_report_log
SET quantity = 100
WHERE report_time BETWEEN '2025-04-12 08:00:00' AND '2025-04-12 09:00:00'AND device_code = 'EQ001';
✅ 故障六:设备不能报工,提示“未授权”或“未绑定工单”
⚠️ 通常是设备与工单未关联
【排查设备绑定】:
-- 查询设备是否绑定该工单
SELECT * FROM mes_work_order
WHERE order_no = 'MO2025041201' AND line_code = 'LINE001';
【修复】:
-- 绑定产线或设备
UPDATE mes_work_order
SET line_code = 'LINE001'
WHERE order_no = 'MO2025041201';
✅ 汇总:高频字段关键词(可作为排查导航)
关键词 | 含义 | 常用位置 |
---|---|---|
status | 工单/报工状态 | mes_work_order , mes_report_log |
order_no | 工单编号 | 全流程关键主键 |
process_code | 工序编号 | 流程控制 |
quantity | 报工数量 | 数据准确性 |
report_time | 报工时间 | 报表、统计依据 |
line_code , device_code | 产线、设备绑定 | 报工权限控制 |
📌 使用建议
- 所有模板 先查(SELECT)再改(UPDATE),防止误操作;
- 关键操作加事务:
补充推荐操作模板
-- 万无一失的事务结构
SET autocommit = 0;
START TRANSACTION;-- ✅ 一些操作
UPDATE ...
UPDATE ...-- 🔍 条件判断、逻辑检查
-- 如果都OK:
COMMIT;-- 如果失败:
-- ROLLBACK;
- 有时间建议自己做一个“SQL排查操作库”,现场排错非常高效!
相关文章:
#MES系统运维问题分析思路
一套适用于90% MES运维现场问题的排查分析思维模型,叫做: 🔍 MES系统问题分析七步法(现场实战适用) ✅ 第一步:明确问题现象(What) 问题要说清楚,“不能操作”这种模糊描…...
基于FPGA的六层电梯智能控制系统 矩阵键盘-数码管 上板仿真均验证通过
基于FPGA的六层电梯智能控制系统 前言一、整体方案二、软件设计总结 前言 本设计基于FPGA实现了一个完整的六层电梯智能控制系统,旨在解决传统电梯控制系统在别墅环境中存在的个性化控制不足、响应速度慢等问题。系统采用Verilog HDL语言编程,基于Cyclo…...
FPGA上实现SD卡连续多块读的命令
在FPGA上实现SD卡连续多块读的命令 CMD17命令一次只能读取1个块 CMD18命令一次可以连续读取多个块,直到停止命令CMD12 CMD18命令读的块数程序可任意设置 目录 前言 一、SD卡多块读命令CMD18 二、停止读命令CMD12 三、SD卡初始化SD卡连续块读操作的verilog代码 …...
AI 大语言模型 (LLM) 平台的整体概览与未来发展
📋 分析报告:AI 大语言模型 (LLM) 平台的整体概览与未来发展 自动生成的结构化分析报告 💻 整体概述:AI LLM 平台的市场现状与发展动力 随着人工智能技术的飞速发展,大语言模型(Large Language Models, L…...
【技术派部署篇】Windows本地部署技术派
一、技术派简介 技术派是一个采用 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈的社区系统,其 1.0 版已正式上线。该项目的技术栈按阶段集成引入,开发者可根据自身需求选择不同版本进行学习。 二、环…...
asm汇编语言源代码之-获取环境变量
提供1个子程序: 1. 读取环境变量 GETENVSTR 具体功能及参数描述如下 GETENVSTR PROC FAR ;IN: DSPSP SEG. ; ES:BX -> ENV VAR NAME ;OUT: DS:DX -> ENV VAR VALUE; IF DX0FFFFH, NOT FOUND ; more source code at http://www.ahjoe.com/source/srcdown.aspPU…...
消失的它:揭开 CoreData 托管对象神秘的消失之谜(上)
概述 使用 CoreData 作为 App 持久存储“定海神针”的小伙伴们想必都知道,我们需要将耗时的数据库查询操作乖巧的放到后台线程中,以便让主线程负责的 UI 获得风驰电掣般地享受。 不过,如何将后台线程中查询获得的托管对象稳妥的传送至主线程…...
Python中如何用正则表达式精准匹配IP地址?
在网络编程和数据处理时,我们经常需要从文本中提取或验证IP地址。Python的正则表达式(re模块)是完成这个任务的利器。但你知道怎么写才能准确匹配各种合法的IP地址吗?今天我们就来详细探讨这个问题。 为什么需要IP正则表达式? 假设你正在分…...
初识华为防火墙
防火墙配置与应用 一、防火墙的基本概念 1.防火墙的网络区域(一般认为三个区域:trust、DMZ、untrust) (1)本地区域(安全级别 100,local)(防火墙内部区域,一般不说明此…...
十二、C++速通秘籍—静态库,动态库
上一章节: 十一、C速通秘籍—多线程-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/147055932?spm1001.2014.3001.5502 本章节代码: cpp2/library CuiQingCheng/cppstudy - 码云 - 开源中国https://gitee.com/cuiqingcheng/cppst…...
我爱学算法之——滑动窗口攻克子数组和子串难题(下)
这几道题可以说是有一点难度的,但是掌握方法以后可以说非常简单了; 一、找到字符串中所有字母异位词 题目解析 题目给定了两个字符串s和p,让我们在s中找到p的异位词的字串,并且返回这些字串的索引 **异位词:**简单来说…...
leaflet 之 获取中国某个行政区的经纬度边界(latLngBounds)
思路 在json文件中获取下面的四个点 组成东北,西南两组 { “southwest”: { “lat”: 35.950, “lng”: 120.000 },//西南方 “northeast”: { “lat”: 36.200, “lng”: 120.300 }//东北方 } 最西点经度(minLng) 最东点经度(maxLng&#x…...
鸢尾花分类的6种机器学习方法综合分析与实现
鸢尾花分类的6种机器学习方法综合分析与实现 首先我们来看一下对应的实验结果。 数据准备与环境配置 在开始机器学习项目前,首先需要准备编程环境和加载数据。以下代码导入必要的库并加载鸢尾花数据集: import numpy as np import pandas as pd impo…...
基于李永乐线性代数基础的行列式的起源于理解
起源于解方程组的过程 对于解一个二元方程组,很自然的会通过加减消元,变成下面这样 对于三元方程组,也是一样: 这一大长串,是A*x1b1这个形式时,A的值 人们为了方便记忆x未知数前这一大坨相乘后相加减的数…...
MacOs java环境配置+maven环境配置踩坑实录
oracl官网下载jdk 1.8的安装包 注意可能需要注册!!! 下载链接:下载地址点击 注意晚上就不要下载了 报错400 !!! 1.点击安装嘛 2.配置环境变量 export JAVA_HOME/Library/Java/Java…...
LeetCode 3272.统计好整数的数目:枚举+排列组合+哈希表
【LetMeFly】3272.统计好整数的数目:枚举排列组合哈希表 力扣题目链接:https://leetcode.cn/problems/find-the-count-of-good-integers/ 给你两个 正 整数 n 和 k 。 如果一个整数 x 满足以下条件,那么它被称为 k 回文 整数 。 x 是一个…...
蓝桥杯嵌入式历年省赛客观题
一.第十五届客观题 第十四届省赛 十三届 十二届...
RFID 在制造业的深度应用与未来趋势
一、引言 制造业作为国民经济的核心支柱,正面临着全球供应链重构、个性化需求激增、成本压力加剧等多重挑战。RFID(射频识别)技术以其非接触式自动识别、数据实时传输、环境适应性强等特性,成为推动制造业数字化转型的关键引擎。…...
spring--声明式事务
声明式事务 1、回顾事务 要么都成功,要么都失败! 事务在项目开发中,十分重要,涉及数据的一致性问题 确保完整性和一致性 事务ACID: 原子性:事务是原子性操作,由一系列动作组成,…...
java爬虫案例
以下是一个简单的Java爬虫案例,使用了 Jsoup 和 Apache HttpClient 两个常用的库来实现网页内容的爬取和解析。这个案例会演示如何获取网页的HTML内容、解析HTML并提取所需数据。 示例:使用Jsoup爬取网页内容 1. 添加依赖 在项目中添加以下依赖ÿ…...
博途 TIA Portal之1200做主站与有意思的板子做MODBUS_RTU通讯
做为博途的硬件,1200和1500本体都不具有串口通讯功能,只能使用扩展板或是通讯模块完成。 其中1200使用CB1241或CM1241进行串口通讯,本文将使用CM1241进行演示。 1、硬件介绍 1200的PLC一台,有意思的板子(以下简单4D板)一台。 其中1200带扩展模块CM1241 RS232;4D板使…...
01_核心系统下的技术原理解析
15年前,基本上国内的核心系统被C垄断,基本上是IBM的那套东西,场景也是比价复杂,这里不再赘述,TPS太过于庞大,技术上确实比较复杂。为此我这里抛砖引玉,说下对应的支付系统: &#x…...
【力扣hot100题】(092)最长回文串
有点难度,一开始想到的两种方法都不对,花了不少时间。 先说之前的方法: ① 遍历每个点,每个点向外扩张,如果左等于右就一直扩展直到不等。 这个方法可是可以,但我没有考虑到两个相同字母也是回文串的情况…...
第一期:[特殊字符] 深入理解MyBatis[特殊字符]从JDBC到MyBatis——持久层开发的转折点[特殊字符]
前言 🌟 在软件开发的过程中,持久层(或数据访问层)是与数据库进行交互的关键部分。早期,开发者通常使用 JDBC(Java Database Connectivity)来实现与数据库的连接与操作。虽然 JDBC 在一定程度上…...
指针的进阶2
六、函数指针数组 字符指针数组 - 存放字符指针的数组 char* arr[10] 整型指针数组 - 存放整型指针的数组 int* arr[10] 函数指针数组 - 存放函数指针的数组 void my_strlen() {} int main() {//指针数组char* ch[5];int arr[10] {0};//pa是是数组指针int (*pa)[10] &…...
Java学习——day28(Java并发工具类与线程池)
文章目录 1. 并发工具类简介1.1 ExecutorService1.2 Callable 和 Future1.3 Executors 工具类1.4 线程池优势 2. 实践:线程池执行任务并收集结果示例2.1 示例代码 3. 代码详解3.1 线程池的创建3.2 定义任务列表3.3 提交任务并收集 Future3.4 获取任务执行结果3.5 关…...
2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
记录刷题的过程、感悟、题解。 希望能帮到,那些与我一同前行的,来自远方的朋友😉 大纲: 1、空间-(题解)-字节单位转换 2、卡片-(题解)-可以不用当组合来写,思维题 3、直…...
【数据结构】之二叉树
二叉树是我们在数据结构中学到的第一个非线性结构,是后续学习更为复杂的树、图结构的基础。本文整理了二叉树的概念定义、基本操作、遍历算法、伪代码与代码实现以及实例说明,方便大家随时查找对应。 一、定义与基本术语 二叉树是一种树形结构…...
电感、互感器、变压器和磁珠综合对比——《器件手册--电感/线圈/变压器/磁珠篇》
三、电感/线圈/变压器/磁珠 名称 定义 特点...
CLIP中的Zero-Shot Learning原理
CLIP(Contrastive Language-Image Pretraining)是一种由OpenAI提出的多模态模型,它通过对比学习的方式同时学习图像和文本的表示,并且能在多种任务中进行零样本学习(Zero-Shot Learning)。CLIP模型的核心创…...
基于 Redis 实现一套动态配置中心 DCC 服务与反射基础知识讲解
目录 动态配置中心核心价值 轻量级 Redis 方案与 ZooKeeper 的对比分析 为什么选择自定义 Redis 方案? 1. 技术决策背景 一、活动降级拦截 1. 定义与作用 2. 实现原理 二、活动切量拦截 1. 定义与作用 2. 实现原理 三、两者的核心区别 四、实际应用案例 1. 电商大促…...
vue 前端遇到问题 样式不展示
vue 前端遇到问题 样式不展示 先看接口返回有数据没 如果有数据看下 是不是 输入赋值给其他 字段 没有赋值上导致报错 所以页面没展示数据...
基于 Spring Boot + Vue 的 [业务场景] 管理系统设计与实现
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...
2025蓝桥杯JavaB组
说明 博主自己水平有限,而且答案也不一定对,下面代码和思路仅作分享。我只把我考场上做了的写出来了,有什么问题欢迎评论区交流。 A:逃离高塔 思路: 由于有了去年的经验,所以一上来我就是找规律…...
HDF5文件格式:数据类型与读写功能详解
HDF5文件格式:数据类型与读写功能详解 HDF5简介 HDF5(Hierarchical Data Format version 5)是一种用于存储和管理大量科学数据的文件格式和库。它由美国国家高级计算应用中心(NCSA)开发,具有以下特点&…...
探索 Python 的 functools 模块:缓存、属性缓存与 LRU 缓存
李升伟 编译 Python 的 functools 模块是函数式编程爱好者的宝库,提供了许多工具来提升代码的效率和优雅性。本文将深入探讨三个强大的函数——cache、cached_property 和 lru_cache,它们通过存储昂贵计算的结果来优化性能。无论是加速递归算法还是简化…...
缓存与数据库一致性:从问题到解决方案全解析
一、⼀致性问题的由来:为什么会不一致? 我们先从现实例子出发,来看为什么会出现一致性问题: 📦 场景举例:电商下单业务 用户提交订单 → 服务写入数据库订单表;同时更新缓存(比如用…...
【android bluetooth 框架分析 02】【Module详解 2】【gd_shim_module 模块介绍】
1. 背景 上一章节 我们介绍了 module_t 的 大体框架 ,本节内容我们就选择 我们的 gd_shim_module 模块为例子,具体剖析一下,它里面的逻辑。 static const char GD_SHIM_MODULE[] "gd_shim_module";// system/main/shim/shim.cc …...
dbt:新一代数据转换工具
dbt(Data Build Tool)一款专为数据分析和工程师设计的开源工具,专注于 ETL/ELT 流程的数据转换(Transform)环节,帮助用户以高效、可维护的方式将原始数据转换为适合分析的数据模型。 用户只需要编写查询&am…...
Linux-内核驱动-makemenu,make modules,make uImage,杂项
动态生成设备节点设备号...
linux 内存踩踏导致的空指针问题分析纪要
1,查看日志信息打印 我们看到日志发现发包的skb模块有NULL pointer情况,我们看代码分析skb指针不可能出现是空指针,这个时候我们怀疑可能是出现了踩内存导致的空指针情况,所以我们首先需要找到系统PANIC的条件,也就是…...
【C++】 —— 笔试刷题day_14
一、乒乓球筐 题目解析 题目输入两个字符串A和B,分别代表A和B中的乒乓球,不同的大写字母就表示不同的乒乓球; 如果判断B中的所有乒乓球在A中都有,且A中每种乒乓球的数量大于等于B中的。(简单来说就是B是A的子集&#…...
在WPS中通过JavaScript宏(JSA)调用DeepSeek官方API自动识别标题级别和目录
我们希望通过AI,能够自动识别像“一”、“(一)”、“1”、“(1)” 这类常见标题序号。做一个规则,如果存在“一”时,则“一”、“(一)”、“1”分别识别为H1、H2、H3&…...
修复 WPS 编译错误:缺少:Sub或Function 且出现两个MathType加载项
问题首次出现于2025.4.12。 同时使用了Word和WPS,在里面都使用了MathType,在Microsoft的Word中,加载项能正常加载且显示,这也是我们要的效果。 而在WPS中,却出现了两个MathType,且在启动时会弹窗报错&…...
HTTP协议
目录 1 Fiddler工具 2 HTTP协议 2.1 HTTP请求和响应格式 2.2 URL 2.3 方法method 2.3.1 GET 2.3.2 POST 2.4 请求报头Header 2.5 请求正文body 2.6 http响应状态码 2.7 响应报头header HTTP协议是应用层的协议,基于传输层的TCP协议来传输,数据…...
拓扑排序 —— 2. 力扣刷题207. 课程表
题目链接:https://leetcode.cn/problems/course-schedule/description/ 题目难度:中等 相关标签:拓扑排序 / 广度优先搜搜 BFS / 深度优先搜索 DFS 2.1 问题与分析 2.1.1 原题截图 2.1.2 题目分析 首先,理解题目后必须马上意识到…...
寻找峰值 --- 二分查找
目录 一:题目 二:算法原理 三:代码实现 一:题目 题目链接:162. 寻找峰值 - 力扣(LeetCode) 二:算法原理 三:代码实现 class Solution { public:int findPeakElemen…...
SAP系统客户可回收包材库存管理
问题:客户可回收包材库存管理 现象:回收瓶无库存管理,在库数量以及在客户的库存数量没有统计,管理混乱。 解决方法: 客户可回收包装材料在SAP有标准的解决方案,在集团尚未启用该业务,首先…...
C++标识符:检查是否和保留字冲突
1. 基础知识 最基本的要求: 字母、数字、下划线组成, 并且不能是数字开头。 禁忌1: C 关键字不能用做标识符。 它们是: alignas alignof asm auto bool break case catch char char16_t char32_t class const constexpr const_…...
【Java多线程】告别线程混乱!深度解析Java多线程4大实现方式(附实战案例)
一、继承Thread类 实现步骤: 1.继承Thread类 2.重写run()方法 3.创建线程对象并调用start()方法 示例: class MyThread extends Thread {Overridepublic void run() {for (int i 0; i < 5; i) {System.out.println(Thread.currentThread().getNam…...