关闭

深入了解.NET中的ValueStopwatch计时器

  概述:ValueStopwatch是.NET中轻量级计时器,用于高性能时间测量。作为值类型,避免了装箱拆箱开销,内存占用小。通过简单的使用方法,轻松实现代码块执行时间测量,且相比Stopwatch更为高效。  在.NET中,ValueStopwatch是一个轻量级的计时器类,用...

#
Donet
#
DoNet
分享:

.NET Core的高性能特性及其实践,你学会了吗?

  随着云计算和互联网技术的飞速发展,应用程序对于性能的要求也日益提高。.NET Core,作为微软推出的跨平台开源框架,以其卓越的性能和灵活性,正逐渐成为开发新式云应用程序的首选。本文将深入探讨.NET Core的高性能特性,并通过C#示例代码来展示其在实...

#
Donet
#
DoNet
分享:

聊聊Quartz.NET 实现作业定时调度详解

  Quartz.NET 是一个开源的作业调度库,它可以在你的 .NET 应用程序中用来执行定时任务。Quartz.NET 提供了丰富的调度选项,如简单、复杂和重复的调度需求。它类似于 Java 的 Quartz,但是专为 .NET 环境设计。  Quartz.NET 核心组件  1. Scheduler ...

#
Donet
#
DoNet
分享:

如何更改 .NET 中的默认时区?

  在.NET开发中,处理日期和时间是一个常见的任务。默认情况下,.NET使用系统所在的本地时区来解释和处理DateTime对象。然而,在某些情况下,我们可能需要更改或指定不同的时区来处理时间。本文将介绍如何在.NET中更改默认时区,并提供C#的示例代码。  ...

#
Donet
#
DoNet
分享:

记一次 .NET某工控WPF程序被人恶搞的卡死分析

  一、背景  1. 讲故事  这一期程序故障除了做原理分析,还顺带吐槽一下,熟悉我的朋友都知道我分析dump是免费的,但免费不代表可以滥用我的宝贵时间,我不知道有些人故意恶搞卡死是想干嘛,不得而知,希望后面类似的事情越来越少吧!废话不多说,我...

#
Donet
#
DoNet
分享:

记一次 .NET某工控视觉自动化系统卡死分析(图)

  一、背景  1. 讲故事  今天分享的dump是训练营里一位学员的,从一个啥也不会到现在分析的有模有样,真的是看他成长起来的,调试技术学会了就是真真实实自己的,话不多说,上windbg说话。  二、WinDbg 分析  1. 为什么会卡死  这位学员是从事...

#
Donet
#
DoNet
分享:

记一次 .NET某质量检测中心系统,崩溃分析(图)

  一、背景  1. 讲故事  这些天有点意思,遇到的几个程序故障都是和Windows操作系统或者第三方组件有关系,真的有点无语,今天就带给大家一例 IIS 相关的与大家分享,这是一家国企的.NET程序,出现了崩溃急需分析。  二、WinDbg 分析  1. 为什么...

#
Donet
#
DoNet
分享:

.NET中的数据校验:特性与反射的完美结合

  在.NET开发中,数据校验是一个不可或缺的部分,它确保应用程序接收到的数据是有效和可靠的。为了实现高效且灵活的数据校验,我们可以结合使用特性和反射。这种组合提供了一种声明式的方式来定义和执行校验逻辑,使得代码更加整洁、可维护,并提高了代码...

#
Donet
#
DoNet
分享:

.NET 6:生成单一可执行文件的应用

  在.NET 6中,开发者可以享受到许多新特性和改进,其中之一就是能够更容易地生成单一的可执行文件(也称为“单文件应用”或“自包含应用”)。这种应用将所有依赖项和运行时都打包到一个可执行文件中,从而简化了部署和分发。以下是如何为WinForms应用或...

#
Donet
#
DoNet
分享:

探索.NET中的定时器:选择最适合你的应用场景

  概述:.NET提供多种定时器,如System.Windows.Forms.Timer适用于UI,System.Web.UI.Timer用于Web,System.Diagnostics.Timer用于性能监控,System.Threading.Timer和System.Timers.Timer用于一般定时任务。在.NET 6及以上,还有更直观的System.Threadi...

