当前位置: 首页 > news >正文

ASP.NET Core基础 - 简介

目录

一. 简介

A、跨平台性

B、高性能

C、开源性

D、模块化与可扩展性

E、集成现代前端技术

二. ASP.NET 4.x 和 ASP.NET Core 比较

A、架构与平台支持

B、性能

C、开发体验

D、社区支持与生态系统

三. NET 与 .NET Framework 比较

A、概念范围

B、跨平台能力

C、性能和资源管理



一. 简介

ASP.NET Core是微软推出的一个跨平台、高性能、开源的Web应用框架,用于构建现代化的云原生应用。以下是它的一些主要特点和简介:

A、跨平台性

  1. 传统的 ASP.NET 主要运行在 Windows 服务器上,而 ASP.NET Core 打破了这种限制。它可以运行在 Windows、macOS 和 Linux 等操作系统上。这使得开发者在选择服务器操作系统时有了更多的灵活性,能够更好地适应不同的部署环境和需求。例如,一个开发团队可以在开发阶段使用 Windows 进行开发,然后将应用轻松部署到基于 Linux 的云服务器上,以降低成本或满足特定的业务需求。
  2. 这种跨平台特性是通过使用.NET Core 运行时实现的。.NET Core 是一个重新设计的、轻量级的、模块化的.NET 运行时,它针对不同操作系统进行了优化,确保 ASP.NET Core 应用能够在各种平台上高效运行。

B、高性能

  1. ASP.NET Core 采用了一系列优化技术来提高应用的性能和响应速度。其中一个重要的方面是它对请求处理管道的优化。它采用了一种中间件的架构模式,每个中间件组件负责处理请求的一个特定方面,如路由、身份验证、静态文件服务等。这种模块化的设计使得请求处理更加高效,并且可以根据应用的具体需求灵活组合和配置中间件。
  2. 另外,ASP.NET Core 支持异步编程模型。在处理大量并发请求时,异步编程可以显著提高服务器的吞吐量和响应能力,因为它不会阻塞线程等待 I/O 操作完成。例如,当应用从数据库读取数据时,异步方法可以在等待数据库响应的同时,释放线程去处理其他请求,一旦数据库返回结果,再继续处理相应的操作。
  3. 它还对服务器资源的使用进行了优化,减少了内存占用和 CPU 开销。这使得 ASP.NET Core 应用能够在资源有限的环境下(如小型服务器或容器化环境)高效运行,并且能够更好地适应云环境中的弹性伸缩需求。

C、开源性

  1. ASP.NET Core 是一个开源项目,托管在 GitHub 上。这意味着开发者可以访问其源代码,了解框架的内部实现机制,并且可以根据自己的需求对框架进行修改和扩展。开源社区的贡献也为 ASP.NET Core 带来了不断的改进和创新。
  2. 开发者可以参与到 ASP.NET Core 的开发过程中,通过提交问题报告、提出功能建议或直接贡献代码来影响框架的发展方向。同时,开源社区也提供了大量的第三方库和扩展,丰富了 ASP.NET Core 的生态系统。例如,有许多开源的身份验证和授权库、数据库访问库等,可以方便地集成到 ASP.NET Core 应用中。

D、模块化与可扩展性

  1. ASP.NET Core 的设计是高度模块化的。它将不同的功能模块拆分成独立的 NuGet 包,开发者可以根据项目的实际需求选择只引入必要的功能模块,避免了引入不必要的代码和依赖,从而减小应用程序的体积和复杂性。例如,如果一个应用只需要提供基本的 Web API 服务,而不需要使用 Razor Pages 等视图相关的功能,那么就可以不引入相应的包,减少应用的依赖和资源占用。
  2. 框架具有良好的可扩展性。开发者可以通过编写自定义中间件、创建自己的服务或集成第三方组件来扩展 ASP.NET Core 的功能。例如,可以编写一个自定义的中间件来处理特定类型的请求日志记录,或者集成一个第三方的缓存组件来提高应用的性能。这种可扩展性使得 ASP.NET Core 能够适应各种不同的应用场景和需求。

