2023年6月15日

CentOs7安装部署Sonar环境(JDK1.8+MySql5.7+sonarqube7.8)

摘要: sonarqube安装前环境准备JDK1.8、MySql5.7。 一、JDK安装 1、下载jdk #打开下面的网址,选择 jdk-8u371-linux-x64.tar.gz 进行下载 (8u371版本可能会有区别,但是没有影响) http://www.oracle.com/technetwork/ 阅读全文

posted @ 2023-06-15 16:18 jack_Meng 阅读(371) 评论(0) 推荐(0) 编辑

.NET7 中Autofac依赖注入整合多层,项目中可直接用

摘要: 目录 一、配置Autofac替换内置DI 二、构造函数注入 三、属性注入 四、批量注入 五、手动获取实例 六、其它用法 1.不用接口,直接注入实例 2.一接口多实现 回到顶部 一、配置Autofac替换内置DI 1.安装Nuget包:Autofac.Extensions.DependencyInje 阅读全文

posted @ 2023-06-15 11:30 jack_Meng 阅读(379) 评论(0) 推荐(0) 编辑

gRPC入门与实操(.NET篇)

摘要: 为什么选择 gRPC# 历史# 长久以来,我们在前后端交互时使用WebApi + JSON方式,后端服务之间调用同样如此(或者更久远之前的WCF + XML方式)。WebApi + JSON 是优选的,很重要的一点是它们两者都是平台无关的三方标准,且足够语义化,便于程序员使用,在异构(前后端、多语言 阅读全文

posted @ 2023-06-15 11:04 jack_Meng 阅读(124) 评论(0) 推荐(0) 编辑

全面的ASP.NET Core Blazor简介和快速入门

摘要: 思维导航 前言 Blazor是什么? Blazor的优势和特点 Blazor的劣势 Blazor支持的平台 Blazor三种托管模型及其各自特点 如何选择要使用的托管模型? Razor语法简述 新建ZeroBlazor空白解决方案 使用VS 2022快速创建Blazor Server应用 使用VS 阅读全文

posted @ 2023-06-15 10:37 jack_Meng 阅读(119) 评论(0) 推荐(0) 编辑

浅谈 .NET 中的对象引用、非托管指针和托管指针

摘要: 目录 前言 一、对象引用 二、值传递和引用传递 三、初识托管指针和非托管指针 四、非托管指针 1、非托管指针不能指向对象引用 2、类成员指针 五、托管指针 前言# 本文主要是以 C# 为例介绍 .NET 中的三种指针类型(本文不包含对于函数指针的介绍):对象引用、非托管指针 、托管指针。 学习是一个 阅读全文

posted @ 2023-06-15 10:26 jack_Meng 阅读(108) 评论(0) 推荐(0) 编辑

理解C#中的闭包

摘要: 1、 闭包的含义# 首先闭包并不是针对某一特定语言的概念,而是一个通用的概念。除了在各个支持函数式编程的语言中,我们会接触到它。一些不支持函数式编程的语言中也能支持闭包(如java8之前的匿名内部类)。 在看过的对于闭包的定义中,个人觉得比较清晰的是在《JavaScript高级程序设计》这本书中看到 阅读全文

posted @ 2023-06-15 10:05 jack_Meng 阅读(615) 评论(0) 推荐(0) 编辑

c#用表达式树实现深拷贝功能

摘要: 因为对表达式树有点兴趣,出于练手的目的,试着写了一个深拷贝的工具库。支持.net standard2.0或.net framework4.5及以上。 GitHub地址https://github.com/blurhkh/DeepCopier nuget地址https://www.nuget.org/ 阅读全文

posted @ 2023-06-15 09:56 jack_Meng 阅读(222) 评论(0) 推荐(0) 编辑

揭秘 Task.Wait

摘要: 目录 简介 背后的实现 Task.Wait 的两个阶段 SpinWait 阶段 BlockingWait 阶段 Task.Wait 可能会导致的问题 可能会导致线程池饥饿 可能会导致死锁 .NET 6 对 Task.Wait 的优化 总结 简介 Task.Wait 是 Task 的一个实例方法,用于 阅读全文

posted @ 2023-06-15 09:50 jack_Meng 阅读(202) 评论(0) 推荐(0) 编辑

概述 .NET 6 ThreadPool 实现

摘要: 目录 前言 任务的调度 基本调度单元 IThreadPoolWorkItem 实现类的实例。 Task 全局队列 本地队列 偷窃机制 Worker Thread 的生命周期管理 线程注入实验 .NET 5 实验一 默认线程池配置 .NET 5 实验二 调整 ThreadPool 设置 .NET 5 阅读全文

posted @ 2023-06-15 09:49 jack_Meng 阅读(28) 评论(0) 推荐(0) 编辑

LRU缓存替换策略及C#实现

摘要: 目录 LRU缓存替换策略 核心思想 不适用场景 算法基本实现 算法优化 进一步优化 Benchmark LRU缓存替换策略 缓存是一种非常常见的设计,通过将数据缓存到访问速度更快的存储设备中,来提高数据的访问速度,如内存、CPU缓存、硬盘缓存等。 但与缓存的高速相对的是,缓存的成本较高,因此容量往往 阅读全文

posted @ 2023-06-15 09:37 jack_Meng 阅读(48) 评论(0) 推荐(0) 编辑

C#中使用CAS实现无锁算法

摘要: CAS 的基本概念 CAS(Compare-and-Swap)是一种多线程并发编程中常用的原子操作,用于实现多线程间的同步和互斥访问。 它操作通常包含三个参数:一个内存地址(通常是一个共享变量的地址)、期望的旧值和新值。 CompareAndSwap(内存地址,期望的旧值,新值) CAS 操作会比较 阅读全文

posted @ 2023-06-15 09:28 jack_Meng 阅读(74) 评论(0) 推荐(1) 编辑

一个支持WinForms换肤的开源组件

摘要: 推荐一个一键换肤的WinForms皮肤组件。 项目简介 这是一个支持自定义WinForms窗口、控件颜色、禁用状态、动画效果的皮肤组件。 支持的组件有:多选框、分割线、按钮、文本框、单选按钮、输入框、Tab控件、右键菜单、列表、进度条。 组件只能一键统一更换,不能随意自定义设置主题,有更多需求的,可 阅读全文

posted @ 2023-06-15 08:59 jack_Meng 阅读(130) 评论(0) 推荐(0) 编辑

导航