#
Donet
#
DoNet
分享:

.NET6中的await原理浅析

  在.NET 6中,异步编程已经成为了一种常见的编程模式,特别是在处理I/O操作、网络请求或需要长时间运行的计算任务时。await关键字在异步编程中扮演了核心角色,它使得异步代码的编写变得更为直观和易于理解。本文将深入探讨.NET 6中await的工作原理,并...

#
Donet
#
DoNet
分享:

.NET Core中灵活使用反射的技术实践

  在.NET Core开发中,反射(Reflection)是一种强大的技术,它允许程序在运行时检查类型信息、动态创建和调用类型成员等。反射提供了程序在运行时自我检查和修改的能力,从而增强了程序的灵活性和可扩展性。本文将介绍如何在.NET Core中灵活使用反射技术...

#
Donet
#
DoNet
分享:

聊聊 .NET9 FCall/QCall 调用约定

  前言  FCall/Qcall是托管与非托管之间的调用约定,双方需要一个契约,以弥合彼此的互相/单向调用。  非托管调用约定  先了解下非托管约定,一般有四种,分别为thiscall,stdcall ,cdecl ,fastcall   thiscall:用特定的寄存器传递当前类...

分享:

你知道.NET中的数组在内存中如何布局的吗?

  .NET中的数组在内存中布局是一个复杂的主题,涉及到内存管理、数据结构和性能优化等方面。本文将详细描述.NET中的数组内存布局,包括数组的组织方式、多维数组、数组的物理布局、性能优化以及与值类型和引用类型的关系。  数组的组织方式  在.NET中...

#
Donet
#
DoNet
分享:

.NET8强加密工具有哪些?你知道吗?

  前言  .NET程序由于众所周知的原因,因为它是一个托管中间语言代码,也即是MSIL,天然性的易于被破解。即使是现在的AOT技术,因为通过一个C++的引导程序BootStrap(.Net8的AOT引导程序BootStrap)引导,所以其逆向难度依然是容易级的。了解其加密原理,...

#
Donet
#
DoNet
分享:

.NET Core中生成二维码和识别二维码内容方法

  在.NET Core中生成二维码和识别二维码内容,可以使用ZXing.NET库。ZXing.NET是一个开源的二维码处理库,可以方便地生成和解码二维码。下面是一个示例,演示如何在.NET Core中生成二维码和识别二维码内容。  首先,我们需要在.NET Core项目中添加ZXin...

#
Donet
#
DoNet
分享:

.Net8顶级性能优化:类型转换(图)

  1.前言  .Net8通过各种骚操,把性能提升到了前所未有的高度。超越以往任何版本,也涵盖了后续版本,比如.NET9或许可能没有如此大的性能优化了。本篇来看下它其中的一个优化:类型转换的优化效果。  2.示例  通过类型检查的优化,优化掉某些情况下...

#
Donet
#
DoNet
分享:

记一次 .NET 某工厂无人车调度系统,线程爆高分析(图)

  一:背景  1. 讲故事  前些天有位朋友找到我,说他程序中的线程数爆高,让我帮忙看下怎么回事,这种线程数爆高的情况找问题相对比较容易,就让朋友丢一个dump给我,看看便知。  二:为什么会爆高  1. 查看托管线程  别人说的话不一定是真,得...

#
Donet
#
DoNet
分享:

.NET Core使用SkiaSharp快速生成二维码(图)

  前言  在.NET 6之前我们一直是使用QRCoder来生成二维码(QRCoder是一个非常强大的生成二维码的组件,用到了System.Drawing.Common 包),然后从.NET 6开始,当为非 Windows 操作系统编译引用代码时,平台分析器会发出编译时警告。异常如下:  Syst...

#
Donet
#
DoNet
分享:

.Net GC从空闲列表里面分配对象

  1.前言  空闲列表(free_list)实质上是GC经过垃圾回收之后形成的碎片空间,它的空间可以进行重新分配新的对象。本篇看下它的重新分配过程。  2.概述  当进行一个对象分配的时候,如果是慢速分配(JIT_New)的时候,它会查找空闲列表里面是否有足够的...

#
Donet
#
DoNet
分享:
分享到朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号