前端性能优化系列(一):问题分析与诊断

一、问题拆解

1.1 问题描述分析

原始问题:前端页面打开非常慢 + 大量请求 + 数据量大

拆解为三个维度

问题维度拆解: ├── 慢在哪里? │ ├── 首屏白屏时间长(3秒以上) │ ├── 页面加载完成时间长(10秒以上) │ ├── 交互响应慢(点击无反应) │ └── 滚动卡顿(FPS低于30) │ ├── 大量请求指什么? │ ├── 请求数量:超过50个?100个? │ ├── 请求类型:API、静态资源、第三方脚本 │ ├── 请求时机:首屏、懒加载、轮询 │ └── 请求并发:浏览器限制6个并发 │ └── 数据量大到什么程度? ├── 单个接口:几MB?几十MB? ├── 总数据量:页面总传输大小 ├── 数据类型:JSON、图片、视频 └── 数据处理:前端渲染压力

1.2 问题定性

问题类型表现影响
网络问题请求数量多、单次请求大加载时间长
渲染问题大量DOM操作、重绘重排页面卡顿
资源问题图片未压缩、JS文件大首屏慢
架构问题未做代码分割、全量加载白屏时间长

二、性能诊断工具

2.1 Chrome DevTools(必备)

2.1.1 Network面板(网络分析)

查看重点

关键指标: ├── 请求数量(Requests) ├── 传输大小(Transferred) ├── 资源大小(Resources) ├── 完成时间(Finish) ├── DOMContentLoaded(蓝线) └── Load(红线) 操作步骤: 1. 打开DevTools → Network 2. 勾选 "Disable cache"(禁用缓存) 3. 选择 "Slow 3G" 模拟弱网 4. 刷新页面 5. 分析瀑布图

瀑布图分析

理想情况: |████| HTML (200ms) |██| CSS (100ms) |███| JS (150ms) |█| API (50ms) 问题情况: |████████████████| HTML (2s) ← 服务器响应慢 |██████| CSS (500ms) ← 资源未压缩 |██████████| JS (1s) ← 文件过大 |████████| API (800ms) ← 数据量大 |██| |██| |██| ← 串行加载 关键指标解读: - Queueing(排队):黄色,浏览器并发限制 - Stalled(停滞):灰色,等待TCP连接 - DNS Lookup(DNS查询):绿色,域名解析 - Initial connection(初始连接):橙色,TCP握手 - SSL(SSL协商):紫色,HTTPS握手 - Request sent(发送请求):蓝色 - Waiting (TTFB)(等待响应):绿色,服务器处理时间 - Content Download(下载内容):蓝色

实战技巧

// 1. 按大小排序(找出最大文件)点击"Size"列 → 降序排列// 2. 过滤特定类型-输入"*.js"查看所有JS文件-输入"*.png"查看所有图片-输入"api"查看API请求// 3. 查看请求详情右键请求 → Timing → 查看详细时序// 4. 导出HAR文件(分享给后端)Network面板 → 右键 → Save allasHAR

2.1.2 Performance面板(性能分析)

录制性能

操作步骤: 1. 打开 Performance 2. 点击 "Record" 🔴 3. 刷新页面或进行操作 4. 停止录制 5. 分析火焰图

关键指标

FCP (First Contentful Paint):首次内容绘制 ├── 标准:< 1.8s(绿色) ├── 需优化:1.8s - 3s(橙色) └── 差:> 3s(红色) LCP (Largest Contentful Paint):最大内容绘制 ├── 标准:< 2.5s └── 差:> 4s TTI (Time to Interactive):可交互时间 ├── 标准:< 3.8s └── 差:> 7.3s TBT (Total Blocking Time):总阻塞时间 ├── 标准:< 200ms └── 差:> 600ms

火焰图分析

