底层linkedlist源码 结构
Pytorch基础-tensor数据结构
torch.Tensor 是一种包含单一数据类型元素的多维矩阵,类似于 numpy 的 array。 Tensor 可以使用 torch.tensor() 转换 Python 的 list 或序列数据生成,生成的是dtype 默认是 torch.FloatTensor。 ......
从源码层面深度剖析Spring循环依赖
作者:郭艳红 以下举例皆针对单例模式讨论 图解参考 https://www.processon.com/view/link/60e3b0ae0e3e74200e2478ce 1、Spring 如何创建Bean? 对于单例Bean来说,在Spring容器整个生命周期内,有且只有一个对象。 Sprin ......
Dubbo架构设计与源码解析(二) 服务注册
作者:黄金 一、Dubbo简介 Dubbo是一款典型的高扩展、高性能、高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题。其核心模块包含 【RPC通信】 和 【服务治理】 ,其中服务治理又分为服务注册与发现、服务容错、负载均衡、流量调度等。今天将重点介绍Dubbo的服务注册与发现。 ......
BST查找结构与折半查找方法的实现与实验比较
简介 作业:查找结构与排序方法 作业题目: BST 查找结构与折半查找方法的实现与实验比较 要求编写程序实现 BST 存储结构的建立(插入)、删除、查找和排序算法; 实现折半查找算法;比较 BST 查找与折半查找方法的时间性能。 作业要求: 1. 设计 BST 的左右链存储结构,并实现 BST 插入 ......
微服务11:熔断、降级的Hystrix实现(附源码)
微服务1:微服务及其演进史 微服务2:微服务全景架构 微服务3:微服务拆分策略 微服务4:服务注册与发现 微服务5:服务注册与发现(实践篇) 微服务6:通信之网关 微服务7:通信之RPC 微服务8:通信之RPC实践篇(附源码) 微服务9:服务治理来保证高可用 微服务10:系统服务熔断、限流 1 介绍 ......
数据结构高阶--八大排序汇总
排序总览 什么是排序? 🔥**排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 ✍️排序的稳定性:**假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j ......
C#多线程(四)并行编程篇之结构化
前言 在前三章中我们的案例大量使用到了Thread这个类,通过其原始API,对其进行创建、启动、中断、中断、终止、取消以及异常处理,这样的写法不仅不够优雅(对接下来这篇,我称其为.NET现代化并行编程体系中出现的API而言),并且大部分的接口都是极度复杂和危险的。很幸运,如今.NET已经提供,并且普 ......
VideoPipe可视化视频结构化框架更新总结(2022-12-9)
项目地址:https://github.com/sherlockchou86/video_pipe_c 往期文章:https://www.cnblogs.com/xiaozhi_5638/p/16857995.html 11月有3个更新,有兴趣的扫码加群交流。 支持推理结果序列化(vp_messag ......
源码解读之TypeScript类型覆盖检测工具type-coverage
因为团队内部开启了一个持续的前端代码质量改进计划,其中一个专项就是TS类型覆盖率,期间用到了type-coverage这个仓库,所以借这篇文章分享一下这个工具,并顺便从源码阅读的角度来分析一下该工具的源码,我自己fork了一个仓库,完成了中文版本的ReadMe文件并对核心代码添加了关键注释,需要的同 ......
探索小程序底层架构原理
双线程架构 在这之前,我们先来思考一个问题,小程序在架构上为什么会选择双线程? 为什么是双线程? 加载及渲染性能 小程序的设计之初就是要求快速,这里的快指的是加载以及渲染。 目前主流的渲染方式有以下3种: Web技术渲染 Native技术渲染 Hybrid技术渲染(同时使用了webview和原生来渲 ......
从源码构建docker-ce
准备环境 准备一台Linux主机,并在上面安装好docker-ce,安装好make,git就可以开始编译工作了。对,就是如此简单,可能你会对此感到异或为啥要装docker,我不是准备编译这个玩意么,为啥不装go,docker不是用go开发的么? 这些疑问会在后面的步骤中解答。 # docker-ce ......
pyqt5制作俄罗斯方块小游戏-----源码解析
一、前言 最近学习pyqt5中文教程时,最后一个例子制作了一个俄罗斯方块小游戏,由于解释的不是很清楚,所以源码有点看不懂,查找网上资料后,大概弄懂了源码的原理。 二、绘制主窗口 将主窗口居中,且设置了一个状态栏来显示三种信息:消除的行数,游戏暂停状态或者游戏结束状态。 class Tetris(QM ......
【深入浅出Spring原理及实战】「源码原理实战」从底层角度去分析研究PropertySourcesPlaceholderConfigurer的原理及实战注入机制
主要有一下xml文件占位符解析和Java的属性@Value的占位符解析配置这两种场景进行分析和实现解析,如下面两种案例。 ......
究竟是谁负了谁,来自底层测试的2022年终总结
前言 说实话坐在椅子前,都想好了,该怎么去写,甚至感觉有好多要写的,但是当我坐在椅子上时,却不知道该怎么开头了,不知道是不是紧张?还是不舍?难道还没有跟过去挥手告别的勇气吗? 当然不是,只是在构思怎么能将自己的2022这一年完美呈现,结果越想越复杂了,所以还是不想了,不如即兴表达,写到哪算哪里,就算 ......
【Java难点攻克】「NIO和内存映射性能提升系列」彻底透析NIO底层的内存映射机制原理与Direct Memory的关系
Java类库中的NIO包相对于IO包来说有一个新功能就是 【内存映射文件】,在业务层面的日常开发过程中并不是经常会使用,但是一旦在处理大文件时是比较理想的提高效率的手段,之前已经在基于API和开发实战角度介绍了相关的大文件读取以及NIO操作的实现,而本文主要想结合操作系统(OS)底层中相关方面的内容... ......
Spring 6 源码编译和高效阅读源码技巧分享
Spring Boot 3 RELEASE版本于2022年11月24日正式发布,其核心框架的 Spring 也在2022年11月16日迎来了从 5.3.x到6.0.x重大版本升级,借着这个机会,更新下 Spring 6 源码编译以及分享下如何高效阅读源码的技巧。 ......
SpringBoot源码学习2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,mybatis如何进行数据库操作)
阅读本文需要spring源码知识,和springboot相关源码知识 对于springboot 整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过 系列文章目录和关于我 涉及到spring ioc原理,可移步学习:Spring源码学习笔记12——总结篇IOC,Bean的生命周 ......
Gorm源码学习-创建行记录
1. 前言 Gorm源码学习系列 Gorm源码学习-数据库连接 此文是Gorm源码学习系列的第二篇,主要梳理下通过Gorm创建表的流程。 2. 创建行记录代码示例 gorm提供了以下几个接口来创建行记录 一次创建一行 func (db *DB) Create(value interface{}) ( ......
一步步带你设计MySQL索引数据结构
前言 MySQL的索引是一个非常重要的知识点,也基本上是面试必考的一个技术点,所以非常重要。那你了解MySQL索引的数据结构是怎么样的吗?为什么要采用这样的数据结构? 现在化身为MySQL的架构师,一步步迭代设计出MySQL的索引结构,保证你再也忘记不了索引的结构了,轻松通过面试。 索引介绍 MyS ......
Mybatis源码解析之执行SQL语句
作者:郑志杰 mybatis 操作数据库的过程 // 第一步:读取mybatis-config.xml配置文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 第二步:构建SqlSes ......
Dubbo架构设计与源码解析(三)责任链模式
作者:周可强 一、责任链模式简介 1、责任链模式定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 ......
RocketMQ Schema——让消息成为流动的结构化数据
RocketMQ Schema 提供了对消息的数据结构托管服务,同时为原生客户端提供了较为丰富的序列化/反序列化 SDK ,补齐了 RocketMQ 在数据治理和业务上下游解耦方面的短板,让数据成为流动的结构化数据,那么快来了解下实现原理吧~ ......
数据结构高阶--AVL(平衡二叉树)(图解+实现)
AVL树(平衡二叉树) 概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此为了解决这个问题,两位俄罗斯的数学家发明了一种方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要 ......
Java阻塞队列中的异类,SynchronousQueue底层实现原理剖析
上篇文章谈到BlockingQueue的使用场景,并重点分析了ArrayBlockingQueue的实现原理,了解到ArrayBlockingQueue底层是基于数组实现的阻塞队列。
但是BlockingQueue的实现类中,有一种阻塞队列比较特殊,就是SynchronousQueue(同步移交队... ......
数据结构初阶--二叉树介绍(基本性质+堆实现顺序结构)
树的基本概念和结构 树的相关概念 **节点的度:**一个节点含有的子树的个数称为该节点的度; 如上图:A的为2 叶节点或终端节点:度为0的节点称为叶节点; 如上图:D、F、G、H为叶节点 **非终端节点或分支节点:**度不为0的节点; 如上图:A、B…等节点为分支节点 **双亲节点或父节点:**若一 ......
Microsoft.IO.RecyclableMemoryStream源码解读
一、RecyclableMemoryStreamManager 源码地址:https://github.com/Microsoft/Microsoft.IO.RecyclableMemoryStream小对象池和大对象池管理、RecyclableMemoryStream创建、各场景的ETW消息\事件 ......
Java实现递归查询树结构
我们在实际开发中,肯定会用到树结构,如部门树、菜单树等等。Java后台利用递归思路进行构建树形结构数据,返回给前端,能以下拉菜单等形式进行展示。今天,咱们就来说说怎么样将List集合转换成TreeList。 一、jar依赖 为了简化代码,引入Lombok的Jar包,可省略实体类set()、get() ......
数据结构高阶--二叉搜索树(原理+实现)
二叉搜索树 概念 二叉搜索树又称为二叉排序树,因为这棵树的中序遍历是有序的。二叉搜索树总结起来有以下几个性质: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于于根节点的值 它的左右子树都是二叉搜索树 这棵树中没有重复的元素 举个例子: 二 ......
数据结构初阶--单链表(讲解+类模板实现)
单链表 **概念:**链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 值得注意的是: 1.链表的在逻辑是连续的,物理上不一定是连续的; 2.现实中节点是从堆上申请的。 链表的实现 链表的单个结点的定义 就像这个图一样,一个空间用了存放数据(数 ......