算法 原理md5 md
初探富文本之CRDT协同算法
初探富文本之CRDT协同算法 CRDT的英文全称是Conflict-free Replicated Data Type,最初是由协同文本编辑和移动计算而发展的,现在还被用作在线聊天系统、音频分发平台等等。当前CRDT算法在富文本编辑器领域的协同依旧是典型的场景,常用于作为实现文档协同的底层算法,支持 ......
SOFAJRaft源码阅读(肆)-Netty时间轮算法的实践
SOFAJRaft的定时任务调度器是基于Netty来实现的,所以本文将会基于Netty时间轮算法,然后再结合SOFAJRaft源码进行分析。 @Author:Akai-yuan @更新时间:2023/1/29 1.HashedWheelTimer概览 一个时间轮算法的组成成分图: 一个基于Netty ......
C#开发PACS医学影像三维重建(十四):基于能量模型算法将曲面牙床展开至二维平面
在医学影像领域中,将三维重建中的人体组织展开平铺至二维,用来研判病灶和制定治疗方案的重要手段之一, 它能够将立体曲面所包含的信息更为直观的展示到二维平面上,常用的情景包括: 牙床全景图、平铺血管、骨骼二维化展开(肋骨平铺)。 众所周知,人体牙床正常情况下是有弧度的,无论是从俯视位还是冠状位观察都是不 ......
搞懂设计模式——代理模式 + 原理分析
举个栗子,众所周知,我们是可以在京东上购买机票的。 但机票是航司提供的,我们本质上是代理销售而已。
那为什么航司要让我们代理销售呢?
我们又是如帮他做代理的呢?
别急,本文将展开说说他们之间的关系。。。 ......
从历代GC算法角度刨析ZGC
作者:京东科技 文涛 前言 本文所有介绍仅限于HotSpot虚拟机, 本文先介绍了垃圾回收的必要手段,基于这些手段讲解了历代垃圾回收算法是如何工作的, 每一种算法不会讲的特别详细,只为读者从算法角度理解工作原理,从而引出ZGC,方便读者循序渐进地了解。 GC 是 Garbage Collection ......
【数据结构和算法】Trie树简介及应用详解
Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 ......
Fabric2.x中Raft共识算法核心数据结构
一、共识算法可插拔的代码体现Chain接口 Hyperledger Fabric的共识算法是可插拔的,在代码上体现为Chain接口,所有不同的共识算法均可根据Chain接口进行具体实现,目前fabric支持solo、kafka、raft、sbft等共识算法。Chain接口的代码在fabric/ord ......
OpenMP 线程同步 Construct 实现原理以及源码分析(下)
在上面文章当中我们主要分析了 flush, critical, master 这三个 construct 的实现原理。在本篇文章当中我们将主要分析另外两个 construct : barrier 和 single 。 ......
OpenMP For Construct dynamic 调度方式实现原理和源码分析
在本篇文章当中主要给大家介绍 OpenMp for construct 的实现原理,以及与他相关的动态库函数分析,与 for construct 非常相关的是循环的调度方式,在 OpenMP 当中一共有四种调调方式,auto, dynamic, guided, runtime, 在本篇文章当中主要是... ......
R数据分析:孟德尔随机化中介的原理和实操
中介本身就是回归,基本上我看到的很多的调查性研究中在中介分析的方法部分都不会去提混杂,都是默认一个三角形画好,中介关系就算过去了,这里面默认的逻辑就是前两步回归中的混杂是一样的,计算中介效应的时候就自动消掉了。 但是,实际上对不对,还是有待具体分析的: Traditional, non-instru ......
NAPT网络结构下TCP/UDP/ICMP访问外网原理思考
背景 作为程序员,应该都听说过NAT(Network Address Transfer,网络地址转换)这一技术名词,并或多或少大概知道其原理与作用--NAT是用于解决IPv4地址不够用,保证我们能够在IPv6普及前依然可以正常使用互联网而广泛使用的一个技术,其原理正如其名称所示:其可以将私网IP通过 ......
一文读懂Go Http Server原理
hello大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第二篇,依旧是分析 Http 模块,话不多说,开始。 从一个 Demo 入手 俗话说万事开头难,但用 Go 实现一个 Http Server 真不难,简单到什么程度?起一个 Server,并且能响应请求,算上包名、导入的依赖,甚至空行,也 ......
图解 Andrew 算法求凸包
前言 Andrew 算法可以在 $O(n\log n)$ 的时间复杂度通过单调栈分别求出散点的上凸壳和下凸壳,来求出平面上一些点的凸包。 看懂这篇博客,大家需要掌握: 基础计算几何知识 单调栈 本文中的向量恕不加 $\overrightarrow{}$ 符号。 凸多边形是指所有内角大小都在 $[0, ......
RSA非对称加密算法浅析
说起加密算法,大的分类上,常规区分通常会区分为对称加密与非对称加密两种,两种算法都各有优缺点。然而互联网发展到今天,应用更广的还是非对称加密的方式,而非对称加密中,RSA又首当其中,被广泛运用到各类应用中。本人作为一个标准的Javer,一直对RSA细节没有深入探究,本文算是对该算法的一个浅析,其中涉 ......
用Java写一个分布式缓存——缓存淘汰算法
前言 之前也用过一些缓存中间件,框架,也想着自己是不是也能用Java写一个出来,于是就有了这个想法,打算在写的过程中同步进行总结。 源码:weloe/Java-Distributed-Cache (github.com) 本篇代码: Java-Distributed-Cache/src/main/j ......
不懂编译原理?本文教你从零实现最简编译模型!
简介 前两日我偶然间在 GitHub 上发现了一个项目:the-super-tiny-compiler,官方介绍说这可能是一个最简的编译器。刚好之前学过「编译原理」这门课,我的兴趣一下子就上来了,简单看了一下,这个项目是将一个 Lisp 表达式转化为 C 的表达式的编译器,中间涉及词法分析、语法分析 ......
梯度下降算法 Gradient Descent
梯度下降算法 Gradient Descent 梯度下降算法是一种被广泛使用的优化算法。在读论文的时候碰到了一种参数优化问题: 在函数$F$中有若干参数是不确定的,已知$n$组训练数据,期望找到一组参数使得残差平方和最小。通俗一点地讲就是,选择最合适的参数,使得函数的预测值与真实值最相符。 $${ ......
特定领域知识图谱(Domain-specific KnowledgeGraph:DKG)融合方案:技术知识前置【一】-文本匹配算法、知识融合学术界方案、知识融合业界落地方案、算法测评KG生产质量保障
特定领域知识图谱(Domain-specific KnowledgeGraph:DKG)融合方案:技术知识前置【一】-文本匹配算法、知识融合学术界方案、知识融合业界落地方案、算法测评KG生产质量保障 0.前言 本项目主要围绕着特定领域知识图谱(Domain-specific KnowledgeGra ......
算法竞赛向 C++ Standard Library 使用速查
本文旨在对算法竞赛所需 C++ Standard Library 做一个全面而相对严谨的总结。 全文主要参考以下文档: Containers library - cppreference.com C++ 标准库简介 - OI Wiki 如有能力,阅读原文可获得更深入的了解。 1 STL 算法 均在 ......
表格集算表高性能原理——怎样实现纯前端百万行数据秒级响应
集算表 (Table Sheet)是一个具备高性能渲染、数据绑定功能、公式计算能力的数据表格,通过全新构建的关系型数据管理器结合结构化公式,在高性能表格的基础上提供排序、筛选、样式、行列冻结、自动更新、单元格更新等功能。 什么是集算表(Table Sheet)? 集算表是一个具有网络状行为和电子表格 ......
【深入浅出Seata原理及实战】「入门基础专题」带你透析认识Seata分布式事务服务的原理和流程(1)
分布式事务的背景 随着业务的不断发展,单体架构已经无法满足我们的需求,分布式微服务架构逐渐成为大型互联网平台的首选,但所有使用分布式微服务架构的应用都必须面临一个十分棘手的问题,那就是“分布式事务”问题。 在分布式微服务架构中,几乎所有业务操作都需要多个服务协作才能完成。对于其中的某个服务而言,它的 ......
精华推荐 | 【JVM深层系列】「GC底层调优系列」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)
前提介绍 很多小伙伴,都跟我反馈,说自己总是对JVM这一块的学习和认识不够扎实也不够成熟,因为JVM的一些特性以及运作机制总是混淆以及不确定,导致面试和工作实战中出现了很多的纰漏和短板,解决广大小伙伴痛点,我写了本篇文章,希望可以帮助大家夯实基础和锻造JVM技术功底。 什么是垃圾收集(GC) 在JV ......
【深入浅出Spring原理及实战】「源码调试分析」结合DataSourceRegister深入分析ImportBeanDefinitionRegistrar的源码运作流程
每日一句 人的一生中不可能会一帆风顺,总会遇到一些挫折,当你对生活失去了信心的时候,仔细的看一看、好好回想一下你所遇到的最美好的事情吧,那会让你感觉到生活的美好。 注入案例代码 如何通过实现SpringBoot框架带有的ImportBeanDefinitionRegistrar注册器,注入我们想要注 ......
【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)
承接上文 上一篇文章说到了Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。那么接下来我们将要针对于AT模式下进行分布式事务开发的原理进行介绍以及实战。 Seata AT模式 在AT、TCC、SAGA 和 XA 这四种事务模式中使用最多,最方便的 ......
【Dubbo3终极特性】「云原生三中心架构」带你探索Dubbo3体系下的配置中心和元数据中心、注册中心的原理及开发实战(上)
Dubb3的应用级服务发现 Dubbo3提供了全新的应用级服务发现模型,该模型在设计与实现上区别于 Dubbo2 的接口级服务发现模型。 概括来说,Dubbo3 引入的应用级服务发现主要有以下优势 适配云原生微服务变革。云原生时代的基础设施能力不断向上释放,像 Kubernetes 等平台都集成了微 ......
【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
承接上文 通过之前的【Dubbo3终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(上),让我们对Dubbo3的三中心架构体系有了一定的认识和了解。 Dubbo3的三中心部署架构 回顾一下部署架构(注册中心、配置中心、元数据中心),了解Du ......
【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南
前提概要 在大规模互联网应用中,负载均衡设备是必不可少的组成部分,源于互联网应用的高并 发和大流量的冲击压力场景下,通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库、缓存等等)实现高可用特点和机制。 LVS的介绍说明 官方站点:http://www.linuxvirtuals ......
算法学习笔记(8.1): 网络最大流算法 EK, Dinic, ISAP
网络最大流 前置知识以及更多芝士参考下述链接 网络流合集链接:网络流 最大流,值得是在不超过管道~~(边)~~容量的情况下从源点到汇点最多能到达的流量 抽象一点:使 $\sum_{(S, v) \in E} f(S, v)$ 最大的流函数被称为网络的最大流,此时的流量被称为网络的最大流量 有了最大流 ......
常见限流算法
简介 限流顾名思义是对流量大小进行限制,防止请求数量超过系统的负载能力,导致系统崩溃,起到保护作用。 现实生活中限流也随处可见,节假日出门旅行的人数会剧增,对于旅游景点来说往往会不堪重负,如果不进行人数控制,对整个景点的压力会非常大,游客的体验也会非常差,还容易出现安全事故等危险。 同样的在一线城市 ......
算法学习笔记(5): 最近公共祖先(LCA)
最近公共祖先(LCA) 最近公共祖先是树上的概念,不了解树的出门左转百度:树(数据结构名词)_百度百科 定义 假设我们需要求 x 和 y 的最近公共祖先,这里有多种等价的定义 路径x到y上深度最小的点 x和y公共祖先中深度最大的点 x和y在这棵树上距离最近的公共祖先结点 如果x就是y的祖先,则x本身 ......