示例: Main 线程 ├── Parse HTML (500ms) ← HTML解析 ├── Evaluate Script (2s) ← ⚠️ JS执行时间过长 │ └── 函数调用栈(找到慢函数) ├── Recalculate Style (300ms) ← ⚠️ 样式计算 ├── Layout (200ms) ← 布局 └── Paint (100ms) ← 绘制 问题识别: 🔴 红色火焰:长任务(> 50ms) ⚠️ 黄色警告:强制同步布局

2.1.3 Lighthouse(自动化分析)

使用步骤

1. 打开 DevTools → Lighthouse 2. 选择类别: ☑️ Performance(性能) ☑️ Best practices(最佳实践) ☑️ Accessibility(无障碍) ☑️ SEO 3. 选择设备:Mobile / Desktop 4. 点击 "Analyze page load"

报告解读

Performance Score(性能分数) ├── 90-100:优秀(绿色) ├── 50-89:需要改进(橙色) └── 0-49:差(红色) 核心指标权重: - FCP:10% - Speed Index:10% - LCP:25% ← 最重要 - TTI:10% - TBT:30% ← 最重要 - CLS:25% ← 最重要 机会(Opportunities): ✅ Reduce unused JavaScript(减少未使用的JS) ⏱️ 可节省 2.5s ✅ Properly size images(优化图片尺寸) ⏱️ 可节省 1.8s ✅ Eliminate render-blocking resources(消除渲染阻塞) ⏱️ 可节省 1.2s 诊断(Diagnostics): ⚠️ Avoid enormous network payloads(避免巨大的网络负载) 总大小:12.5 MB ⚠️ Serve static assets with cache policy(静态资源缓存) 63个资源未缓存

2.2 浏览器扩展工具

2.2.1 React DevTools Profiler
// 分析组件渲染性能操作:1.安装 React DevTools2.打开 Profiler 标签3.点击录制 → 操作页面 → 停止4.查看组件渲染时间 问题识别: 🔴 某个组件渲染 500ms ← 需要优化
2.2.2 Vue DevTools Performance
// Vue 3 性能追踪操作:1.打开 Vue DevTools2.Performance 标签3.录制页面操作4.查看组件渲染次数、时间

2.3 命令行工具

2.3.1 WebPageTest(在线工具)
网址:https://www.webpagetest.org 优势: ✅ 模拟真实设备(Moto G4、iPhone等) ✅ 多地域测试(中国、美国、欧洲) ✅ 多次测试取平均值 ✅ 视频录制(逐帧查看加载过程) ✅ 瀑布图详细分析 使用场景: - 测试生产环境性能 - 对比优化前后效果 - 多地域性能测试
2.3.2 Webpack Bundle Analyzer
# 安装npminstall--save-dev webpack-bundle-analyzer# webpack.config.jsconst BundleAnalyzerPlugin=require('webpack-bundle-analyzer').BundleAnalyzerPlugin;module.exports={plugins:[new BundleAnalyzerPlugin({analyzerMode:'static', // 生成HTML文件 reportFilename:'bundle-report.html', openAnalyzer:true})]};# 运行构建npmrun build# 分析结果浏览器自动打开可视化图表: ┌─────────────────────────────────┐ │ bundle.js(2.5MB)│ ├─────────────────────────────────┤ │ ▓▓▓▓▓▓▓ lodash(500KB)← 可优化│ │ ▓▓▓▓▓ moment(300KB)← 可替换 │ │ ▓▓▓ echarts(200KB)│ │ ▓▓ your-code(1.5MB)│ └─────────────────────────────────┘

三、问题定位方法

3.1 诊断流程

┌──────────────────┐ │ 1. 获取性能基线 │ │ Lighthouse评分 │ │ 关键指标数值 │ └────────┬─────────┘ ↓ ┌──────────────────┐ │ 2. 网络层分析 │ │ 请求数量 │ │ 资源大小 │ │ 请求耗时 │ └────────┬─────────┘ ↓ ┌──────────────────┐ │ 3. 渲染层分析 │ │ 主线程占用 │ │ 长任务识别 │ │ FPS监控 │ └────────┬─────────┘ ↓ ┌──────────────────┐ │ 4. 资源层分析 │ │ Bundle体积 │ │ 代码覆盖率 │ │ 重复依赖 │ └────────┬─────────┘ ↓ ┌──────────────────┐ │ 5. 制定优化方案 │ └──────────────────┘

