C#.Net筑基-泛型T & 协变逆变

博主头像 泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。 ...

【EF Core】DbContext是如何识别出实体集合的

博主头像 在开始之前说明一下,你不要指望阅读完本文后会得到光,就算得到光你也未必能变成迪迦。本文老周仅介绍原理,可以给部分大伙伴们解惑。 咱们都知道,在派生 DbContext 类时,集体类的集合用 DbSet<TEntity> 表示,而咱们最常用的方法是在 DbContext 的派生类中公开 DbSet<T ...

一文搞懂javascript中的var、let、const

博主头像 简介 var, let and const是JavaScript中三种定义变量的方式,它们之间有什么区别呢?这是前端面试中常见的一道题,今天我们来一文说透它。 let和const区别不大,主要是const声明的是常量,不可修改,而let声明的变量是可修改的。所以我们重点放在var和let上。 变量初 ...

以接口肢解bean factory,源码没那么神秘

博主头像 本来昨天在看 spring frame的八股, 看到了IOC部分,但是实在看不懂是什么东西,讲是讲源码部分,但又不完全讲,我想着那我要不自己看一下源码 这是我画的Bean Factory的大致关系图 删去了bean别名管理接口(AliasRegistry)和bean定义接口(BeanDefiniti ...

Spring Boot 集成 tess4j 实现图片识别文本

博主头像 前言 Tesseract 是世界上最知名、应用最广泛的开源 OCR 引擎。它由 Google 积极维护,功能强大,支持多种语言和平台。虽然它在处理理想条件下的印刷文本时表现出色,但其精度会受到图像质量和复杂性的影响。它通常作为核心引擎被集成到各种应用程序、脚本和更大型的系统中,是许多需要文本提取功能 ...

ceph mgr balancer模块执行流程与配置方案

博主头像 随着OSD的更替和集群的扩缩容,PG在OSD的分布会逐渐变的不均衡,导致各OSD的实际容量使用率出现差异,集群整体使用率降低。ceph balancer模块就是通过调整权重或者upmap指定pg映射来让pg分布均匀的模块,分为upmap模式和crush-compat模式,本文基于Pacific版本, ...

32岁入行STM32迟吗?

博主头像 作为一个在嵌入式领域摸爬滚打了近10年的老兵,看到这个问题时心情五味杂陈。32岁入行STM32迟吗?说实话,如果你问我这个问题的时候我还是24岁的小白,我可能会觉得"哇,32岁才开始学单片机,是不是有点晚了?"但现在30岁的我,经历了从机械专业跨界到嵌入式、从打工到创业的全过程后,我想说:兄弟,32 ...

一次 .NET 性能优化之旅:将 GC 压力降低 99%

字数 1128,阅读大约需 6 分钟 一次 .NET 性能优化之旅:将 GC 压力降低 99% 前言:问题的浮现 最近,我使用 ScottPlot 库开发一个频谱分析应用。应用的核心功能之一是实时显示频谱图,这可以看作是一个高频刷新热力图(Heatmap)。然而,在程序运行一段时间后,我注意到整体性 ...

DotTrace系列:7. 诊断 托管和非托管 内存暴涨

博主头像 一:背景 1. 讲故事 分析托管和非托管内存暴涨,很多人潜意识里都会想到抓dump上windbg分析,但我说可以用dottrace同样分析出来,是不是听起来有点让人惊讶,哈哈,其实很正常,它是另辟蹊径采用底层的ETW机制,即开启 windows 底层日志,所以 dottrace 可以做,官方血统的 ...

4.Java SDK源码分析系列笔记-ArrayList

博主头像 目录1. 是什么2. 如何使用3. 原理分析3.1. uml3.2. 构造方法3.3. add方法3.3.1. 确保容量足够容纳新的元素3.3.2. 把元素放入数组最后一个位置3.4. remove方法【按下标删除元素】3.4.1. 把数组index位置之后的数据往前挪3.4.2. 更新size【数 ...

抛砖系列之性能分析工具火焰图

博主头像 六月进入了紧张的996冲刺节奏,一个月下来周围的兄弟们看着都眼神迷离,面色阴沉,着实疲惫。幸运的是最后一个周末通知大家不用继续加班,我也好腾出手来写点东西,长时间停更让人脑袋空空,思来想去决定探索一个之前听说过觉得好玩,但是又没有实践过的东西-火焰图。 何为火焰图 火焰图将一组堆栈跟踪(又名调用堆栈 ...

特殊恢复:oradebug推进Linux平台SCN的值

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。 _MINIMUM_GIGA_SCN方式推进SCN的值 Oracle 12C通过EVENT来 ...

我用这13个工具,让开发效率提升了5倍!

博主头像 前言 在技术快速迭代的今天,开发效率决定了职业天花板的高度。 经过多年的工作经验,我发现顶级程序员都有一个共同点:他们不仅是优秀的编码者,更是工具链的架构师。 本文将分享我实践验证的13大效率神器,助你成为5倍效能的超级开发者。 希望对你会有所帮助。 一、IntelliJ IDEA:开发者的核武器 ...

3.Java SDK源码分析系列笔记-LinkedList

博主头像 目录1. 是什么2. 如何使用3. 原理分析3.1. uml3.2. 构造方法3.2.1. 队列的节点Node3.3. add方法3.3.1. 插入到链表尾部3.3.2. 构造新节点【prev指向尾节点,next为null】3.3.3. 更新尾节点3.3.4. 更新size3.4. addLast方 ...

C++服务开发环境-万事开头难

博主头像 C++服务开发环境-万事开头难 对于开发人员来说,仅仅学习编程语言的语法是不够的,还需要学习这门编程语言对应的构建流程,不然写出来的代码怎么变成程序运行起来呢? 出生较晚的编程语言,如golang、python等,都有对开发者友好的构建工具链,golang开发者仅仅需要花少量时间就能学会go mod ...

<1234···100>