E、集成现代前端技术

  1. ASP.NET Core 能够很好地与现代前端技术集成。它支持单页应用(SPA)框架,如 Angular、React 和 Vue.js 等。通过使用 ASP.NET Core 的 API 端点,可以方便地为前端应用提供数据服务,实现前后端分离的开发模式。
  2. 对于前端资源(如 JavaScript、CSS 文件等)的管理也更加灵活。它可以使用 Bundler and Minifier 等工具对前端资源进行打包和优化,提高页面加载速度。同时,ASP.NET Core 还支持 Webpack 等前端构建工具的集成,方便开发者在开发过程中进行前端代码的构建和调试。

总之,ASP.NET Core 是一个功能强大、灵活且适应现代应用开发需求的 Web 框架,为开发者提供了高效、跨平台的开发环境,适用于构建各种类型的 Web 应用程序,从简单的网站到复杂的企业级应用和大规模的云原生应用。

二. ASP.NET 4.x 和 ASP.NET Core 比较

A、架构与平台支持

  1. ASP.NET 4.x
    • 架构特点:它是基于.NET Framework的传统Web应用框架。在架构上,相对较为成熟和稳定,但与现代的微服务、容器化等理念的结合相对有限。例如,它在处理大规模分布式应用时,可能需要更多的额外配置和工作来适应新的架构模式。
    • 平台支持:主要运行在 Windows 服务器上,对其他操作系统的支持有限。这在一定程度上限制了应用部署的灵活性,尤其是在当前跨平台需求日益增长的情况下。
  2. ASP.NET Core
    • 架构特点:采用了更加现代化的架构设计,具有高度的模块化和可扩展性。它基于.NET Core运行时,遵循微服务架构的理念,能够更好地适应云原生应用的开发需求。例如,可以轻松地将应用拆分成多个独立的服务模块,每个模块可以独立部署和扩展。
    • 平台支持:可以运行在 Windows、macOS和Linux等操作系统上,具有很强的跨平台性。这使得开发团队在选择部署环境时有了更多的选择,能够根据具体需求和成本等因素灵活部署应用,例如可以将应用部署到基于Linux的云服务器上以降低成本。

B、性能

  1. ASP.NET 4.x
    • 在性能方面有一定的表现,但相对 ASP.NET Core 来说,在一些方面存在不足。例如,它对异步编程的支持相对有限,在处理大量并发请求时,可能会因为线程阻塞等问题导致性能瓶颈。当处理高并发的网络请求时,可能会出现服务器响应变慢的情况。
    • 内存管理方面,由于其架构的一些限制,可能在长时间运行时会出现内存占用较高且不易自动优化的情况。例如,在运行一个长时间不间断的Web应用时,可能会随着时间推移出现内存泄漏等问题,影响应用的稳定性和性能。
  2. ASP.NET Core
    • 对性能进行了很多优化。它全面支持异步编程模型,能够在处理大量并发请求时更高效地利用服务器资源。例如,当有大量用户同时访问应用时,ASP.NET Core可以更好地管理线程,不会因为过多的线程阻塞而影响性能,从而提高服务器的吞吐量和响应速度。
    • 在内存管理方面也更加优化,能够更有效地利用内存资源。它采用了更先进的垃圾回收机制和内存分配策略,减少了内存碎片的产生,并且在应用运行过程中能够更及时地回收不再使用的内存,提高了应用的稳定性和性能。例如,在运行一个长时间的在线服务应用时,ASP.NET Core能够保持相对较低且稳定的内存占用。