3.2 快速定位清单

☑️ 网络问题检查 - [ ] 请求数量是否超过50个? - [ ] 单个请求是否超过1MB? - [ ] 是否有重复请求? - [ ] API响应时间是否超过500ms? - [ ] 是否有请求失败或超时? ☑️ 资源问题检查 - [ ] 图片是否未压缩?(超过100KB) - [ ] 是否使用了WebP格式? - [ ] 是否有未使用的CSS/JS? - [ ] Bundle体积是否超过500KB? - [ ] 是否做了代码分割? ☑️ 渲染问题检查 - [ ] FCP是否超过1.8s? - [ ] LCP是否超过2.5s? - [ ] 是否有长任务(超过50ms)? - [ ] 是否有频繁的重绘重排? - [ ] DOM节点是否超过1000个? ☑️ 缓存问题检查 - [ ] 静态资源是否设置缓存? - [ ] API是否可以缓存? - [ ] 是否使用了ServiceWorker? - [ ] LocalStorage是否合理使用? ☑️ 架构问题检查 - [ ] 是否首屏加载全量数据? - [ ] 是否做了懒加载? - [ ] 是否做了SSR或预渲染? - [ ] 是否使用了CDN?

四、性能指标体系

4.1 核心Web指标(Core Web Vitals)

指标含义标准值影响
LCP最大内容绘制< 2.5s用户感知的加载速度
FID首次输入延迟< 100ms交互响应性
CLS累积布局偏移< 0.1视觉稳定性
LCP优化重点
什么会触发LCP? - 大图片(<img>) - 视频封面(<video>) - 背景图(CSS background-image) - 文本块(大段文字) 优化方向: ✅ 压缩图片、使用WebP ✅ 使用CDN加速 ✅ 预加载关键资源 ✅ 服务端渲染(SSR)
FID优化重点
什么会阻塞FID? - 大型JS执行(解析、编译、执行) - 长任务(超过50ms) - 第三方脚本 优化方向: ✅ 代码分割、按需加载 ✅ 使用Web Worker处理计算 ✅ 延迟加载非关键JS ✅ 减少主线程工作
CLS优化重点
什么会导致CLS? - 无尺寸的图片(加载后撑开布局) - 动态插入内容(广告、弹窗) - 字体加载(文本重排) 优化方向: ✅ 为图片/视频设置宽高 ✅ 预留广告位空间 ✅ 使用font-display: swap ✅ 避免在现有内容上方插入内容

4.2 其他重要指标

TTFB (Time to First Byte):首字节时间 ├── 含义:浏览器收到服务器第一个字节的时间 ├── 标准:< 600ms ├── 影响因素:服务器响应速度、网络延迟 └── 优化:CDN、服务器性能优化、HTTP/2 FCP (First Contentful Paint):首次内容绘制 ├── 含义:首次绘制文本、图片、canvas等 ├── 标准:< 1.8s ├── 影响因素:资源加载速度 └── 优化:关键CSS内联、预加载字体 SI (Speed Index):速度指数 ├── 含义:页面内容视觉填充的速度 ├── 标准:< 3.4s ├── 计算:Lighthouse自动计算 └── 优化:首屏优先加载、懒加载 TTI (Time to Interactive):可交互时间 ├── 含义:页面完全可交互的时间 ├── 标准:< 3.8s ├── 影响因素:JS执行时间 └── 优化:减少JS体积、延迟非关键JS TBT (Total Blocking Time):总阻塞时间 ├── 含义:FCP到TTI之间,主线程被阻塞的总时间 ├── 标准:< 200ms ├── 计算:所有长任务(>50ms)的阻塞时间总和 └── 优化:拆分长任务、使用requestIdleCallback

