聊一聊 C# 弱引用 底层是怎么玩的

一:背景 1. 讲故事 最近在分析dump时,发现有程序的卡死和WeakReference有关,在以前只知道怎么用,但不清楚底层逻辑走向是什么样的,借着这个dump的契机来简单研究下。 二:弱引用的玩法 1. 一些基础概念 用过WeakReference的朋友都知道这里面又可以分为弱短和弱长两个概念

Kubernetes 审计(Auditing)

Kubernetes 审计(Auditing),Kubernetes 审计简介,审计策略简介,引入审计,启用审计,记录审计阶段为:ResponseStarted,审计级别为Metadata,apiVersion为group: "" 的日志,只记录audit命名空间里的日志,只记录audit命名空间的...

C++面向对象多级菜单向Arduino的移植

前段时间写了一篇文章《C++面向对象语言自制多级菜单》,文中指出了可以将HeleMenu库进行移植,现已完成技术思路,特此记录。 一、特性 基本与上一篇文章指出的一致,只是将菜单显示和响应函数合二为一 二、代码实现 基本与上一篇文章指出的一致,只是考虑到右值和左值的问题,将形参改为了const类型

Python连接Etcd集群基础教程

1、背景介绍 最近接手了一个项目,项目是使用Python开发的,其中使用到了Etcd,但是项目之前开发的方式,只能够支持单节点连接Etcd,不能够在Etcd节点发生故障时,自动转移。因此需要实现基于现有etcd sdk 开发一个能够实现故障转移的功能,或者更换etcd sdk来实现故障转移等功能。

卷积神经网络-AlexNet

AlexNet 一些前置知识 top-1 和top-5错误率 top-1错误率指的是在最后的n哥预测结果中,只有预测概率最大对应的类别是正确答案才算预测正确。 top-5错误率指的是在最后的n个预测结果中,只要预测概率最大的前五个中含有正确答案就算预测正确。 max-pooling层 最大池化又叫做

人工智能大模型之开源大语言模型汇总(国内外开源项目模型汇总)

人工智能大模型之开源大语言模型汇总(国内外开源项目模型汇总) Large Language Model (LLM) 即大规模语言模型,是一种基于深度学习的自然语言处理模型,它能够学习到自然语言的语法和语义,从而可以生成人类可读的文本。 所谓"语言模型",就是只用来处理语言文字(或者符号体系)的 AI

调用了这么久的JS方法是长在对象、类、值本身还是原型链上?

调用了这么久的JS方法是长在对象、类、值本身还是原型链上? JavaScript这门语言总是能带给我惊喜,在敲代码的时候习以为常的写法,退一步再看看发现自己其实对很多基操只有表面的使用,而从来没思考过为何要这样操作。 今天整理JS代码的时候突然发出灵魂三连问: 为什么有些时候操作对象,可以直接调用对

《软件性能测试分析与调优实践之路》第二版-手稿节选-Mysql数据库性能定位与分析

在做MySQL数据的性能定位前,需要先知道MySQL查询时数据库内部的执行过程。只有弄清SQL的执行过程,才能对执行过程中的每一步的性能做定位分析。如图6-2-1所示。 图6-2-1 从图中可以看到,当查询出数据以后,会将数据先返回给执行器,此时执行器先将结果写到查询缓存里面,这样在下次查询相同的数

MyBatis的逆向工程详细步骤操作

1. MyBatis的逆向工程详细步骤操作 @目录1. MyBatis的逆向工程详细步骤操作2. 逆向工程配置与生成2.1 MyBatis3Simple:基础版,只有基本的增删改查2.1.1 第一步:在pom.xml 中添加逆向工程插件2.1.2 第二步:配置 generatorConfig.xml

java多线程编程:你真的了解线程中断吗?

java.lang.Thread类有一个 interrupt 方法,该方法直接对线程调用。当被interrupt的线程正在sleep或wait时,会抛出 InterruptedException 异常。事实上, interrupt 方法只是改变目标线程的中断状态(interrupt status),...

Rust 基础知识总结

