底层aqs源码 深度
idea导入tomcat8源码搭建源码调试环境
从apache tomcat下载tomcat8源码 1.下载到源码后,tomcat默认使用ant作为包管理工具,本地调试时创建pom.xml, 手动创建一个pom.xml放入源码根目录 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ......
mybatis源码-注解sql
Mybatis-注解sql Demo 主启动类 public class MybatisHelloWorld { public static void main(String[] args) throws Exception { String resource = "org/mybatis/conf ......
重构SeleniumeDownloader底层浏览器驱动
一、解决bug:Selenium with PhantomJS,重构SeleniumeDownloader底层浏览器驱动 0、小背景: 想爬取外网steam的数据,但是steam官网在海外,加上steam处于反爬考虑,对于异步数据-json数据进行处理,导致如果直接去拿人家的ajax接口作为请求ur ......
代码优化与程序加速指南——针对数值优化和深度学习领域
背景 当需要处理规模较大、任务较复杂的优化问题或训练神经网络时,我们经常会遇到程序运行时间长或无法完成的情况。然而,这不一定是由于问题规模大或计算机硬件能力的限制。即使尝试使用更高性能的服务器或计算机,也不能保证能够有效地加速代码运行。因为高性能的硬件通常需要与为高性能计算而设计的代码相匹配。 本文 ......
Masa Framework源码解读-02缓存模块(分布式缓存进阶之多级缓存)
序言 今天这篇文章来看看Masa Framework的缓存设计,上一篇文章中说到的MasaFactory的应用也会在这章节出现。文章中如有错误之处还请指点,咱们话不多说,直入主题。 Masa Framework缓存简介 MASA Framework源码地址:https://github.com/ ......
AI 大战 AI,一个深度强化学习多智能体竞赛系统
小伙伴们快看过来!这是一款全新打造的 ⚔️ AI vs. AI ⚔️——深度强化学习多智能体竞赛系统。 这个工具托管在 Space 上,允许我们创建多智能体竞赛。它包含三个元素: 一个带匹配算法的 Space,使用后台任务运行模型战斗。 一个包含结果的 Dataset。 一个获取匹配历史结果和显示模 ......
通过 Pulsar 源码彻底解决重复消费问题
背景 最近真是和 Pulsar 杠上了,业务团队反馈说是线上有个应用消息重复消费。 而且在测试环境是可以稳定复现的,根据经验来看一般能稳定复现的都比较好解决。 定位问题 接着便是定位问题了,根据之前的经验让业务按照这几种情况先排查一下: 通过排查:1,2可以排除了。 没有相关日志 存在异常,但最外层 ......
从源码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 ......
javaEE Web(Tomcat)深度理解 和 Servlet的本质
javaEE Web(Tomcat)深度理解 和 Servlet的本质 每博一文案 我所有的进步,只为更接近你。 上天没有给予人们公平的人生,有人拥有出奇的才能,便有人只能不辞辛苦的攀登阶梯,我默默地守望着一缕光芒,小心翼翼,如掬如束,可若长久凝望,一点会让自己,也受烫灼。 平凡的人生或是悲惨的际遇 ......
C++ 深度优先搜索(DFS) 讲解
1 DFS初步概念 DFS是一种深度搜索算法,它的特点是"不撞南墙不回头",运用递归对不同方向的结果进行搜索。 2 DFS例题-迷宫游戏 2.1 题目描述 这是一个迷宫游戏,有一个$n \times n$的矩阵,矩阵内只能有#或.这两种字符,如果是#则是墙,如果是.则是可以走的路。起点是左上角,终点 ......
通过源码分析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 ......
(原创)多线程并发:AQS源码分析(1)——独占锁的实现原理
谈到java中的并发,我们就避不开线程之间的同步和协作问题,谈到线程同步和协作我们就不能不谈谈jdk中提供的AbstractQueuedSynchronizer(翻译过来就是抽象的队列同步器)机制; (一)、AQS中的state和Node含义: AQS中提供了一个int volatile state ......
(原创)多线程并发:AQS源码分析(2)——共享锁的实现原理
在上一篇文章多线程并发(一)中我们通过acquire()详细地分析了AQS中的独占锁的获取流程,提到独占锁,自然少不了共享锁,所以我们这边文章就以AQS中的acquireShared()方法为例,来分析下并发编程中共享锁的获取与释放吧,获取共享锁的大体流程和获取独占锁一样,但是因为共享锁可以被多个线 ......
深度优先搜索算法-dfs讲解
迷宫问题 有一个迷宫: S**. .... ***T (其中字符S表示起点,字符T表示终点,字符*表示墙壁,字符.表示平地。你需要从S出发走到T,每次只能向上下左右相邻的位置移动,不能走出地图,也不能穿过墙壁,每个点只能通过一次。) 现在需要你求出是否可以走出这个迷宫 我们将这个走迷宫过程称为dfs ......
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的源码,并对原始的实现方案进行了优化,总结 ......
基于深度学习的表格检测与识别技术的优势
引言: 信息时代的高速发展导致数据的大量产生与频繁传输,单单依靠人力很难处理这些数据。依托于人工智能的兴起与发展,数据的利用变得更加高效。表格作为数据的一种重要载体,是人们为了让数据的组织形式更加标准和结构化而使用的一种数据类型。 表格的特点: 信息高度精炼集中,方便信息的检索和比较。表格被广泛用于 ......