五、实战案例

5.1 案例背景

项目:电商后台管理系统 - 商品列表页 症状: - 首屏加载时间:8秒 - Lighthouse评分:32分(差) - 请求数量:127个 - 页面总大小:15.2 MB

5.2 诊断过程

步骤1:Lighthouse初步诊断
Performance Score: 32/100 ┌─────────────────────────────────────┐ │ Metrics(指标) │ ├─────────────────────────────────────┤ │ FCP: 4.2s ⚠️ (标准 < 1.8s) │ │ LCP: 8.1s 🔴 (标准 < 2.5s) │ │ TBT: 1,840ms 🔴 (标准 < 200ms) │ │ CLS: 0.28 🔴 (标准 < 0.1) │ │ SI: 7.6s 🔴 (标准 < 3.4s) │ └─────────────────────────────────────┘ Opportunities(可节省时间) ✅ Reduce unused JavaScript - 3.5s - vendors.bundle.js (1.2 MB) 未使用 80% ✅ Properly size images - 2.8s - product-001.jpg (2 MB) 实际显示 200x200 ✅ Eliminate render-blocking - 1.9s - style.css (300 KB) - font-awesome.css (200 KB) Diagnostics(诊断) ⚠️ Avoid enormous network payloads Total size: 15.2 MB - 63个图片未压缩(平均每个 150KB) ⚠️ Serve static assets with cache 127个资源中,103个未设置缓存 ⚠️ Avoid an excessive DOM size 2,847 elements(推荐 < 1,500)

步骤2:Network详细分析
请求分类统计: ├── API请求:23个(总耗时 4.2s) │ ├── /api/products/list - 2.1s, 3.2 MB 🔴 │ ├── /api/categories - 0.8s, 500 KB ⚠️ │ ├── /api/user/info - 0.5s, 10 KB ✅ │ └── 其他20个独立请求(每个图片一个请求) ├── JS文件:8个(总大小 2.5 MB) │ ├── vendors.bundle.js - 1.8 MB 🔴 │ ├── app.bundle.js - 500 KB ⚠️ │ └── 其他6个第三方库 ├── CSS文件:5个(总大小 600 KB) │ ├── font-awesome.css - 200 KB 🔴 │ ├── element-ui.css - 180 KB ⚠️ │ └── custom.css - 220 KB ⚠️ ├── 图片:63个(总大小 9.5 MB)🔴 │ ├── 商品图片60个(未压缩,平均150KB) │ └── 图标3个(未使用雪碧图) └── 字体:3个(总大小 1.2 MB) └── font-awesome字体(加载全部字符) 问题总结: 🔴 严重:单个API返回3.2MB数据(包含全部商品) 🔴 严重:图片未压缩、未使用CDN ⚠️ 中等:JS Bundle过大、未做代码分割 ⚠️ 中等:大量并发请求(浏览器限制6个)

步骤3:Performance火焰图分析
Main Thread(主线程)活动: 0s─────2s─────4s─────6s─────8s │ │ │ │ │ ├─ Parse HTML (200ms) ✅ │ ├─ Evaluate vendors.bundle.js (1,200ms) 🔴 │ └─ 包含 lodash、moment、echarts 等未使用库 │ ├─ Evaluate app.bundle.js (600ms) ⚠️ │ ├─ Parse JSON (3.2MB API响应) (800ms) 🔴 │ └─ JSON.parse 阻塞主线程 │ ├─ React render (1,500ms) 🔴 │ ├─ ProductList组件 (1,200ms) │ │ └─ 渲染 2000 个商品卡片 │ └─ 其他组件 (300ms) │ ├─ Recalculate Style (400ms) 🔴 │ └─ 复杂CSS选择器 │ ├─ Layout (300ms) ⚠️ │ └─ 大量DOM节点布局计算 │ └─ Paint (200ms) ⚠️ 长任务识别(> 50ms): 🔴 任务1:vendors.bundle.js 执行 - 1,200ms 🔴 任务2:渲染2000个商品卡片 - 1,500ms 🔴 任务3:JSON解析 - 800ms ⚠️ 任务4:样式计算 - 400ms

