UWP发展历程
通用Windows平台(UWP)发展历程
引言
通用Windows平台(Universal Windows Platform, UWP)是微软为实现"一次编写,处处运行"的愿景而打造的现代应用程序平台。作为微软统一Windows生态系统的核心战略组成部分,UWP代表了从传统Win32应用向现代应用模型的演进。本文将详细回顾UWP从概念提出到成熟发展的完整历程,分析其技术特点、面临的挑战以及在微软生态系统中的地位变化,并探讨其未来发展前景。
起源与背景(2012-2014)
Windows 8与现代应用平台的诞生
UWP的起源可以追溯到Windows 8时代。2012年10月,微软发布了Windows 8操作系统,引入了全新的用户界面和应用模型。这一版本的Windows带来了两个重要概念:
-
Metro设计语言(后更名为Modern UI,再后来称为Fluent Design):以排版为灵感的扁平化设计风格,强调简洁、内容优先和响应式布局。
-
Windows Runtime (WinRT):一个全新的应用程序架构,允许开发者使用多种编程语言(C++、C#、VB.NET和JavaScript)创建现代应用。
Windows 8时代的应用被称为"Windows Store Apps"或"Metro Apps",它们拥有以下特点:
- 全屏运行,专注于内容
- 使用声明式标记语言(XAML)定义用户界面
- 通过应用商店分发和更新
- 运行在沙盒环境中,提高安全性
- 使用新的异步编程模型

然而,Windows 8的双重界面(桌面模式和Metro模式)引起了用户的困惑和不满。市场反馈表明,尽管Metro应用概念创新,但其强制的全屏体验和对触摸优化的界面在传统桌面电脑上使用体验不佳。
Windows 8.1的改进
为了应对用户反馈,微软在2013年10月发布了Windows 8.1,对现代应用平台进行了多项改进:
- 允许现代应用窗口化运行
- 改进了多屏幕支持
- 增强了与桌面环境的集成
- 扩展了WinRT API,提供更多功能
尽管这些改进使Windows 8.1的体验有所提升,但其现代应用平台仍未获得广泛采用。开发者对这一新平台的投入有限,应用商店中的应用数量和质量均无法与iOS和Android平台相比。
在这一阶段,微软意识到需要一个更加统一的平台战略,以消除Windows生态系统的碎片化问题。Windows Phone与Windows桌面版使用不同的应用模型和API,使开发者难以创建跨设备的应用程序。这一问题促使微软开始构思一个真正统一的应用平台。
UWP的诞生与Windows 10(2015)
"一个Windows"战略
2015年7月,微软发布了Windows 10,引入了通用Windows平台(UWP)的概念。UWP是Windows 8/8.1的WinRT平台的演进和扩展,目标是提供一个真正统一的应用平台,允许开发者创建能在所有Windows 10设备上运行的应用程序。
Windows 10的"一个Windows"战略包含以下关键要素:
- 统一的核心操作系统
- 统一的应用平台(UWP)
- 统一的Windows Store
- 跨设备的用户体验和数据同步
- 自适应设计,支持不同形态的设备

UWP的核心概念与技术特性
UWP的核心理念是提供一个通用的应用平台,让开发者能够使用单一的代码库和项目,创建可在不同Windows 10设备上运行的应用程序。UWP应用具有以下技术特点:
-
自适应界面:UWP引入了自适应设计的概念,通过响应式布局、视觉状态和设备特定视图,使应用能够自动适应不同屏幕尺寸和设备特性。
-
通用API:提供了一套统一的API,可以在所有Windows 10设备上使用。对于特定设备的独特功能,UWP使用扩展SDK和条件编译来处理。
-
单一应用包:UWP应用可以打包为单一的应用包(.appx,后来改为.msix),包含针对不同设备的必要资源和代码,简化了部署和管理。
-
Windows应用商店分发:通过Windows Store分发应用,提供自动更新、许可管理和安全审核机制。
-
现代安全模型:UWP应用运行在沙盒环境中,使用声明式权限模型,提供更好的安全性和隐私保护。
-
多种输入支持:原生支持触摸、笔、键盘、鼠标等多种输入方式,使应用能够适应不同设备的交互模式。
首个UWP版本的功能与限制
Windows 10首发版本中的UWP,相比Windows 8的WinRT平台有了显著改进,但仍存在一些限制:
| 特性类别 | 改进与优势 | 限制与挑战 |
|---|---|---|
| 应用模型 | 支持窗口化运行,更好的桌面集成 | API相比Win32有限,无法完全替代传统应用 |
| 用户界面 | 引入自适应设计,支持多种输入 | 早期控件套件和设计语言不够成熟 |
| 开发工具 | Visual Studio 2015提供完整支持 | 开发者学习曲线陡峭,文档不够完善 |
| 分发方式 | 统一的Windows Store | 强制性商店分发限制了企业和专业应用场景 |
| 跨平台能力 | 可在Windows 10设备家族内跨平台 | 不支持非Windows平台(如iOS、Android) |
尽管如此,UWP的推出仍代表了微软平台战略的重大转变,为Windows应用开发提供了一条面向未来的新路径。
成熟与发展(2016-2018)
持续的平台改进
随着Windows 10的多次更新,UWP平台不断得到增强和扩展:
Windows 10周年更新(1607,2016年8月)
- 引入了Windows Ink平台,强化了笔输入支持
- 改进了通知系统和Action Center
- 增强了开发API和工具,如新的XAML控件和媒体功能
Windows 10创意者更新(1703,2017年4月)
- 引入Compact Overlay模式,支持画中画功能
- 改进的XAML设计器和工具
- 添加了新的动画和转场效果
- 增强了Xbox One上的UWP支持
Windows 10秋季创意者更新(1709,2017年10月)
- 引入Fluent Design System,这是Metro/Modern UI的进化版
- 新增了设计元素:亚克力材质、视差效果、光效、深度和动作
- 改进了UWP的性能和稳定性
- 增强了开发者工具和调试能力

Windows 10 April 2018 Update(1803,2018年4月)
- 引入了Timeline(时间线)功能,增强了跨设备体验
- XAML岛(XAML Islands),允许在Win32应用中嵌入UWP控件
- 改进了Fluent Design实现,增加了更多视觉元素
- 引入了自适应卡片(Adaptive Cards)
Windows 10 October 2018 Update(1809,2018年10月)
- SwiftKey技术集成,改进了触摸键盘体验
- 扩展了Fluent Design应用范围
- 改进了UWP性能和API功能
- 增强了开发者工具集成
开发者体验与工具链改进
为了提升开发者体验,微软在这一时期做了大量工作:
-
Visual Studio改进:Visual Studio 2017提供了更好的UWP开发支持,包括改进的XAML编辑器、实时可视化树和更好的调试工具。
-
Windows开发者中心演进:提供了更简化的应用提交和认证流程,以及更详细的分析报告。
-
开源力度增加:微软将越来越多的UWP组件开源,包括Windows社区工具包(Windows Community Toolkit)和控件库。
-
桥接技术:推出了多个"桥接技术",帮助开发者将现有应用迁移到UWP:
- Project Centennial(桌面应用转换器),将Win32应用转换为UWP
- Project Westminster,将Web应用转换为UWP
- Project Islandwood,旨在帮助将iOS应用移植到UWP(后来停止开发)
- Project Astoria,旨在将Android应用带到UWP(已停止开发)
市场采用情况与挑战
尽管微软在UWP平台上投入了大量资源,但其市场采用在2016-2018年期间仍面临挑战:
-
移动战略调整:2017年微软正式宣布放弃Windows Mobile/Phone平台,这极大削弱了UWP的"通用"价值主张。没有移动设备,UWP的跨设备能力大打折扣。
-
开发者生态系统:相比成熟的Win32生态系统以及iOS/Android移动生态,UWP应用数量和质量仍有差距。
-
企业采用障碍:企业对迁移到UWP持谨慎态度,主要受限于:
- 现有Win32应用投资巨大
- UWP早期的功能限制
- 强制性Store分发模式不符合企业需求
-
平台战略不确定性:微软频繁调整平台战略,使开发者对长期投资UWP持观望态度。
尽管如此,UWP在某些领域获得了成功,特别是:
- Xbox One游戏和应用
- Surface设备上的触屏优化应用
- 教育市场的Windows设备应用
- 企业内部的现代化应用
战略调整与融合(2019-2021)
从"UWP优先"到"Windows应用"
2019年是UWP战略的转折点。微软调整了其平台战略,从强调"UWP优先"转变为更加包容的"Windows应用"概念。这一转变体现在以下方面:
-
XAML Islands技术成熟:允许Win32应用程序嵌入UWP控件和功能,创造混合应用体验。
-
Windows UI库(WinUI):将UWP的UI框架解耦,使其可以在UWP和Win32应用中使用,为未来的UI框架统一铺路。
-
MSIX打包格式:扩展了UWP的应用包格式,支持打包和现代化分发各种Windows应用,而不仅限于UWP应用。
-
Store政策调整:允许更多类型的应用通过Microsoft Store分发,不再强制要求纯UWP应用。
-
Project Reunion(后来演变为Windows App SDK):开始尝试统一Win32和UWP开发模型。

Windows 10的后续更新中UWP的位置
在Windows 10的后续更新中,UWP继续得到改进,但重点转向与Win32平台的整合:
Windows 10 May 2019 Update(1903,2019年5月)
- 引入Windows Light主题
- XAML Islands正式版发布
- 改进的游戏模式和DirectX功能
Windows 10 November 2019 Update(1909,2019年11月)
- 较小的功能更新,专注于稳定性和性能
- 改进的通知管理和日历集成
Windows 10 May 2020 Update(2004,2020年5月)
- Windows Subsystem for Linux 2 (WSL2)
- 更新的Cortana体验(作为UWP应用)
- 改进的开发者工具和诊断能力
Windows 10 October 2020 Update(20H2,2020年10月)
- 开始菜单视觉刷新
- 改进的通知体验
- 基于Chromium的新Edge浏览器集成
Windows开发的未来:Project Reunion/Windows App SDK
2020年5月,微软在Build大会上宣布了Project Reunion(后更名为Windows App SDK)计划,这是微软平台战略的又一重大调整。Windows App SDK的目标是:
- 解耦Windows API与操作系统发布周期
- 统一Win32和UWP的API表面
- 提供现代化的Windows开发体验,不再区分应用类型
- 允许渐进式采用,不要求完全重写应用
这一举措表明,微软不再将UWP视为独立的应用平台,而是将其作为Windows应用生态系统的组成部分。UWP的许多技术和概念将被保留并整合到Windows App SDK中,但"纯UWP应用"的概念开始淡化。
Windows 11时代的UWP(2021至今)
Windows 11与现代Windows应用
2021年6月,微软发布了Windows 11操作系统,带来了全新的视觉设计和用户体验。Windows 11对UWP和Windows应用开发的影响包括:
-
设计语言更新:Fluent Design得到进一步发展,引入了圆角设计、新的图标和动画系统。
-
WinUI 3:正式发布,成为Windows 11的UI框架,支持UWP和Win32应用。
-
Windows App SDK 1.0:取代Project Reunion,成为推荐的Windows开发方法。
-
Microsoft Store改革:
- 允许未打包的Win32应用提交
- 引入Android应用支持(通过Amazon应用商店)
- 降低商店佣金,改善开发者收益
- 提供新的搜索和发现机制
-
UWP的定位变化:UWP不再作为单独的平台推广,而是作为Windows App SDK的组成部分。
当前UWP的技术状态与应用领域
截至2023年,UWP作为一项技术仍在Windows生态系统中存在,但其定位和使用场景发生了变化:
| 技术领域 | 当前状态 |
|---|---|
| UI框架 | UWP XAML框架仍在使用,但逐渐被WinUI 3替代 |
| 应用模型 | 被Windows App SDK统一的应用模型取代 |
| 应用商店 | Microsoft Store支持更多类型应用,UWP不再是唯一选择 |
| API访问 | UWP API被整合到Windows App SDK中 |
| 设备支持 | 继续支持Xbox、HoloLens等特殊设备 |
UWP目前主要应用于以下领域:
- Xbox游戏和应用:Xbox仍然使用UWP作为其主要应用平台
- HoloLens应用:混合现实应用开发
- 系统内置应用:Windows 11的一些内置应用仍基于UWP
- 特定行业应用:如教育、零售等领域的专用应用
- IoT设备应用:基于Windows IoT的设备应用
UWP与Windows App SDK的关系
Windows App SDK代表了微软平台战略的最新发展,它与UWP的关系可以概括为:

Windows App SDK采纳了UWP的许多优势部分,同时摒弃了其限制:
-
保留的UWP元素:
- XAML UI框架
- 现代API设计
- 自适应设计原则
- 部分应用生命周期管理
-
超越UWP的方面:
- 不限于Store分发
- 完整的Win32 API访问
- 向后兼容性更好
- 可渐进式采用
UWP的技术评价与历史意义
UWP的技术优势与创新
回顾UWP的整个发展历程,它在以下方面带来了重要创新:
-
现代应用模型:引入了基于声明式权限、安全沙盒和应用生命周期管理的现代应用模型。
-
UI框架创新:XAML UI框架提供了强大的布局系统、数据绑定和样式机制,影响了后续的多个UI框架。
-
设计语言革新:从Metro到Modern UI再到Fluent Design,推动了数字界面设计语言的发展。
-
自适应设计:早于移动行业引入了真正的响应式设计框架,支持多种设备和输入模式。
-
应用打包与分发:APPX/MSIX包格式和相关技术简化了应用分发和更新,提高了安全性。
UWP的局限与教训
UWP的发展也暴露了一些平台战略和技术选择的问题:
-
过于激进的平台转型:试图一次性替代Win32生态系统,低估了平台迁移的复杂性。
-
移动战略失败的影响:Windows Phone/Mobile战略失败极大削弱了UWP的价值主张。
-
封闭生态系统的挑战:强制性Store分发模式限制了专业和企业应用场景。
-
平台转向频繁:微软多次调整平台战略,给开发者造成疲劳和困惑。
-
初期功能局限:早期版本功能不足,未能提供足够的理由让开发者迁移。
UWP在Windows发展中的历史地位
UWP在Windows平台发展历史中占据重要位置:
-
过渡技术的角色:UWP实际上扮演了Windows从传统桌面平台向现代应用平台过渡的桥梁角色。
-
技术实验平台:很多现代Windows技术首先在UWP中试验,然后扩展到更广泛的Windows生态系统。
-
设计语言的载体:UWP是微软现代设计语言演进的主要载体,从Metro到Fluent Design。
-
Windows as a Service模式的先驱:UWP应用模型率先采用了与操作系统解耦的API提供方式。
未来展望
UWP技术的继承与发展
尽管"纯UWP"作为独立平台的概念正在淡化,但UWP的许多技术元素将继续在微软生态系统中发展:
-
Windows App SDK:将继续整合UWP的优势部分,为所有Windows应用提供现代化能力。
-
WinUI:作为从UWP UI框架演进而来的技术,将成为Windows的主要UI框架。
-
MSIX:源自UWP的现代包装格式,将继续服务于Windows应用分发。
-
跨平台扩展:借助.NET MAUI,UWP的一些概念和设计模式将扩展到其他平台。
Windows平台统一的前景
微软的平台战略现在明确转向了Windows应用平台的统一:
-
API统一:通过Windows App SDK统一Win32和UWP API。
-
UI框架统一:通过WinUI为所有Windows应用提供一致的UI框架。
-
设计语言统一:Fluent Design成为所有微软产品的统一设计语言。
-
开发工具统一:Visual Studio和相关工具为各类Windows应用提供一致的开发体验。
开发者生态系统的变化
Windows开发者生态系统正在经历深刻变化:
-
从平台分割到技术选择:开发者不再面临"Win32还是UWP"的二元选择,而是可以根据需要混合使用技术。
-
渐进式现代化:允许现有应用逐步采用现代特性,而不是完全重写。
-
开源与社区参与:微软越来越多地通过开源和社区合作开发Windows平台技术。
-
跨平台思维:随着微软拥抱跨平台战略,Windows开发越来越多地考虑与其他平台的互操作性。
结论
通用Windows平台(UWP)的发展历程反映了微软在移动化和现代应用时代的平台战略演变。从Windows 8的Metro应用到Windows 10的UWP,再到如今的Windows App SDK,微软一直在寻求平衡创新与兼容、现代化与稳定性之间的关系。
尽管UWP作为独立平台的重要性正在减弱,但它引入的许多技术创新和设计理念已经深刻影响了Windows生态系统,并将继续通过Windows App SDK和WinUI等技术影响未来的Windows应用开发。
UWP的故事告诉我们,平台演进是一个渐进的过程,需要尊重现有生态系统,并为开发者提供明确的价值和迁移路径。微软通过从UWP的经验中学习,正在构建一个更加统一、开放和灵活的Windows开发平台,这或许正是UWP最重要的遗产。
相关文章:
UWP发展历程
通用Windows平台(UWP)发展历程 引言 通用Windows平台(Universal Windows Platform, UWP)是微软为实现"一次编写,处处运行"的愿景而打造的现代应用程序平台。作为微软统一Windows生态系统的核心战略组成部分,UWP代表了从传统Win32应用向现代应…...
数据库相关概念,关系型数据库的核心要素,MySQL(特点,安装,环境变量配置,启动,停止,客户端连接),数据模型
目录 数据库相关概念 MySQL(特点,安装,环境变量配置,启动和停止,客户端连接) MySQL数据库的特点 Windows下安装MySQL MySQL 8.0.36(安装版) MySQL安装 配置Path环境变量 MySQ…...
Facebook隐私保护:从技术到伦理的探索
在这个数字化时代,隐私保护已成为公众关注的焦点。Facebook,作为全球最大的社交媒体平台之一,其用户隐私保护问题更是引起了广泛的讨论。本文将从技术层面和伦理层面探讨 Facebook 在隐私保护方面的努力和挑战。 技术层面的隐私保护 在技术…...
三维点拟合平面ransac c++
理论 平面的一般定义 在三维空间中,一个平面可以由两个要素唯一确定: 法向量 n(a,b,c):垂直于平面的方向 平面上一点 平面上任意一点 p(x,y,z) 满足: ( p − p 0 ) ∗ n 0 (p - p0) * n 0 (p−p0)∗n0 即 a ( x − x 0 ) …...
香港服务器CPU对比:Intel E3与E5系列核心区别与使用场景
香港服务器的 CPU 配置(核心数与主频)直接决定了其并发处理能力和数据运算效率,例如高频多核处理器可显著提升多线程任务响应速度。在实际业务场景中,不同负载需求对 CPU 架构的要求存在显著差异——以 Intel E3 和 E5 系列为例,由于两者在性…...
ChatGPT-o3辅助学术大纲效果如何?
目录 1 引言 2 背景综述 2.1 自动驾驶雷达感知 2.2 生成模型演进:从 GAN 到 Diffusion 3 相关工作 3.1 雷达点云增强与超分辨率 3.2 扩散模型在数据增广中的应用 4 方法论 4.1 问题定义与总览 4.2 数据预处理与雷达→体素表示 4.3 潜在体素扩散网络&…...
AI大模型API文档的核心内容概述,以通用框架和典型实现为例
以下是AI大模型API文档的核心内容概述,以通用框架和典型实现为例: 一、API基础架构 1. 基础信息 API类型:RESTful API或gRPC(如阿里云通义千问支持HTTPS接口)请求方式:通常为POST方法基础URL:…...
使用pnpm第一次运行项目报错 ERR_PNPM_NO_PKG_MANIFEST No package.json found in E:\
开始用unibestpnpm写一个小程序 运行pnpm init报错 如标题所示没有package.json这个文件 博主犯了一个很愚蠢的错误。。 准备方案手动创建一个json文件 此时才发现没到根目录下,创建了一个项目之后就没有切入文件夹里。 切入根目录再下载就成功啦...
单线服务器有什么优点
单线服务器是一个普遍存在的术语,它是指一种服务器连接互联网时只使用一个物理线路的服务器。简单来说,就是使用一条网络线路的服务器,上传和下载的数据都通过一个通道实现。在当今数字化的时代,服务器的选择至关重要。今天&#…...
手持式三维扫描设备赋能智能汽车制造
随着电动化与智能化趋势的加速,传统逆向工程手段已难以满足复杂零部件的建模需求。 3D逆向建模技术,为汽车制造企业提供高效、精准的数字化解决方案。 传统汽车零部件的尺寸检测与建模依赖三坐标测量机(CMM)或人工测绘&#…...
FA-YOLO:基于FMDS与AGMF的高效目标检测算法解析
本文《FA-YOLO: Research On Efficient Feature Selection YOLO Improved Algorithm Based On FMDS and AGMF Modules》针对YOLO系列在特征融合与动态调整上的不足,提出两种创新模块:FMDS(细粒度多尺度动态选择模块)和AGMF(自适应门控多分支聚焦融合模块)。论文结构…...
Hutool之DateUtil:让Java日期处理变得更加简单
前言 在Java开发中,日期和时间的处理是一个常见问题。为了简化这个过程,许多开发者会使用第三方工具包,如Hutool。Hutool是一个Java工具包,提供了许多实用的功能,其中之一就是日期处理。日期时间工具类是Hutool的核心包…...
Ambari 中移除/重装 yarn 集群中的 NodeManager 节点
文章目录 背景分析解决分析:现有 NodeManager 情况移除:240 服务器上的 NodeManager重新安装:240 服务器上的安装 NodeManager疑问为什么直接添加就可以运行?参考背景 项目中有Spark应用,主要在 yarn 集群中部署。 现在发现 yarn 集群中的节点资源过剩,需要将部分节点移…...
小程序在 skyline 下如何开启多行省略
参考:https://developers.weixin.qq.com/community/develop/doc/000a648baacca06e83f1034d66c000 前言 小程序在 skyline 下不支持 line-clamp,想要开启多行省略使用 text 组件的 max-lines 结合 overflow 属性。 解决办法:skyline 下不支…...
uni.createInnerAudioContext踩坑duration在真机环境一直为0
解决 uni.createInnerAudioContext 的 duration 在真机环境一直为 0 的问题 在使用 uni.createInnerAudioContext 播放音频时,开发者可能会遇到以下问题: duration 在真机环境中一直为 0:即使音频文件是正常的,duration 属性也无法正确获取音频的时长。音频实例未放到全局…...
《MySQL:MySQL数据类型分类》
数据类型分类 数值类 tinyint类型 数值越界测试。 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。 可以通过UNSIGNED来说明某个字段是无符号的。 无符号整型数值越界测试。 如果我们向mysql特定的类型中插入不合法的数据,my…...
Kubernetes》》k8s》》Namespace
Namespace 概述 Namespace(命名空间) 是 Kubernetes 中用于逻辑隔离集群资源的机制,可将同一集群划分为多个虚拟环境,适用于多团队、多项目或多环境(如开发、测试、生产)的场景。 核心作用: 资…...
ZYNQ笔记(八):UART 串口中断
版本:Vivado2020.2(Vitis) 任务:UART串口中断实验,实现串口中断数据回环(接收数据并发送出去) 目录 一、介绍 二、硬件设计 三、软件设计 四、效果 一、介绍 ZYNQ 的 UART(Unive…...
vue3 nprogress 使用
nprogress 介绍与作用 1.nprogress 是一个轻量级的进度条组件,主要用于在页面加载或路由切换时显示一个进度条,提升用户体验。它的原理是通过在页面顶部创建一个 div,并使用 fixed 定位来实现进度条的效果 2.在 Vite Vue 3 项目中…...
相比其他缓存/内存数据库(如 Memcached, Ehcache 等),Redis 在微服务环境中的优势和劣势是什么?
我们来比较一下 Redis 与 Memcached、Hazelcast、Ehcache 等在微服务环境下的优势和劣势。 Redis 的优势 : 丰富的数据结构 (Rich Data Structures): 优势: 这是 Redis 最显著的优势之一。除了简单的 Key-Value (字符串) 外,Redis 还原生支持 Lists, Sets, Sorted …...
生态篇|多总线融合与网关设计
引言 1. 车内多总线概览 2. 主流车载总线技术对比 3. 网关设计原则与架构 4. 协议转换与映射策略 5. 安全与诊断功能集成...
Node做BFF中间层架构优化前端开发体验并提升系统整体性能。
文章目录 1. BFF 层的定位2. 技术选型3. 架构设计3.1 分层设计3.2 示例架构 4. 核心功能实现4.1 数据聚合4.2 权限校验4.3 缓存优化 5、实战示例1. 场景说明2. ECharts 数据格式要求3. BFF 层实现步骤3.1 接收前端参数3.2 调用后端服务获取数据 4. 前端使用 总结 在使用 Node.j…...
基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。
1.首先安装autoware ,大家可以以下一下博客进行安装,如果缺少库什么的直接问ai安装对应的库就行。ubuntu18.04安装Autoware1.14---GPU版 最全环境配置说明_autoware1.14安装教程-CSDN博客 安装成功后运行: source install/setup.bash roslau…...
数据类型相关问题导致的索引失效 | OceanBase SQL 优化实践
背景 针对在OceanBase 论坛中遇到的一些典型SQL调优问题,进行记录与总结,分享给大家。本文介绍的事3个场景:数据类型不匹配、字符集相关属性不匹配,和过滤/联接条件上包含系统函数。 场景一:数据类型不匹配 类型不匹…...
云计算(Cloud Computing)概述——从AWS开始
李升伟 编译 无需正式介绍亚马逊网络服务(Amazon Web Services,简称AWS)。作为行业领先的云服务提供商,AWS为全球开发者提供了超过170项随时可用的服务。 例如,Adobe能够独立于IT团队开发和更新软件。通过AWS的服务&…...
UE学习记录part18
225 animation blueprint templates: generic animation blueprints 在Animation Blueprint中选择template生成动画蓝图模板 在function中选择blurprintthreadsafeupdateanimation,用于做数据的更新 先创建变量,再将变量再blueprintinitializeanimation…...
刀片服务器的散热构造方式
刀片服务器的散热构造是其高密度、高性能设计的核心挑战之一。其散热系统需在有限空间内高效处理多个刀片模块产生的集中热量,同时兼顾能耗、噪音和可靠性。以下从模块化架构、核心散热技术、典型方案对比、厂商差异及未来趋势等方面展开分析: 一、模块化散热架构 刀片服务器…...
算法01-最小生成树prim算法
最小生成树prim算法 题源:代码随想录卡哥的题 链接:https://kamacoder.com/problempage.php?pid1053 时间:2025-04-18 难度:4⭐ 题目: 1. 题目描述: 在世界的某个区域,有一些分散的神秘岛屿&…...
【每日八股】复习计算机网络 Day1:TCP 的头部结构 + TCP 确保可靠传输 + TCP 的三次握手
文章目录 复习计算机网络 Day1TCP 的头部结构TCP 如何保证可靠传输?1. 数据完整性保障2. 顺序与去重控制3. 流量与拥塞控制4. 连接控制5. 其他辅助机制TCP 可靠传输的保障手段总结 TCP 的三次握手?TCP 为什么要三次握手?TCP 三次握手出现报文…...
device_fingerprint、device_id、hmac生成
文章目录 1. 写在前面2. 设备信息3. 数美指纹 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…...
