【.NET新特性·第1篇】.NET 8:统一平台的成熟之作

news2026/5/21 14:39:01
三年磨一剑.NET 8 是微软统一平台战略的首个 LTS 里程碑版本版本定位适用版本.NET 8 | LTS长期支持 支持周期3 年2023.11 - 2026.11 前置知识.NET 6/7 或其他版本的 C# 开发经验背景如果你还在用 .NET 6甚至 .NET Framework你可能会问我现在的版本还能用为什么要升级.NET 8 有什么值得我迁移的理由LTS 和 STS 到底有什么区别这些问题很正常。微软从 .NET 5 开始统一平台到 .NET 8 已经是第四个大版本。.NET 8 的意义在于它是统一平台战略成熟后的第一个 LTS 版本意味着它有足够的稳定性和长达 3 年的支持周期。.NET 8 是什么一句话**.NET 8 是一个统一的开发平台支持构建 Web 应用、桌面应用、移动应用、云原生服务、游戏、IoT 应用和 AI 应用。**版本定位特性说明发布时间2023 年 11 月支持类型LTS长期支持支持周期3 年至 2026 年 11 月C# 版本C# 12优先级推荐生产环境使用LTS vs STS类型全称支持周期适用场景LTSLong Term Support3 年生产环境、企业项目STSStandard Term Support18 个月尝鲜新特性、个人项目.NET 8 是 LTS意味着你可以放心在生产环境中使用微软会提供长达 3 年的安全更新和 bug 修复。.NET 8 核心新特性一览.NET 8 带来了超过 25 项重要改进覆盖性能、语言、Web、安全、AI 等方方面面类别特性简述实用性性能Native AOT 改进更成熟的原生编译支持更多场景⭐⭐⭐⭐⭐性能动态 PGO运行时自动优化热点代码路径⭐⭐⭐⭐性能GC 并发压缩低延迟场景下内存回收更高效⭐⭐⭐⭐性能JIT 编译优化启动速度更快代码质量更高⭐⭐⭐⭐性能System.Text.Json 性能提升 40%序列化/反序列化大幅提速⭐⭐⭐⭐⭐收集FrozenDictionary / FrozenSet构建后不再修改的高性能不可变集合⭐⭐⭐⭐⭐收集SearchValues高性能字符串/字节搜索⭐⭐⭐⭐⭐收集PriorityQueue 改进支持 Remove 和更新优先级⭐⭐⭐⭐时间TimeProvider 抽象时间 API可测试的时间抽象告别 DateTime.Now⭐⭐⭐⭐⭐时间DateOnly / TimeOnly 改进更完善的日期时间处理⭐⭐⭐安全HybridGlobalization混合全球化缩小发布体积⭐⭐⭐⭐安全SHA-3 哈希算法FIPS 合规的新哈希算法⭐⭐⭐AI/硬件Vector512 硬件加速512 位 SIMD 向量操作⭐⭐⭐⭐AI/硬件Tensor 初步支持AI 张量计算基础⭐⭐⭐WebBlazor United统一渲染模型服务端客户端混合⭐⭐⭐⭐⭐WebKeyed Dependency Injection带键的依赖注入⭐⭐⭐⭐⭐WebRate Limiting 中间件内置 API 限流⭐⭐⭐⭐WebMinimal APIs 路由组更好的 API 组织方式⭐⭐⭐⭐WebOpenTelemetry 内置开箱即用的可观测性⭐⭐⭐⭐SDK包体积缩减Trimming更智能的未使用代码裁剪⭐⭐⭐⭐SDKCOM 互操作源生成器源生成方式替代 COM 互操作⭐⭐⭐数据EF Core 8 复杂类型更好的对象关系映射⭐⭐⭐⭐数据EF Core 8 JSON 列映射直接映射 JSON 数据⭐⭐⭐⭐数据EF Core 8 HierarchyId原生层级数据支持⭐⭐⭐移动.NET MAUI 8HybridWebView、性能改进⭐⭐⭐⭐改进验证属性增强更丰富的数据验证注解⭐⭐⭐改进ZipFile 流式压缩大文件不再需要全部加载到内存⭐⭐⭐改进MetadataLoadContext反射分析不再加载实际程序集⭐⭐⭐特性详解1. Native AOT 编译成熟版Native AOT 在 .NET 7 引入预览.NET 8 已经足够成熟用于生产对比项传统部署Native AOT启动时间~200ms~20ms内存占用~50MB~20MB部署体积~60MB~15MB依赖需要 .NET Runtime自包含PropertyGroup PublishAottrue/PublishAot !-- 可选压缩 AOT 二进制 -- PublishTrimmedtrue/PublishTrimmed /PropertyGroup// .NET 8 AOT 支持了更多 API // 包括反射、动态代码等通过源生成器适配 var options new JsonSerializerOptions { TypeInfoResolver MyJsonContext.Default // AOT 兼容的源生成器 }; var user JsonSerializer.Serialize(newUser, options);为什么重要云原生场景下启动速度和内存占用直接影响冷启动成本和弹性伸缩效率。2. 动态 PGOProfile-Guided Optimization.NET 8 的动态 PGO 在运行时自动识别热点代码并优化应用启动 → 运行时收集性能数据 → JIT 识别热点方法 → 重新编译优化版本 → 性能自动提升实际效果场景无 PGO动态 PGO提升Web API 响应基准15~25%显著JSON 序列化基准20%显著LINQ 查询基准10%中等# 启用动态 PGO默认已启用 dotnet publish -c Release # 如需禁用 dotnet publish -c Release -p:EnablePGOfalse为什么重要零代码改动自动获得 15-25% 的性能提升。3. TimeProvider — 可测试的时间抽象告别DateTime.Now的时代// 旧代码 — 难以测试 public class OrderService { public bool IsExpired(Order order) { return DateTime.Now order.ExpiryDate; // 无法 mock } } // .NET 8 — 可测试的时间 public class OrderService(TimeProvider timeProvider) { public bool IsExpired(Order order) { return timeProvider.GetUtcNow() order.ExpiryDate; } } // 单元测试中轻松替换时间 var fakeTime new FakeTimeProvider(); fakeTime.SetUtcNow(new DateTimeOffset(2025, 1, 1, 0, 0, 0, TimeSpan.Zero)); var service new OrderService(fakeTime);旧方式TimeProviderDateTime.NowtimeProvider.GetUtcNow()DateTime.UtcNowtimeProvider.GetLocalNow()Task.Delay(ms)timeProvider.Delay(ms, ct)Thread.Sleep(ms)timeProvider.Wait(ms, ct)无法测试FakeTimeProvider 轻松替换为什么重要所有涉及时间的逻辑都可以精确测试彻底解决时间依赖的测试难题。4. FrozenDictionary / FrozenSet — 冻结集合为构建后只读场景专门优化的集合// 构建阶段 — 普通 Dictionary var configDict new Dictionarystring, int { [timeout] 30, [retries] 3, [batchSize] 100 }; // 冻结 → 查询性能提升 50%内存占用降低 20% var frozenDict configDict.ToFrozenDictionary(); // 冻结后仍可高效查询 int timeout frozenDict[timeout]; // O(1)比 Dictionary 更快 bool hasKey frozenDict.ContainsKey(retries); // 极速查找性能对比1000 个元素的查找测试操作DictionaryFrozenDictionary提升ContainsKey基准-50% 时间2x索引访问基准-30% 时间1.4x内存占用基准-20%更少为什么重要配置表、路由表、查找表等构建一次、查询多次的场景性能直接翻倍。5. SearchValues — 高性能搜索专门为 SpanT 场景设计的高性能搜索 API// 在字节缓冲区中搜索分隔符 var buffer Hello,World;How,Are;Youu8; var separator SearchValues.Create(;,u8); int index buffer.IndexOfAny(separator); // 高效搜索任意字符 // 在字符串中搜索 var text Hello, World! How are you?; var vowels SearchValues.Create(aeiouAEIOU); int firstVowel text.AsSpan().IndexOfAny(vowels);为什么重要HTTP 解析、协议解析、字符串处理等高频场景搜索性能提升 3-5 倍。6. PriorityQueue 改进.NET 8 的 PriorityQueue 新增了 Remove 和优先级更新能力var pq new PriorityQueuestring, int(); pq.Enqueue(task-1, 5); pq.Enqueue(task-2, 3); pq.Enqueue(task-3, 1); // .NET 8 新增移除元素 pq.Remove(task-2, out string removed, out int priority); // removed task-2, priority 3 // .NET 8 新增更新优先级 pq.UpdatePriority(task-1, 1); // 将 task-1 的优先级从 5 降到 1为什么重要任务调度、事件处理等场景终于可以动态管理优先级队列了。7. HybridGlobalization — 混合全球化大幅缩减全球化应用的发布体积PropertyGroup InvariantGlobalizationfalse/InvariantGlobalization !-- 启用混合全球化 -- HybridGlobalizationtrue/HybridGlobalization /PropertyGroup模式ICU 库大小发布体积功能完整全球化~30MB大完整 Unicode 支持InvariantGlobalization0最小无全球化支持混合全球化~2MB小核心功能保留为什么重要移动端和容器化场景下发布体积从 60MB 降到 30MB 左右。8. Vector512 — 512 位硬件加速// .NET 8 支持 512 位 SIMD 向量 if (Vector512.IsHardwareAccelerated) { // 使用 AVX-512 指令集 var v1 Vector512.Create(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f); var v2 Vector512.Create(16.0f, 15.0f, 14.0f, 13.0f, 12.0f, 11.0f, 10.0f, 9.0f, 8.0f, 7.0f, 6.0f, 5.0f, 4.0f, 3.0f, 2.0f, 1.0f); var result Vector512.Add(v1, v2); // 一次处理 16 个 float } // 自动回退到硬件支持的最大宽度 var maxVector Vector.IsHardwareAccelerated ? Vectorfloat.Count // 通常 4 或 8 : 1;为什么重要图像处理、科学计算、AI 推理等场景自动利用最新 CPU 的 SIMD 能力。9. SHA-3 哈希算法// .NET 8 内置 SHA-3 支持FIPS 202 合规 using var sha3_256 SHA3.Create(); byte[] hash sha3_256.ComputeHash(Encoding.UTF8.GetBytes(Hello, .NET 8!)); // 支持多种变体 using var sha3_512 SHA3.Create(); // SHA3-512 using var shake128 SHAKE.Create(SHAKEMode.Shake128, outputLength: 32);为什么重要合规场景金融、政府的首选哈希算法.NET 原生支持无需第三方库。10. System.Text.Json 改进40% 性能提升// .NET 8 JSON 序列化性能提升约 40% var stopwatch Stopwatch.StartNew(); for (int i 0; i 100_000; i) { var json JsonSerializer.Serialize(user); var obj JsonSerializer.DeserializeUser(json); } stopwatch.Stop(); // 比 .NET 7 快约 40% // 新增JSON Schema 生成 JsonSchema schema JsonSchemaExporter.GetJsonSchema(jsonTypeInfo); // 新增枚举值作为字符串序列化全局默认 var options new JsonSerializerOptions { Converters { new JsonStringEnumConverter() } }; // 新增NullValue 反序列化支持 var options2 new JsonSerializerOptions { UnmappedMemberHandling JsonUnmappedMemberHandling.Skip };为什么重要JSON 是 Web API 的核心40% 的性能提升对高吞吐服务影响巨大。11. Blazor United — 统一渲染模型.NET 8 的 Blazor 最大变化一个模型三种渲染方式// Program.cs — 统一配置 builder.Services.AddRazorComponents() .AddInteractiveServerComponents() .AddInteractiveWebAssemblyComponents(); // 组件可以动态选择渲染方式 rendermode InteractiveServer !-- 服务端渲染交互式 -- rendermode InteractiveWebAssembly !-- WebAssembly 渲染 -- rendermode InteractiveAuto !-- 自动选择最佳方式 -- rendermode Static !-- 静态渲染无交互 --渲染模式交互性延迟适用场景Static无最低内容展示页InteractiveServer有~50ms后台管理系统InteractiveWebAssembly有低本地离线应用InteractiveAuto有自适应推荐默认选择为什么重要终于可以按页面选择渲染方式不用在项目初期就做Server vs WASM的二选一决策。12. Keyed Dependency Injection// 注册带键的服务 services.AddKeyedSingletonICache, RedisCache(redis); services.AddKeyedSingletonICache, MemoryCache(memory); services.AddKeyedTransientILogger, FileLogger(file); services.AddKeyedTransientILogger, ConsoleLogger(console); // 三种注入方式 public class ServiceA([FromKeyedServices(redis)] ICache cache) { } public class ServiceB { [FromKeyedServices(memory)] public required ICache Cache { get; init; } } public class ServiceC(IServiceProvider provider) { // 手动获取 var cache provider.GetRequiredKeyedServiceICache(redis); }为什么重要多实现场景不再需要手工写工厂模式DI 容器原生支持。13. Rate Limiting 中间件// 固定窗口限流 builder.Services.AddRateLimiter(options { options.AddFixedWindowLimiter(fixed, opt { opt.PermitLimit 100; // 窗口内最多 100 次 opt.Window TimeSpan.FromMinutes(1); }); options.AddSlidingWindowLimiter(sliding, opt { opt.PermitLimit 100; opt.Window TimeSpan.FromMinutes(1); opt.SegmentsPerWindow 6; // 每分钟分 6 段 }); options.AddTokenBucketLimiter(token, opt { opt.TokenLimit 100; opt.ReplenishmentPeriod TimeSpan.FromSeconds(10); opt.TokensPerPeriod 20; }); }); // 应用限流 app.MapGet(/api/data, HandleRequest) .RequireRateLimiting(fixed);为什么重要API 保护不再需要第三方库框架原生支持三种限流策略。14. Minimal APIs 路由组// 用 RouteGroup 组织 API var users app.MapGroup(/api/users) .WithTags(Users) .RequireAuthorization(); users.MapGet(/, GetAllUsers); users.MapGet(/{id}, GetUserById); users.MapPost(/, CreateUser); users.MapPut(/{id}, UpdateUser); users.MapDelete(/{id}, DeleteUser); // 嵌套分组 var adminUsers users.MapGroup(/admin) .RequireAuthorization(Admin); adminUsers.MapPost(/reset-password, ResetPassword);为什么重要Minimal API 终于有了清晰的组织结构不再需要把所有路由堆在一起。15. .NET MAUI 8 — HybridWebView// HybridWebView在 MAUI 中嵌入 Web 内容 HybridWebView x:NamehybridWebView Srcwwwroot/index.html / // C# 与 JavaScript 双向通信 public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); hybridWebView.InvokeJavaScriptAsync(updateData, new { name .NET 8 }); } [JSInvoked] public void OnDataReceived(string data) { /* JS → C# */ } }为什么重要HybridWebView 解决了 MAUI 中 Web 内容与原生交互的痛点。16. 包体积缩减Trimming 改进PropertyGroup PublishTrimmedtrue/PublishTrimmed !-- .NET 8 改进更智能的裁剪分析 -- TrimModepartial/TrimMode !-- 新增部分裁剪模式 -- /PropertyGroup裁剪模式行为适用场景full裁剪所有未使用的类型AOT 场景partial仅裁剪未使用的成员保留反射能力无不裁剪需要完整反射为什么重要部分裁剪模式在体积和灵活性之间找到了平衡点。17. ZipFile 流式压缩// .NET 8 之前需要完整文件 ZipFile.CreateFromDirectory(src, dst); // 内存占用高 // .NET 8流式处理内存友好 using var archive ZipArchive.Create(); archive.AddEntry(data.csv, stream { // 流式写入不会一次性加载到内存 using var writer new StreamWriter(stream); for (int i 0; i 1_000_000; i) { writer.WriteLine($row {i},value {i * 2}); } }); archive.SaveTo(outputPath);为什么重要大文件压缩不再受内存限制流式处理支持 GB 级别文件。迁移建议从 .NET 6 升级到 .NET 8# 1. 更新 SDK 版本 dotnet --list-sdks # 2. 更新项目文件 # 将 TargetFramework 改为 net8.0 TargetFrameworknet8.0/TargetFramework # 3. 更新 NuGet 包 dotnet list package --outdated # 4. 运行升级助手 dotnet tool install -g dotnet-upgrade-assistant upgrade-assistant analyze .注意事项API 变更部分 API 在 .NET 8 中有 breaking changes包兼容性确保所有 NuGet 包都支持 .NET 8测试覆盖升级后要全面测试AOT 兼容如使用 Native AOT确保反射代码有源生成器替代升级决策树你现在用的版本 → .NET 6 (EOL 2024.11) ↓ 需要 LTS 支持吗 ├── 是 → 升级到 .NET 8推荐 └── 否 → 可以考虑 .NET 9STS 你现在用的版本 → .NET 7 (EOL 2024.5) ↓ 强烈建议升级已结束支持 └── 直接升级到 .NET 8实战场景适合升级的场景项目还在 .NET 6已结束支持需要更好的性能JIT/PGO/GC 优化想要使用 C# 12 新特性计划迁移到云原生架构Aspire AOT需要 Blazor 统一渲染模型可以暂缓的场景项目已在 .NET 8依赖的包还不支持 .NET 8项目稳定运行没有性能问题一句话总结.NET 8 是微软统一平台战略的成熟之作它用 LTS 的稳定性告诉你是时候升级了。官方文档Whats new in .NET 8 — .NET 8 总览Whats new in .NET 8 runtime — 运行时改进Whats new in .NET 8 SDK — SDK 与工具链改进Whats new in .NET 8 libraries — 基础库改进Whats new in C# 12 — C# 12 新特性Whats new in ASP.NET Core 8 — ASP.NET Core 改进Whats new in EF Core 8 — EF Core 改进

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

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

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…