步骤4:Coverage分析(代码覆盖率)
打开 DevTools → Coverage → 录制 结果: ┌──────────────────────────────────────┐ │ vendors.bundle.js │ │ Total: 1.8 MB │ │ Used: 360 KB (20%) ✅ │ │ Unused: 1.44 MB (80%) 🔴 │ │ │ │ 未使用的库: │ │ - lodash: 70 KB (只用了3个函数) │ │ - moment: 200 KB (可用day.js替代) │ │ - echarts: 500 KB (当前页面未使用) │ └──────────────────────────────────────┘ ┌──────────────────────────────────────┐ │ element-ui.css │ │ Total: 180 KB │ │ Used: 45 KB (25%) │ │ Unused: 135 KB (75%) 🔴 │ │ (未使用的组件样式) │ └──────────────────────────────────────┘

5.3 问题总结

问题清单(优先级排序): ┌─────────────────────────────────────────┐ │ 🔴 P0级别(严重影响) │ ├─────────────────────────────────────────┤ │ 1. API返回3.2MB数据(2000条商品) │ │ - 导致网络传输慢 (2.1s) │ │ - 导致JSON解析慢 (800ms) │ │ - 导致渲染慢 (1.5s) │ │ │ │ 2. 图片未优化(63个图片,9.5MB) │ │ - 未压缩、未使用WebP │ │ - 未使用CDN │ │ - 原图2MB显示200x200 │ │ │ │ 3. JS Bundle过大(2.5MB) │ │ - 80%代码未使用 │ │ - 未做代码分割 │ │ - 包含整个lodash、moment │ └─────────────────────────────────────────┘ ┌─────────────────────────────────────────┐ │ ⚠️ P1级别(重要) │ ├─────────────────────────────────────────┤ │ 4. 大量串行请求(127个) │ │ - 浏览器并发限制 │ │ - 未做请求合并 │ │ │ │ 5. 无缓存策略 │ │ - 静态资源未缓存 │ │ - API未缓存 │ │ │ │ 6. 首屏渲染全量数据 │ │ - 2000个DOM节点 │ │ - 未做虚拟滚动 │ └─────────────────────────────────────────┘ ┌─────────────────────────────────────────┐ │ ⭕ P2级别(优化) │ ├─────────────────────────────────────────┤ │ 7. CSS未优化 │ │ - 75%未使用 │ │ - 未按需引入 │ │ │ │ 8. 字体文件大(1.2MB) │ │ - 加载全部字符集 │ │ - 未做子集化 │ └─────────────────────────────────────────┘

5.4 预期优化效果

基于诊断结果,预估优化后效果: ┌────────────────────────────────────────────┐ │ 指标对比 │ ├────────────────┬──────────┬────────────────┤ │ 指标 │ 优化前 │ 优化后(预期) │ ├────────────────┼──────────┼────────────────┤ │ 首屏时间 │ 8.0s │ 1.5s ✅ │ │ Lighthouse评分 │ 32分 │ 85+分 ✅ │ │ 请求数量 │ 127个 │ 25个 ✅ │ │ 页面大小 │ 15.2 MB │ 1.2 MB ✅ │ │ FCP │ 4.2s │ 1.0s ✅ │ │ LCP │ 8.1s │ 2.0s ✅ │ │ TBT │ 1,840ms │ 150ms ✅ │ └────────────────┴──────────┴────────────────┘ 核心优化方向(后续文档详述): 1️⃣ 数据优化:分页、虚拟滚动、懒加载 2️⃣ 请求优化:合并请求、缓存、CDN 3️⃣ 资源优化:图片压缩、代码分割、按需加载 4️⃣ 渲染优化:虚拟列表、防抖节流、Web Worker

