<?xml version="1.0" encoding="utf-16"?><rss version="2.0"><channel><title>HueiFeng</title><description>冯辉,HueiFeng,.NET,.NET Core,Docker,k8s</description><link>https://hueifeng.azurewebsites.net/</link><pubDate>Tue, 07 Apr 2026 19:57:55 GMT</pubDate><copyright>(c) {year} Moonglade</copyright><generator>Moonglade v11.2-preview</generator><item><title>把 Kubernetes 的调度思想带入 .NET：开源分布式任务框架 KubeJob 正式发布！</title><link>https://hueifeng.azurewebsites.net/post/2026/3/7/bringing-kubernetes-scheduling-to-dotnet-with-kubejob</link><description>背景与痛点：我们为什么又造了一个“轮子”？
在 .NET 生态中，提到后台任务调度，我们通常会想到 Quartz.NET、Hangfire 或者是 ASP.NET Core 自带的 BackgroundService。它们都非常优秀，但在现代云原生和微服务架构下，我们有时会面临一些新的挑战：
原生定时器的局限：简单的 Timer 或 IHostedService 缺乏分布式协调能力，多实例部署时容易导致任务重复执行，且没有可视化界面监控状态。
传统框架的厚重：某些成熟的调度框架与特定存储或设计模式深度绑定，对于只需要轻量级分布式调度和可视化管理的团队来说，接入成本较高。
缺乏现代化的调度策略：在集群环境中，我们往往希望任务能像 Kubernetes 调度 Pod 一样，具有“节点标签选择 (Node Selector)”、“广播执行 (Broadcast)”、“分片执行 (Sharded) …</description><author>695979933@qq.com</author><category>.NET</category><category>C#</category><guid isPermaLink="false">C1B5F49D-A33A-405D-B2A9-E6F2665927D3</guid><pubDate>Sat, 07 Mar 2026 10:31:10 GMT</pubDate></item><item><title>.NET对象的内存布局</title><link>https://hueifeng.azurewebsites.net/post/2023/8/6/dotnet-objectmemory-layout</link><description>在.NET中，理解对象的内存布局是非常重要的，这将帮助我们更好地理解.NET的运行机制和优化代码，本文将介绍.NET中的对象内存布局。
.NET中的数据类型主要分为两类，值类型和引用类型。值类型包括了基本类型（如int、bool、double、char等）、枚举类型（enum）、结构体类型（struct），它们直接存储值。引用类型则包括了类（class）、接口（interface）、委托（delegate）、数组（array）等，它们存储的是值的引用（数据在内存中的地址）。
值类型的内存布局
值类型的内存布局是顺序的，并且是紧凑的。例如，定义的结构体SampleStruct，其中包含了四个int类型字段，每个字段占用4个字节，因此整个SampleStruct结构体在内存中占用16个字节。
public struct SampleStruct
{
    public int Value1; …</description><author>695979933@qq.com</author><category>.NET</category><category>C#</category><guid isPermaLink="false">874735CB-D6B6-4C40-9A8C-0CD9F15E1D5E</guid><pubDate>Sun, 06 Aug 2023 14:14:48 GMT</pubDate></item></channel></rss>