reentrantlock源码 笔记jdk
计网学习笔记三 MAC与LAN
在上一讲中,我们学习了链路层可以提供的服务😶:framing,link access,reliable delivery,error detection&correction。这一讲我们从link access中的broadcast接入方式深入,学习这种接入方式下的协议,以及衍生出的MAC地址,最 ......
计网学习笔记二 Link Layer Service
在上一周的计网学习了network和Internet的总论。在这一周开始的未来几讲将集中在链路层link layer,并且会有相应的计网lab完成。在这一讲中,我们主要关注链路层提供的服务。 课程资料地址:https://cs.nju.edu.cn/lwz/networks/CH2-Direct%2 ......
通过 Pulsar 源码彻底解决重复消费问题
背景 最近真是和 Pulsar 杠上了,业务团队反馈说是线上有个应用消息重复消费。 而且在测试环境是可以稳定复现的,根据经验来看一般能稳定复现的都比较好解决。 定位问题 接着便是定位问题了,根据之前的经验让业务按照这几种情况先排查一下: 通过排查:1,2可以排除了。 没有相关日志 存在异常,但最外层 ......
Qt 学习笔记 - 第二章 - 添加图片、布局、界面切换
Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始、信号与槽 【本章】Qt 学习笔记 - 第二章 - 添加图片、布局、界面切换 Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口编程 + 程序打包成Windows软件 Qt 学习笔记 - 第四章 - Qt的三驾马车之二 ......
从源码MessageSource的三个实现出发实战spring·i18n国际化
从源码去看MessageSource的几个实现类的源码出发,基于spring的国际化支持,实现国际化的开箱即用,静态文件配置刷新生效以及全局异常国际化处理。 ......
SpringMVC基础源码分析(一)
实现Controller的三种方式分析 每种实现的方式对应的HanderAdapter都不同。 实现Controller接口 该接口对应的HanderAdapter为SimpleControllerHandlerAdapter。 使用案列: public class LeController imp ......
我们为什么要阅读webpack源码
相信很多人都有这个疑问,为什么要阅读源码,仅仅只是一个打包工具,会用不就行了,一些配置项在官网,或者谷歌查一查不就好了吗,诚然在大部分的时候是这样的,但这样在深入时也会遇到以下几种问题。 webpack 配置繁琐,具有 100 多个内置插件,200 多个钩子函数,在保持灵活配置的同时,也把问题抛给了 ......
Gin使用及源码简析
1. Gin简介 前面通过两篇文章分享了Golang HTTP编程的路由分发、请求/响应处理。 Golang HTTP编程及源码解析-路由分发 Golang HTTP编程及源码解析-请求/响应处理 可以看出来Golang原生HTTP编程在路由分组、动态路由及参数读取/验证、构造String/Data ......
Apache HttpClient使用和源码分析
在上文中分析了 HttpURLConnection的用法,功能还是比较简单的,没有什么封装 接下来看看Apache HttpClient是如何封装httpClient的 使用的版本 <dependency> <groupId>org.apache.httpcomponents.client5</gr ......
通过源码分析RocketMQ主从复制原理
RocketMQ是一个纯Java、分布式、队列模型的开源消息中间件,具有高性能、高可靠、高实时、分布式特点。本篇文章通关源码分析深入地介绍了RocketMQ主从复制原理。 ......
深入理解 Python 虚拟机:整型(int)的实现原理及源码剖析
在本篇文章当中主要给大家介绍在 cpython 内部是如何实现整型数据 int 的,主要是分析 int 类型的表示方式,分析 int 类型的巧妙设计。 ......
深入理解 Python 虚拟机:复数(complex)的实现原理及源码剖析
在本篇文章当中主要给大家介绍在 cpython 虚拟机当中是如何实现 复数 complex 这个数据类型的,这个数据类型在 cpython 当中一应该是一个算比较简单的数据类型了,非常容易理解。 ......
OpenMP task construct 实现原理以及源码分析
在本篇文章当中主要给大家介绍在 OpenMP 当中 task 的实现原理,以及他调用的相关的库函数的具体实现。在本篇文章当中最重要的就是理解整个 OpenMP 的运行机制。 ......
深入理解 Python 虚拟机:列表(list)的实现原理及源码剖析
在本篇文章当中主要给大家介绍 cpython 虚拟机当中针对列表的实现,在 Python 中,List 是一种非常常用的数据类型,可以存储任何类型的数据,并且支持各种操作,如添加、删除、查找、切片等,在本篇文章当中将深入去分析这一点是如何实现的。 ......
深入理解 Python 虚拟机:元组(tuple)的实现原理及源码剖析
在本篇文章当中主要给大家介绍 cpython 虚拟机当中针对列表的实现,在 Python 中,tuple 是一种非常常用的数据类型,在本篇文章当中将深入去分析这一点是如何实现的。 ......
深入理解 Python 虚拟机:浮点数(float)的实现原理及源码剖析
深入理解 Python 虚拟机:浮点数(float)的实现原理及源码剖析 在本篇文章当中主要分析在 cpython 虚拟机当中 float 类型的实现原理以及与他相关的一些源代码。 Float 数据结构 在 cpython 虚拟机当中浮点数类型的数据结构定义如下所示: typedef struct ......
组合数学笔记-排列与组合
排列与组合 排列 排列的定义与基本性质 定义 设一个集合 $S$ 中有 $n$ 个元素,从中有序地取出 $m(0\leq m \leq n)$ 个元素排成一列, 称为 $S$ 的一个 $m$ 排列。两个排列相同,当且仅当元素相同且顺序相同。我们记 $\text{P}_n^m$ 、 $\text{A} ......
组合数学笔记-特殊计数数列
特殊计数数列 斐波那契数列 斐波那契数列的定义与基本性质 历史背景 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。 定义 斐波那契数列 $F_n$ 有递推定义 $ ......
VisionPro学习笔记(1)——软件介绍和基本使用
前言 自己使用visionPro已经有段时间了,最近也一直在研究其算子的理论,为了加深印象,计划将自己的学习笔记整理在博客园,当然其官方文档对如何使用及其各种算子都有详细的介绍,所以这里的笔记仅仅为个人加深理解而做,就当是个个人日记,日后也好查找。 !!! 为了方便,大部分图片来自网络,所以如有侵权 ......
(原创)多线程并发:AQS源码分析(1)——独占锁的实现原理
谈到java中的并发,我们就避不开线程之间的同步和协作问题,谈到线程同步和协作我们就不能不谈谈jdk中提供的AbstractQueuedSynchronizer(翻译过来就是抽象的队列同步器)机制; (一)、AQS中的state和Node含义: AQS中提供了一个int volatile state ......
(原创)多线程并发:AQS源码分析(2)——共享锁的实现原理
在上一篇文章多线程并发(一)中我们通过acquire()详细地分析了AQS中的独占锁的获取流程,提到独占锁,自然少不了共享锁,所以我们这边文章就以AQS中的acquireShared()方法为例,来分析下并发编程中共享锁的获取与释放吧,获取共享锁的大体流程和获取独占锁一样,但是因为共享锁可以被多个线 ......
shin-monitor源码分析
在经过两年多的线上沉淀后,将监控代码重新用 TypeScript 编写,删除冗余逻辑,正式开源。 根据 shin-monitor 的目录结构可知,源码集中在 src 目录中。关于监控系统的迭代过程,可以参考专栏。 一、入口 入口文件是 index.ts,旁边的 utils.ts 是一个工具库。 在 ......
【RocketMQ】DLedger选主源码分析
RocketMQ 4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用Raft算法,如果Master节点出现故障,可以自动选举出新的Master进行切换。 Raft协议 R ......
【RocketMQ】Dledger日志复制源码分析
消息存储 在 【RocketMQ】消息的存储一文中提到,Broker收到消息后会调用CommitLog的asyncPutMessage方法写入消息,在DLedger模式下使用的是DLedgerCommitLog,进入asyncPutMessages方法,主要处理逻辑如下: 调用serialize方法 ......
redis georadius源码分析与性能优化
原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
Ansible 多机自动化工具 初学笔记
此文档仅张聪明同学个人笔记;新负责KTH-RPL Cluster GPU的漫漫学习长路 English Docs: official https://docs.ansible.com/ansible/latest/index.html 中文相关文档: https://ansible.leops.cn ......
调式源码解决 seata 报错 can not get cluster name 问题
最近在使用Spring Cloud整合分布式事务seata,项目启动之后,控制台一直报错: can not get cluster name in registry config 'service.vgroupMapping.nacos-provide-order-seata-service-gro ......
[学习笔记]SQL server完全备份指南
@ 本文将介绍如何在日常项目中,对SQL server数据库做备份和还原工作,SQL server的备份/还原机制,详情参见官方文档:备份和还原 Linux 上的 SQL Server 数据库 方式一,使用SQL Server Management Studio 准备工作 连接目标数据库服务器 在目 ......
slate源码解析(一)- 序言
笔者从大学时期就开始接触的前端,在刚去实习的时候就被导师安排去做内网的一个小富文本工具。之后从毕业后干的第一份工作游戏客户端,到现在做着可视化相关的前端工作,都有在做富文本相关的内容。可以说是和**富文本编辑器(Rich Text Editor)**有着不解之缘。 WYSIWYG 如无特别指出,该系 ......