六、总结

6.1 诊断核心三步骤

1️⃣ Lighthouse快速扫描 → 获取性能评分和优化建议 2️⃣ Network详细分析 → 找出慢请求、大资源 3️⃣ Performance深入追踪 → 定位渲染瓶颈、长任务

6.2 关键工具速查

问题类型推荐工具关注指标
网络慢Network面板TTFB、请求数量、资源大小
渲染慢Performance面板FCP、LCP、TBT
资源大Coverage、Bundle Analyzer代码覆盖率、Bundle体积
综合评估LighthousePerformance Score、机会项

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1201985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高管无视AI泡沫担忧,坚定推进技术采用计划

根据埃森哲周四发布的报告&#xff0c;尽管面临劳动力挑战、投资回报率不确定性以及市场波动担忧&#xff0c;高管层仍急于在今年推进AI计划。该公司在11月和12月分别对3650名高管和3350名员工进行了调研&#xff0c;结果显示双方对技术影响的看法存在分歧。 报告发现&#xff…

实现Unity录音、百度云语音转文字

在unity中录制声音&#xff0c;调用百度云-语音转文字标准版接口&#xff0c;获取转换后的文字内容调用示例&#xff1a;BtnStartVoice.onClick.AddListener(() >{//开始录音MicrophoneRecorderManager.Instance.StartRecording();}); BtnEndVoice.onClick.AddList…

维基百科志愿者创建AI写作特征库,现推出插件帮助规避检测

上周六&#xff0c;科技企业家Siqi Chen发布了一个开源插件&#xff0c;专门用于Anthropic公司的Claude Code AI助手&#xff0c;该插件能指导AI模型避免使用典型的AI写作风格。这个名为"Humanizer"的简单提示插件向Claude提供了一份包含24种语言和格式模式的清单&am…

2026年天猫代运营公司排名前五权威发布:专业深度测评

2026年天猫淘宝代运营公司十大排名权威发布:基于EEAT框架的专业深度测评 随着电商行业进入精细化与全域运营的新阶段,品牌方对专业、高效、可量化的天猫淘宝代运营服务需求持续攀升。面对市场上服务商能力参差不齐的…

MX Linux 25.1恢复可切换初始化系统功能

MX Linux 25.1恢复了切换初始化系统的能力&#xff0c;这是旧版MX Linux的杀手级功能。此次更新经历了一个非常短暂的测试期——25.1 beta 1版本在一周前发布。不过&#xff0c;这并不是普通的错误修复点版本。正如测试版公告所说&#xff1a;"我们通常不会为点版本更新制…

offline_install_processor.cpp中的IPC通信

offline_install_processor.cpp中的IPC通信IPC 概念解析与代码中使用场景详解 结合你提供的离线升级代码,我先帮你理清 IPC 是什么,再具体分析代码中为什么必须用到 IPC、以及用到了哪些 IPC 能力。 一、先搞懂:什么…

微软CEO重新定义AI主权:关键在控制权而非数据中心位置

微软CEO萨蒂亚纳德拉在达沃斯世界经济论坛上与贝莱德CEO拉里芬克的对话中表示&#xff0c;数据中心位置是AI主权"最不重要的因素"。纳德拉认为&#xff0c;企业AI主权的关键在于控制基于专有知识训练的模型&#xff0c;而不是物理基础设施的位置。"如果你无法将…

Nginx多服务静态资源路径冲突解决方案

在使用Nginx反向代理多个Flask应用时,遇到了一个棘手的问题:不同服务的静态资源(CSS/JS)会互相干扰。本文记录了问题的分析过程和解决方案。 关键词:Nginx反向代理、Flask静态资源、location匹配、proxy_pass问题…

CIO如何解锁人工智能战略价值并实施落地