一、所有权规则: Rust中的每一个值都有一个所有者(Owner); 值在任一时刻有且只有一个所有者; 当所有者(变量)离开作用域时,其对应的值被丢弃; 二、Move(转移) 原变量被赋值给其他变量以后,原变量不可用;编译时已知大小的类型除外;如整型; Copy trait; 如果一个值实现了Cop

简单易懂的JSON框架

分享一个由本人编写的JSON框架。 JSON反序列化使用递归方式来解析JSON字符串,不使用任何第三方JAR包,只使用JAVA的反射来创建对象(必须要有无参构造器),赋值,编写反射缓存来提升性能。支持复杂的泛型类型,数组类型等所有类型。(不支持高版本JDK1.8以上的日期类型,如LocalDate,

手把手教你搭建Docker私有仓库Harbor

1、什么是Docker私有仓库 Docker私有仓库是用于存储和管理Docker镜像的私有存储库。Docker默认会有一个公共的仓库Docker Hub,而与Docker Hub不同,私有仓库是受限访问的,只有授权用户才能够上传、下载和管理其中的镜像。这种私有仓库可以部署在本地云环境中,用于组织内部

我所理解的机器学习

(2017年写的博客,搬过来) 断断续续看了几个月的机器学习,我觉得是时候总结一下了。正如题目讲的那样,我只说我所理解的机器学习,我不能保证我理解的都对,很多东西可能是我的误解,但无论说错了什么,我都认。如果有人发现错误,恳请指正,不胜感激。 我不讲算法也不讲公式推导,因为,我从头到尾都没看懂。 我

golang sync.Once 保证某个动作仅执行一次的机制

type Once struct { done atomic.Uint32 m Mutex } 这段代码是 Go 语言标准库中 sync 包的一部分,定义了一个 Once 类型。Once 类型用于确保某个函数只被执行一次。它包含一个 done 原子类型和一个 Mutex 互斥锁。 done 表示动作

AtCoder Beginner Contest 357

ABC357总结 AtCoder Beginner Contest 357 A - Sanitize Hands 翻译 有一瓶消毒剂,正好可以消毒 \(M\) 双手。 \(N\) 名外星人陆续前来消毒双手。 \(i\) 个外星人( \(1 \leq i \leq N\) )有 \(H_i\) 只手,

互联网大厂的缓存策略:抵抗超高并发的秘密武器,已开源!

大家好,我是冰河~~ 最近,有小伙伴私信我:冰哥,我最近出去面试,面试官问我如何设计缓存能让系统在百万级别流量下仍能平稳运行,我当时没回答上来。接着,面试官问我之前的项目是怎么使用缓存的,我说只是缓存了一些数据。当时确实想不到缓存还有哪些用处,估计这次面试是挂了。冰哥,你可以给我讲讲互联网大厂项目是

Centos Stream 10 测试版下载:未来的RHEL10&Rocky Linux 10

简介 最近发现Centos最放出了Stream 10 测试版本,应该是基于Fedora 40构建的。未来红帽会基于此版本构建RHEL 10。 内核版本:6.9.0 Python版本:3.12.2 RHEL系发行版对应关系 Fedora (根发行版-软件实时更新-只支持一年) >>某一版本作为基准版本

芯片产业管理和营销指北(2)—— 产品线经理人事管理

注意:本文是依据 俞志宏 老师的 《我在硅谷管芯片:芯片产品线经理生存指南》 一书阅读后归纳总结得到。可以试做此书的读后感,对芯片产业感兴趣的同僚强烈推荐此书 只要针对管理,不论是向上管理还是向下管理,或者是团队间横向协作。最重要的事情都是明确共同的目标 三个关键问题: 对方怎样通过我们实现在公司里

美团一面:什么是CAS?有什么优缺点?我说我只用过AtomicInteger。。。。

引言 传统的并发控制手段,如使用synchronized关键字或者ReentrantLock等互斥锁机制,虽然能够有效防止资源的竞争冲突,但也可能带来额外的性能开销,如上下文切换、锁竞争导致的线程阻塞等。而此时就出现了一种乐观锁的策略,以其非阻塞、轻量级的特点,在某些场合下能更好地提升并发性能,其中