C、开发体验

  1. ASP.NET 4.x
    • 开发工具和流程相对较为传统。在 Visual Studio 中,虽然有丰富的开发功能和插件支持,但对于一些新的开发理念和技术的集成相对较慢。例如,在采用敏捷开发和持续集成/持续部署(CI/CD)流程时,可能需要更多的手动配置和额外的工具来实现高效的开发和部署流程。
    • 代码结构和项目组织方式相对固定,对于一些新的开发模式(如响应式设计、移动端优先等)的适应可能需要更多的代码调整和重构。例如,当需要将一个基于 ASP.NET 4.x 的传统 Web 应用改造成适应移动端设备的响应式应用时,可能需要对页面布局和代码进行较大规模的修改。
  2. ASP.NET Core
    • 提供了更加现代化和简洁的开发体验。它的项目结构更加清晰和灵活,易于组织和管理代码。例如,通过使用依赖注入等设计模式,代码的可维护性和可测试性得到了很大提高,开发者可以更方便地进行单元测试和集成测试。
    • 在开发工具方面,Visual Studio 对 ASP.NET Core 提供了很好的支持,同时也支持跨平台的开发工具如 Visual Studio Code。这些工具提供了丰富的功能,如智能代码提示、代码重构等,方便开发者进行高效开发。而且,ASP.NET Core 与前端技术的集成更加紧密和便捷,能够更好地支持现代的前端开发框架和技术,方便实现前后端分离的开发模式。

D、社区支持与生态系统

  1. ASP.NET 4.x
    • 由于已经存在了很长时间,有一个相对成熟的社区和丰富的资源。在网上可以找到大量的教程、代码示例和解决方案。然而,随着技术的不断发展,新的功能和改进可能不会再重点关注 ASP.NET 4.x,社区的活跃度可能会逐渐降低。例如,在寻找一些最新的技术解决方案(如与新兴的数据库或云服务集成)时,可能会发现针对 ASP.NET 4.x 的资源相对较少。
    • 生态系统中的第三方库和插件相对丰富,但可能有些库的更新和维护速度会逐渐变慢,因为开发者的重点可能会转向新的技术。例如,一些用于数据可视化的第三方插件可能不会及时更新以支持最新的浏览器或设备。
  2. ASP.NET Core
    • 作为一个较新的技术,社区发展迅速且非常活跃。开发者们积极分享经验和解决方案,并且微软也在不断推动其发展和改进。例如,在 GitHub 等平台上,有大量的开源项目和社区贡献,不断为 ASP.NET Core 增加新的功能和扩展。
    • 生态系统也在不断壮大,有越来越多的第三方库和工具专门针对 ASP.NET Core 进行开发和优化。例如,在身份验证和授权方面,有很多新的库提供了更安全和便捷的解决方案,以适应现代应用的安全需求。同时,与云服务提供商的集成也更加紧密,方便开发者构建基于云的应用。

三. NET 与 .NET Framework 比较