毫无疑问&#xff0c;CIO在识别人工智能高价值应用场景方面发挥着关键作用。北卡罗来纳州卡里镇IT负责人Nicole Coughlin这样描述&#xff1a; "我们的工作是倾听&#xff0c;真正倾听工作中的模式和痛点&#xff0c;"Coughlin说。如果CIO与业务部门之间缺乏这种联系…

Mobileye关键之年,Robotaxi去安全员、SuperVisionChauffeur迈入量产

作者 |德新 编辑 |王博2026年&#xff0c;被Mobileye创始人兼CEO Amnon Shashua教授视为关键的一年&#xff0c;这年公司将会达成两项重要的里程碑&#xff1a; 第一&#xff0c;Robotaxi实现 “去安全员”无人化驾驶&#xff1b;第二&#xff0c;与保时捷合作的SuperVision&am…

scheme3.1.1 局部状态变量

通过改变局部变量,我们可以完成一些需要改变状态的操作。例如,我们可以设计一个收支系统,对某一账户内的金额进行增加和提取。 初始系统:点击查看代码 #lang racket (define (make-account balance)(define (withd…

机器学习模型部署需超越聚合指标评估

MIT研究人员发现&#xff0c;当机器学习模型应用于训练数据之外的新数据时&#xff0c;会出现重大失效问题&#xff0c;这表明在新环境中部署模型时需要进行充分测试。"我们证明了即使在大量数据上训练模型并选择最佳平均模型&#xff0c;在新环境中这个最佳模型可能对6%-…

如何直接编辑Github的Readme.md文件

GitHub的markdown语法在标准的markdown语法基础上做了扩充,称之为GitHub Flavored Markdown。简称GFM。https://github.com/guodongxiaren/README GitHub的markdown语法在标准的markdown语法基础上做了扩充,称之为Gi…

(新卷,200分)- 区间交叠问题(Java JS Python)

(新卷,200分)- 区间交叠问题&#xff08;Java & JS & Python&#xff09;题目描述给定坐标轴上的一组线段&#xff0c;线段的起点和终点均为整数并且长度不小于1&#xff0c;请你从中找到最少数量的线段&#xff0c;这些线段可以覆盖柱所有线段。输入描述第一行输入为所…

(新卷,200分)- 区块链文件转储系统(Java JS Python)

(新卷,200分)- 区块链文件转储系统&#xff08;Java & JS & Python&#xff09; 题目描述 区块链底层存储是一个链式文件系统&#xff0c;由顺序的N个文件组成&#xff0c;每个文件的大小不一&#xff0c;依次为F1,F2,...,Fn。随着时间的推移&#xff0c;所占存储会越…

JVM(Java虚拟机) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

(新卷,200分)- 任务调度(Java JS Python)

(新卷,200分)- 任务调度&#xff08;Java & JS & Python&#xff09;题目描述现有一个CPU和一些任务需要处理&#xff0c;已提前获知每个任务的任务ID、优先级、所需执行时间和到达时间。 CPU同时只能运行一个任务&#xff0c;请编写一个任务调度程序&#xff0c;采用“…

全网最全9个AI论文软件,本科生毕业论文必备!

全网最全9个AI论文软件&#xff0c;本科生毕业论文必备&#xff01; AI 工具如何成为论文写作的得力助手 随着人工智能技术的不断进步&#xff0c;AI 工具在学术写作中的应用越来越广泛。对于本科生而言&#xff0c;撰写毕业论文是一项既重要又充满挑战的任务。而 AI 工具的出现…

(新卷,200分)- 上班之路(Java JS Python)

(新卷,200分)- 上班之路&#xff08;Java & JS & Python&#xff09;题目描述Jungle 生活在美丽的蓝鲸城&#xff0c;大马路都是方方正正&#xff0c;但是每天马路的封闭情况都不一样。 地图由以下元素组成&#xff1a; 1&#xff09;”.” — 空地&#xff0c;可以达到…

【课程设计/毕业设计】基于springboot的小区蔬菜水果商城系统蔬菜超市系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…