排序
【.NET】ThreadPool 与异步编程:线程池饥饿的排查和预防
前言 异步编程在 .NET 里已经普及多年,但「接口偶发变慢、CPU 不高、线程数却持续上涨」这类问题依然常见,十有八九和线程池饥饿有关。本文把线程池的工作方式、饥饿的成因、常见的阻塞代码模...
NET入门: 使用linq,替代for循环遍历
# .NET入门: 使用linq,替代for循环遍历## ***Part *0**** 为什么要使用linq 🍌我们来看一个简单的需求:```Csharpvar numbers = new List<List<int>>{new List<int>{1,2,3,4}...
【C#教程】RabbitMQ通知订阅模式实现
介绍 RabbitMQ 是一个开源的消息队列中间件,基于 Erlang 语言开发,实现了 AMQP 协议。它通过异步消息传递解耦生产者和消费者,支持可靠的消息持久化、灵活的路由策略(如 direct、topic、fano...
【JavaScript】箭头函数与普通函数的区别
ES6 引入的箭头函数写法更简洁,但它不只是语法糖:箭头函数和普通函数在 this、arguments、构造能力上有本质区别,选错会直接引发 bug。1. 语法形式// 普通函数 function add(a, b) { return a...
【go语言】Go Init函数和main函数
Init函数 go语言中init函数用于包(package)的初始化,该函数是go语言的一个重要特性。 有下面的特征: 1 init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等 2 每个包可以拥...
【ASP.NET CORE】9.Quartz.NET定时任务调度优化
介绍 上一篇我们已经在 HQServer 中完成了 Quartz.NET 定时任务的基础集成,把配置读取、任务定义、任务注册和 HostedService 启动统一封装到了 HQ.Common 层。 第一版可以正常使用,但它更偏向...
【Java】Java基础语法
程序结构 Java文件以.java后缀结尾,类名与Java文件相同,并区分大小写。 public class Main { public static void main(String[] args) { System.out.printf('Hello and welcome!'); for (int ...
【go语言】条件语句switch
条件语句switch 1.1.1. switch 语句 switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。 Golang switch 分支表达式可以是任意类型,不限...
【.NET】System.Text.Json 源生成器:启动快、分配少的序列化
前言 System.Text.Json 从 .NET 6 开始提供源生成器(source generation)模式:编译时生成序列化代码,运行时不再做反射。对启动时间敏感的 CLI 工具、AOT 编译应用和高吞吐 API 服务都有明显...
.NET入门:使调用更简单,扩展方法和泛型方法
# .NET入门:使调用更简单,扩展方法和泛型方法## ***Part *0**** 使用扩展方法,让实例也可以调用通用方法⚓简单介绍一下扩展方法有什么用。我们还是举个例子💦, 我们还是有请🤖GPT为我们生...