A、概念范围

  1. .NET
    • 它是一个更广泛的概念,涵盖了多个方面。.NET包括了.NET Framework、.NET Core(现已统一到.NET 5及后续版本)以及 Xamarin(用于移动应用开发)等技术。它代表了微软的一个整体开发平台生态系统,旨在支持多种应用程序类型的开发,包括桌面应用、Web应用、移动应用、云服务等。
    • 例如,当我们说“.NET开发”时,可能涉及到使用不同的.NET技术来构建适用于不同场景的应用。比如,用.NET开发一个跨平台的Web应用可能会选择.NET Core(现在的.NET),而开发一个Windows桌面应用可能会考虑传统的.NET Framework或较新的.NET技术。
  2. .NET Framework
    • 是.NET生态系统中的一部分,主要用于构建 Windows 桌面应用和部分服务器端应用。它提供了一个庞大的类库和运行时环境,支持多种编程语言(如C#、VB.NET等)。
    • 例如,许多企业内部的 Windows 应用程序是基于.NET Framework开发的,利用其丰富的功能来实现业务逻辑,如与 Windows 操作系统的深度集成、访问本地资源等。

B、跨平台能力

  1. .NET
    • 随着.NET Core的发展以及后续与.NET的统一(.NET 5及更高版本),.NET具有很强的跨平台能力。可以在 Windows、macOS 和 Linux 等操作系统上运行应用程序。这使得开发人员能够更灵活地选择部署环境,适应不同的业务需求和云服务场景。
    • 例如,一个使用.NET开发的 Web 应用程序可以轻松地部署到基于 Linux 的云服务器上,同时也可以在本地的 Windows 开发环境中进行开发和测试,实现了开发和部署的灵活性。
  2. .NET Framework
    • 主要针对 Windows 平台,虽然在不同版本的 Windows 系统上有较好的兼容性,但对非 Windows 平台的支持非常有限。这限制了基于.NET Framework开发的应用程序在跨平台部署方面的能力。
    • 例如,如果一个应用是基于.NET Framework开发的,要将其部署到 Linux 或 macOS 系统上,会面临很大的困难,甚至可能需要进行大量的代码重构和适配工作。

C、性能和资源管理

  1. .NET
    -.NET(尤其是.NET Core及后续版本)在性能和资源管理方面进行了很多优化。它采用了更高效的垃圾回收机制,能够更好地管理内存,减少内存碎片和提高内存利用率。在处理大量并发请求时,表现出更好的性能和响应能力。
    • 例如,在构建一个高并发的 Web 服务时,.NET能够更有效地利用服务器资源,处理更多的请求,并且在长时间运行时保持稳定的性能。同时,它的启动速度也得到了优化,应用程序能够更快地启动并响应请求。
  2. .NET Framework
    • 在性能和资源管理方面也有一定的优势,但相对较旧的版本可能在一些方面存在不足。例如,某些情况下可能会出现内存占用较高且不易自动优化的情况,尤其是在长时间运行的应用程序中。在处理大量并发请求时,可能不如.NET(如.NET Core)那样高效。
    • 不过,随着.NET Framework的不断更新和改进,一些性能和资源管理方面的问题也得到了一定程度的解决,但总体上与.NET(特别是较新的版本)在这些方面还是存在一些差异。

四、开发体验和技术更新

  1. .NET
    • 提供了现代化的开发体验,支持最新的开发理念和技术趋势。例如,它对容器化(如Docker)的支持非常好,方便应用程序的部署和管理。同时,它与现代的前端技术集成更加紧密,能够更好地实现前后端分离的开发模式。
    • 在技术更新方面,.NET的更新频率相对较高,不断引入新的功能和改进。开发人员可以更快地接触到最新的技术和工具,提高开发效率和应用程序的质量。例如,.NET引入了一些新的语言特性和库,使得代码编写更加简洁和高效。
  2. .NET Framework
    • 开发体验相对较为成熟和稳定,但对于一些新的开发模式和技术趋势的支持可能相对滞后。例如,在适应云原生应用开发、微服务架构等方面,可能需要更多的手动配置和额外的工作。
    • 技术更新相对较慢,虽然微软也会对.NET Framework进行维护和安全更新,但新功能的引入相对较少。这可能导致开发人员在某些情况下需要寻求其他.NET技术来满足新的业务需求和技术要求。

总体而言,.NET是一个更广泛的概念,而.NET Framework是其发展历程中的一部分。随着技术的发展,.NET(特别是.NET Core及后续版本)在跨平台能力、性能、开发体验等方面有了很多改进和优势,逐渐成为更受欢迎的开发选择。然而,对于一些已经基于.NET Framework构建的现有项目,如果迁移成本较高且当前运行稳定,可能会继续维护和使用.NET Framework。但对于新的项目开发,一般会优先考虑使用更先进的.NET技术。

相关文章:

ASP.NET Core基础 - 简介

目录 一. 简介 A、跨平台性 B、高性能 C、开源性 D、模块化与可扩展性 E、集成现代前端技术 二. ASP.NET 4.x 和 ASP.NET Core 比较 A、架构与平台支持 B、性能 C、开发体验 D、社区支持与生态系统 三. NET 与 .NET Framework 比较 A、概念范围 B、跨平台能力 C…...

Flask+LayUI开发手记(一):LayUI表格的前端数据分页展现

用数据表格table展示系统数据,是LayUI的基本功能,编码十分简单,就是通过table.render()渲染,把属性配置好就OK了,十分方便,功能也十分强大。 不过,在实现时,把table的有个功能却理解…...

Vulnhub靶场DC-9练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 发现SQL注入点2. Sqlmap跑数据3. 文件包含4. SSH爆破端口敲门服务5. 提权(写入/etc/passwd) 0x04 总结 0x00 准备 下载链接:https://download.vulnhub.com/dc/DC-9.z…...

Java对象内存布局和对象头

文章目录 面试题Object object new Object() 谈谈你对这句话的理解? 对象在堆内存中存储布局权威定义(周志明老师JVM第三版)对象在堆内存中的存储布局详解对象头的MarkWord源码对象标记源码 对象内存布局(使用JOL证明&#xff09…...

python:基于YOLO框架和遥感图像的目标检测

作者:CSDN _养乐多_ 本文将介绍如何通过YOLO框架和遥感图像进行目标检测的代码。 文章目录 一、数据集下载与格式转换1.1 NWPU VHR-10(73.1 MB)1.2 DIOR(7.06 GB)1.3 配置data.yaml 二、训练三、训练结果 一、数据集…...

DAMA学习笔记(十一)-元数据管理

1.引言 元数据最常见的定义是“关于数据的数据”。它描述了数据本身(如数据库、数据元素、数据模型),数据表示的概念(如业务流程、应用系统、软件代码、技术基础设施),数据与概念之间的联系(关系…...

密码学基本理论

密码学是研究信息安全保护的科学,实现信息的保密性、完整性、可用性以及抗抵赖性 根据密码分析者在破译时已经具备的前提条件,密码分析攻击类型分类: 唯密文攻击:已知密文;未知明文+秘钥已知明文攻击:已知部分明文和密文对;未知秘钥+算法选择明文攻击:已知明文+算法--…...

【深度学习】【语音TTS】vits 论文,Variational Inference Text-to-Speech(1)

代码:https://github.com/jaywalnut310/vits 论文:https://arxiv.org/abs/2106.06103 文章目录 摘要1. 引言2. 方法2.1. 变分推理2.1.1. 概述2.1.2. 重构损失2.1.3. KL散度2.2. 对齐估计2.2.1. 单调对齐搜索2.2.2. 从文本预测时长2.3. 对抗训练2.4. 最终损失2.5. 模型架构2.5…...

javascript中 window 相关知识点以及代码演示

一.了解window 在JavaScript中,window对象是浏览器的全局对象,它不仅代表了浏览器窗口,同时也充当了ECMAScript中的Global对象的角色。因此,深入了解和掌握window对象的属性和方法对于JavaScript开发者来说至关重要。 以下内容将…...

企业社会责任(CSR)国际标准有哪些?

以下是一些常见的企业社会责任(CSR)国际标准和相关体系等: 原则性、指南性标准 ISO 26000《社会责任指南》 :将社会责任归纳为7个核心方面,即公司治理、人权、劳工、环境、公平运营实践、消费者问题以及对社会发展作贡…...

The C programming language (second edition,KR) exercise(CHAPTER 7)

E x c e r c i s e 7 − 1 Excercise\quad 7-1 Excercise7−1: #include <stdio.h> #include <string.h> #include <ctype.h>enum type {LOWER, UPPER };int main(int argc, char *argv[]) {int c, mode = -1;if (stricmp(*argv, "lower.exe") =…...

面向服务架构(SOA)介绍

在汽车电子电气架构还处于分布式时代时&#xff0c;汽车软件的开发方式主要是采用嵌入式软件进行开发&#xff0c;而随着汽车智能化程度的加深&#xff0c;更加复杂且多样的功能需求让汽车软件在复杂度上再上一层。在整车的自动驾驶方面&#xff0c;由于未来高阶自动驾驶能力的…...

关于使用Next遇到的一些新特性

用next之后发现&#xff0c;这是作为全栈比较好用的框架 API 1、app Router 这是目前next官方以及未来推荐的新技术方向 若使用api路由用来管理后端api接口 &#xff08;1&#xff09;此时在app文件夹下创建 api名称目录&#xff08;如 getApiKey&#xff09; &#xff08;…...

Python 爬虫入门(七):requests 库的使用「详细介绍」

Python 爬虫入门&#xff08;七&#xff09;&#xff1a;requests 库的使用「详细介绍」 前言1. 初识 requests1.1 安装 requests 库1.2 发送 GET 请求1.3 发送 POST 请求 2. HTTP 请求详解2.1 请求方法2.2 请求头2.3 请求参数 3. 处理响应3.1 响应内容3.2 响应状态码3.3 响应头…...

两端约束的最优控制问题及其数值解法

问题的基本形式 设 n n n维系统状态房产 x ˙ ( t ) f [ x ( t ) , u ( t ) , t ] \dot{x}(t)f[x(t),u(t),t] x˙(t)f[x(t),u(t),t]&#xff0c;控制向量 u ( t ) ∈ Ω u(t)\in\Omega u(t)∈Ω是分段连续函数&#xff0c; Ω ∈ R m \Omega\in R^m Ω∈Rm是有界闭集&#xf…...

电磁仿真--基本操作-CST-(6)-导线周围磁场

目录 1. 简介 2. 过程 2.1 新建工程 2.2 选择求解器 2.3 设置单位 2.4 设置频率 2.5 绘制导线 2.6 Background 2.7 边界条件 2.8 设置激励源 2.9 查看结果 3. 其他设置 3.1 网格类型 3.2 集总网络元件 3.3 阻抗和导纳矩阵 3.4 自适应网格细化 3.4 提升计算效率…...

用Java手写jvm之模拟方法调用指令invokexxx和方法返回指令xreturn

写在前面 源码 。 本文一起看下方法调用相关的指令invokexxx以及方法返回&#xff08;栈帧弹出线程栈&#xff09;相关的指令xReturn 。 1&#xff1a;正文 因为invokexxx指令和普通的指令不同&#xff0c;会创建一个新的栈帧&#xff0c;并压倒操作数栈中&#xff0c;所以我…...

自定义枚举类型检查

/*** 工单状态&#xff0c;使用字典&#xff1a;order_item_state*/ CheckEnum(nullAble true, enumType OrderItemStateEnum.class) private String workState; 注解类 package com.gdyunst.core.tool.validation;import javax.validation.Constraint; import javax.valid…...

探索四川财谷通抖音小店:安全与信赖的购物新体验

在数字经济蓬勃发展的今天&#xff0c;抖音平台凭借其庞大的用户基础和强大的内容生态&#xff0c;逐渐成为了电商领域的一股不可忽视的力量。其中&#xff0c;四川财谷通抖音小店作为这一浪潮中的佼佼者&#xff0c;不仅以其丰富的商品种类和独特的品牌魅力吸引了众多消费者的…...

systemd-manage系统服务图形化管理工具使用教程

1. systemd-manage介绍 systemd-manage是一个开源的基于systemd服务管理的图形化工具&#xff0c;使用qt图形库进行开发&#xff0c;可以提供服务管理&#xff0c;用户会话&#xff0c;配置文件修改&#xff0c;日志查询&#xff0c;性能分析&#xff0c;进程管理等功能。图形…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...