自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 C#垃圾回收(GC)(通俗易懂版)

C#的垃圾回收(GC)机制是.NET运行时自动管理内存的核心功能。GC采用分代回收和标记-压缩算法,通过四个步骤工作:暂停所有线程、标记存活对象、清除垃圾对象、压缩内存空间。内存分为Gen0、Gen1和Gen2三代,90%的垃圾在Gen0被回收。开发者无需手动释放内存,但需注意断开引用,对于非内存资源仍需使用IDisposable接口。GC大幅降低了内存泄漏风险,让开发者更专注于业务逻辑,但高频创建对象或强制GC可能影响性能。理解GC原理有助于编写更高效的代码。

2025-06-16 10:36:22 1330

原创 C# 中 yield 关键字的深度解析:从使用到原理

摘要:yield是C#中简化迭代器实现的关键字,具有延迟执行和自动状态管理两大特性。通过yield return/break实现按需生成数据,编译器会将yield方法转换为状态机类自动保存执行状态。其主要优势在于处理大数据集合时节省内存,实现自定义迭代逻辑和无限序列生成。使用时需注意返回类型限制(IEnumerable/IEnumerator)、不能在匿名方法中使用以及异常处理限制。合理使用yield可显著提升代码可读性和性能,是C#开发中处理迭代问题的利器。

2025-06-15 22:42:42 822

原创 Unity 跨平台实现原理

Unity通过三层技术架构实现跨平台开发:1)中间语言编译机制,将C#代码转为IL后通过Mono或IL2CPP适配各平台;2)平台抽象层统一封装图形、输入等系统接口,屏蔽底层差异;3)原生模块处理平台专属特性。配合自动化资源转换和工具链支持,开发者只需编写一次逻辑即可部署到多个平台。

2025-06-15 10:00:00 1026

原创 Lua 元方法深入解析:__newindex 的原理与实战应用

_newindex是 Lua 元表机制中非常强大的一部分,它让我们能够在表赋值时加入逻辑层,进行拦截、转发、校验等操作。无论是在框架设计、数据建模,还是业务层逻辑中,都有广泛应用。熟练掌握它,能够让你的 Lua 代码更具扩展性与灵活性。

2025-06-14 17:54:15 538

原创 Lua 元方法深入解析:__index 的原理与实战应用

Lua中的__index是元表机制的核心字段,用于处理访问不存在的键时的情况。它可以作为表实现继承功能,或作为函数自定义访问逻辑。文章详细解析了__index的工作原理、三种典型用法(表继承、函数自定义、默认值实现)以及类构造的常见模式,并给出性能优化等注意事项。这种机制为Lua提供了实现OOP、代理模式等高级特性的基础,是提升Lua代码灵活性的关键所在。

2025-06-14 17:14:39 328

原创 解释器(Interpreter)和JIT 编译器(Just-In-Time Compiler)的区别

摘要: 解释器与JIT编译器均能执行代码,但原理迥异。解释器逐行解析字节码,无机器码转换,适合轻量场景(如嵌入式系统),启动快但性能较低;JIT编译器则动态将热点代码编译为本地机器码,后续直接执行,牺牲内存和启动时间换取接近原生代码的性能(如LuaJIT)。典型差异体现在:解释器资源占用少、实现简单,而JIT需复杂编译优化。实际应用中,Lua等解释型语言通过字节码模拟执行,而JIT(如LuaJIT)会分析热点路径生成汇编指令,跳过解释环节大幅提速。选择取决于场景需求——启动速度优先选解释器,性能敏感选JIT

2025-06-13 13:37:54 397

原创 Lua5.1和LuaJIT的区别

Lua5.1和LuaJIT是两个主要Lua实现版本。Lua5.1为标准解释器,而LuaJIT是基于Lua5.1的JIT编译版本,性能显著提升(快5-30倍),并扩展了FFI等功能。LuaJIT优势在于极速执行、优化的内存结构和便捷的C调用接口,但仅兼容Lua5.1特性,不支持新版语法且调试能力受限。Lua5.1适合需要标准兼容性的场景,LuaJIT则适用于高性能需求如服务器开发。选择取决于项目对性能与新特性的需求权衡。

2025-06-13 11:49:57 1100

原创 Rider全局搜索快捷键失效问题

解决安装Rider后,使用Ctrl+Shift+F快捷键调用全局搜索时失效的问题。

2024-04-10 14:43:48 1663 1

原创 Gradle打包报错:Failed to calculate the value of task ‘:unityLibrary:compileReleaseJavaWithJavac‘

Unity项目使用Gradle打包时报如下错误:Failed to calculate the value of task ':unityLibrary:compileReleaseJavaWithJavac' property 'options.generatedSourceOutputDirectory'.

2022-12-19 15:31:35 6658

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除