11 2021 档案

ASP.NET 使用 Dispose 释放资源的四种方法
摘要:Dispose 和 Finalize 是运行的 .NET 和 .NET Core 应用程序释放占用的资源的两种方法。通常,如果应用程序中有非托管资源,应该显式地释放这些资源占用的资源。 由于 Finalize 的非确定性,以及在性能方面的成本很高,因此 Dispose 方法的使用频率远高于 Fina 阅读全文

posted @ 2021-11-24 12:11 编程宝库 阅读(1291) 评论(3) 推荐(3) 编辑

如何解决 ASP.NET Core 中的依赖问题
摘要:依赖性注入是一种技术,它允许我们注入一个特定类的依赖对象,而不是直接创建这些实例。 使用依赖注入的好处显而易见,它通过放松模块间的耦合,来增强系统的可维护性和可测试性。 依赖注入允许我们修改具体实现,而不必改变依赖于它们的依赖类型。 ASP.NET Core 很重视依赖注入技术。ASP.NET Co 阅读全文

posted @ 2021-11-23 10:02 编程宝库 阅读(975) 评论(0) 推荐(1) 编辑

C# 从 UTF-8 流中读取字符串的正确方法
摘要:我们下面的代码是从一个流 stream 中读取 UTF-8 编码的字符串。我们可以先考虑一下其中存在的潜在问题。 string ReadString(Stream stream) { var sb = new StringBuilder(); var buffer = new byte[4096]; 阅读全文

posted @ 2021-11-22 07:56 编程宝库 阅读(1881) 评论(3) 推荐(4) 编辑

Java将增加虚拟线程,挑战Go协程
摘要:我们知道 Go 语言最大亮点之一就是原生支持并发,这得益于 Go 语言的协程机制。一个 go 语句就可以发起一个协程 (goroutin)。协程本质上是一种用户态线程,它不需要操作系统来进行调度,而是由用户程序自行管理和调度。它寄存于线程中,系统开销极小,可以显著的提高性能和并发能力。使用协程的优点 阅读全文

posted @ 2021-11-19 09:17 编程宝库 阅读(894) 评论(0) 推荐(0) 编辑

如何提高C# StringBuilder的性能
摘要:本文探讨使用C# StringBuilder 的最佳实践,用于减少内存分配,提高字符串操作的性能。 在 .NET 中,字符串是不可变的类型。每当你在 .NET 中修改一个字符串对象时,就会在内存中创建一个新的字符串对象来保存新的数据。相比之下,StringBuilder 对象代表了一个可变的字符串, 阅读全文

posted @ 2021-11-18 10:42 编程宝库 阅读(1247) 评论(4) 推荐(11) 编辑

Go iota 原理和源码剖析
摘要:iota 是 Go 语言的一个保留字,用作常量计数器。由于 iota 具有自增特性,所以可以简化数字增长的常量定义。 iota 是一个具有魔法的关键字,往往令初学者难以理解其原理和使用方法。 本文会从书写方法、使用场景、实现原理以及优缺点等各方面剖析 iota 关键字。 1. 书写方法 正确写法: 阅读全文

posted @ 2021-11-17 12:07 编程宝库 阅读(655) 评论(0) 推荐(0) 编辑

数据分片的原则和经验
摘要:本文提供了一些数据分片的一些原则和经验,遵循这些提示,有助于确保数据正确的分片,而不是阻碍你的应用程序的可扩展性。 新的 SaaS 初创公司很少考虑如何扩展他们的应用程序。当然,他们会设想有一天他们会需要扩张,并将纳入计划,但他们很少在早期就为可扩展性设计他们的应用程序。相反,他们更经常关注于完成他 阅读全文

posted @ 2021-11-16 11:15 编程宝库 阅读(684) 评论(0) 推荐(2) 编辑

Go defer 特性和使用场景
摘要:golang 的 defer 语句用于延迟调用。defer 会在当前函数返回之前执行 defer 注册的函数。比如 defer func_defer() 这样语句会让你注册一个函数变量到 defer 的全局链表中,在 defer 语句所在的函数退出之前调用。 defer 可以代替其它语言中 try… 阅读全文

posted @ 2021-11-15 16:28 编程宝库 阅读(427) 评论(0) 推荐(0) 编辑

Go defer 原理和源码剖析
摘要:Go 语言中有一个非常有用的保留字 defer,它可以调用一个函数,该函数的执行被推迟到包裹它的函数返回时执行。 defer 语句调用的函数,要么是因为包裹它的函数执行了 return 语句,到达了函数体的末端,要么是因为对应的 goroutine 发生了 panic。 在实际的 go 语言程序中, 阅读全文

posted @ 2021-11-12 14:11 编程宝库 阅读(517) 评论(0) 推荐(0) 编辑

Go语言并发模型 G源码分析
摘要:Go语言的线程实现模型,有三个核心的元素M、P、G,它们共同支撑起了这个线程模型的框架。其中,G 是 goroutine 的缩写,通常称为 “协程”。关于协程、线程和进程三者的异同,可以参照 “进程、线程和协程的区别”。 每一个 Goroutine 在程序运行期间,都会对应分配一个 g 结构体对象。 阅读全文

posted @ 2021-11-09 15:40 编程宝库 阅读(313) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示