E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Rasa3源码剖析
06-Zookeeper选举Leader
源码剖析
上一篇:05-Zookeeper典型使用场景实战一、为什么要看源码提升技术功底:学习源码里的优秀设计思想,比如一些疑难问题的解决思路,还有一些优秀的设计模式,整体提升自己的技术功底深度掌握技术框架:源码看多了,对于一个新技术或框架的掌握速度会有大幅提升,看下框架demo大致就能知道底层的实现,技术框架更新再快也不怕快速定位线上问题:遇到线上问题,特别是框架源码里的问题(比如bug),能够快速定位,
关老头
·
2023-10-12 09:13
Zookeeper从入门到精通
zookeeper
分布式
云原生
java
【有点狂的手撕STL】STL
源码剖析
精读 000
STL
源码剖析
精读前言通过刷题感受到了C++中STL的妙用,十分的想要提高自己对于STL的理解以及运用能力,因此开设此专栏,并希望能够带领大家一起感受C++中STL的魅力。
JYSimilar
·
2023-10-12 05:49
c++
开发语言
Zookeeper源码构建+ 选举leader
源码剖析
1、启动或leader宕机选举流程2、客户端与服务端交互流程(NIO或Netty)3、写入数据的ZAB一致性协议(如何保证消息的顺序性)4、Watch监听触发机制一、从源码启动zookeeper1、启动单机zookeeperzookeeper源码下载地址,选择分支3.5.8:https://github.com/apache/zookeeper.git源码导入idea后,如果org.apache.
萧 炎
·
2023-10-11 23:55
#
zookeeper
Zookeeper选举Leader
源码剖析
(一)
目录1.源码下载2.启动ledaer选举流程1.启动或leader宕机选举流程2.客户端与服务端交互流程(NIO或Netty)3.写入数据的ZAB一致性协议(如何保证消息的顺序性)4.Watch监听触发机制1.源码下载https://github.com/apache/zookeeper.git从代码切入,从zkServer.sh文件切入指定程序参数,启动QuorumPeerMain.java的m
bingtanghulu_6
·
2023-10-11 23:22
java-zookeeper
zookeeper
java
Visual Leak Detector内存泄漏检测机制
源码剖析
VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/125529931C++软件分析工具从入门到
dvlinker
·
2023-10-11 05:16
C/C++技术分享
VLD
内存泄漏检测
源码剖析
堆内存
堆管理
CountDownLatch源码解析
在了解闭锁之前需要先了解AQS,因为CountDownLatch的实现需要依赖于AQS共享锁的实现机制,详细的源码分析参见AQS简介与
源码剖析
。1、Demo示列输出:从上面的列子可以
挨踢男孩
·
2023-10-11 05:32
C/C++编程:trivial和non-trivial
今天看书看到侯捷的《STL
源码剖析
》里提到trivial和non-trivial及POD类型,查了些资料理解了一下。
OceanStar的学习笔记
·
2023-10-10 14:53
C++
Spring IOC
源码剖析
—— IOC 容器初始化主体流程
1、SpringIoC的容器体系IoCro容器时Spring的核心模块,时抽象了对象管理、依赖关系管理的框架解决方案。Spring提供了很多容器,其中BeanFactory时顶层容器,不能被实例化,定义了所有IoC容器必须遵从的一套原则,具体的容器实现可以增加额外的功能。比如:我们常用到的ApplicationContext,其下更具体的实现如ClassPathXmlApplicationCont
小诺。
·
2023-10-10 12:26
Java框架学习笔记
spring
java
后端
Chrome
源码剖析
(一)
原文出处:http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。它使得每个人,无论你来自米国纽约还是中国铁岭,都有机会站在巨人的肩膀上,如果不能,至少也可以抱一把大腿。。。现在我就是来抱大腿的,这条粗腿隶属于Chrome(开源项目
yuanhubilie
·
2023-10-09 13:20
C/C++
源码
Chrome
源码剖析
【序】 && 【一】
原文地址为:Chrome
源码剖析
【序】&&【一】【序】开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。
wangchaoqi1985
·
2023-10-09 13:43
chrome
多线程
源码
Spring
源码剖析
-事务源码之@Transactionl解析
前言在上一章我们分析了Spring的AOP的源码,本篇文章是对事务的源码分析,我们都知道事务的管理是基于AOP实现的,所以有了上一篇的铺垫这一章会比较简单一点。事务的源码我会分两章写,一张写Transcational的解析,一张写事务的执行流程。先上一个图,待会儿可以根据这个图来看源码事务配置案例配置事务管理器,开启注解事务支持...省略...标记方法需要事务publicclassUserServ
墨家巨子@俏如来
·
2023-10-09 00:47
《Spring源码深度剖析》
Spring事务源码
java集合框架Set子接口之HashSet
源码剖析
感兴趣的话大家可以关注一下公众号:猿人刘先生,欢迎大家一起学习,一起进步,一起来交流吧!HashSetHashSet类实现了由哈希表(实际上是HashMap实例)支持的Set接口,底层采用HashMap来保存的数据,存在HashSet中的元素是无序且不重复的并且HashSet是线程不安全的,这种不重复其实是由HashMap实现的,所以HashSet的实现也是相对比较简单的,对于它的操作其实都是调用
lingering fear
·
2023-10-08 06:25
java
java
开发语言
数据结构
Linux编程之epoll示例
基础原理理解请参考这篇:IO-同步,异步,阻塞,非阻塞(亡羊补牢篇)select主要解决的问题:(详细请参考:select用法&原理详解(
源码剖析
))select/epoll区别:如果这篇文章说不清epoll
lanzhihui_
·
2023-10-07 20:47
Linux-C编程
epoll
[STL
源码剖析
] 自增和自减运算符的重载
运算符重载是C++中一个很有用的特性,允许程序员对自定义的类进行运算符重载,使自定义的类能够像int等基本数据类型一样使用。在运算符重载中,自增和自减运算符的重载因为其操作数的问题而呈现出与其它运算符重载不一样的特性。先来看一个自增自减运算符重载的例子#include#include#includeusingnamespacestd;classINT{friendostream&operatorm
luofengmacheng
·
2023-10-06 23:49
C++
c++
STL
[STL
源码剖析
] list中的sort()函数
由于list底层是采用双向循环链表实现的,因此,list的迭代器不能向vector迭代器一样进行随机访问,list的迭代器类型是BidirerctionalIterators,而STL提供的算法sort()只接受RamdonAccessIterator,所以list不能使用STL提供的算法sort(),必须用list自己的成员函数sort()。templatevoidlist::sort(){if
luofengmacheng
·
2023-10-06 23:49
C++
c++
STL
Leetcode 173. 二叉搜索树迭代器
用一个Deque来做容器,虽然STL
源码剖析
上说这个deque能不用最好不用,因为其复杂度比较高,操作起来比较费事,但是图个方便嘛。下面为源码。AC解:classBSTIterator{public
达达达达锅
·
2023-10-06 07:11
Leetcode
Leetcode
Flutter框架启动
源码剖析
入口函数,其主要作用是注入给定的小控件并将其附加到屏幕上。voidrunApp(Widgetapp){WidgetsFlutterBinding.ensureInitialized()..scheduleAttachRootWidget(app)..scheduleWarmUpFrame();}1.初始化一个widgetsBinding的全局单例2.创建跟widget并添加到renderView上
大良造L
·
2023-10-05 08:03
观察者模式-
源码剖析
文章目录1.观察者模式的类图1.1发布者1.2订阅者2.示例代码3.项目源代码剖析3.1观察者抽象基类3.2发布者类基类:模板类3.3ConCrete观察者类:RenderTextField3.4ConCrete发布者类:TextEditController1.观察者模式的类图1.1发布者发布者提供了观察者订阅(注册)以及取消订阅(取消注册)的接口,当事件来临时,发布者会遍历每个订阅者对象,并以此
Alex1_Code
·
2023-10-04 14:23
设计模式
C++
设计模式
动态代理实现
源码剖析
—— 附录: cglib生成代理类
前言本篇主要贴一下cglib生成的代理类源码,详细的分析过程参考动态代理实现
源码剖析
——深入分析cglib动态代理附录附录1packagenet.sf.cglib.proxy;importnet.sf.cglib.core.KeyFactory
想起个帅气的头像
·
2023-10-04 12:37
Android error系列:Unable to add window -- token null is not for an application
二:
源码剖析
-为什么Dialog不能用Application的Context先试一下用Application的上下文来创建Dialog,在调用它的show方法时程序会Crash,LogCat的异常信息如下
许进进
·
2023-10-03 15:23
Android
C++:线上课程3_4——3_5(alloc)
文章目录一、lambda表达式1.mutable关键字2.lambda表达式代码示例二、STL
源码剖析
(项目)1.迭代器2.代码示例3.迭代器相应型别3.1valuetype3.2diefferencetype3.3referencetype3.4pointertype
何小柒(qi)~
·
2023-10-03 09:56
C++(线上)
c++
算法
容器
C++ STL
源码剖析
tr1与std array
C++STL
源码剖析
tr1与stdarray深入底层,层层剖析by光城0.导语
源码剖析
版本为gcc4.9.1。C++tr1全称TechnicalReport1,是针对C++标准库的第一次扩展。
guangcheng0312q
·
2023-10-03 09:54
memcached
源码剖析
源码版本:memcached-1.2.7代码仓库如下:https://gitee.com/jesson-deng/memcached-1.2.7-code-readingmemcached采用多线程的方式(编译可选),主线程负责接收新的连接,接收新的连接,轮流分配给各个子线程进行处理。
Jesson3264
·
2023-10-03 00:09
我的C++进阶之路
其中一部分书已经看过,但是没有系统的学习过,C++primer,effectivec++,C++编程思想,C++设计模式,STL
源码剖析
,C++对象模型……C++沉思录数据结构与算法,以后工作就是这个方向了
FrogView
·
2023-10-02 23:27
个人随笔与感悟
C++
6.19-MyBatis源码—体系介绍和配置文件解析
源码剖析
课程内容主要内容:执行sql的准备底层是JDBDJDBC四大核心对象加载驱动—创建连接—开启事务—获得sql的执行者—执行sqlDriverManager:获取数据库连接【前提需要通过forName注册数据库驱动】ConnectionprepareStatemantResultSetJDBC弊端:mybatis体系结构xml文件【mybatis的主配置文件】—SqlSessionFactoryBu
Comus_j
·
2023-10-02 15:00
Spring
mybatis
oracle
数据库
map和set模拟实现
没有看过红黑树的小伙伴建议先去看看红黑树,如果没了解过map和set的小伙伴也建议先去看一看,博客链接我都放在这里了C++红黑树_KLZUQ的博客-CSDN博客C++-map和set_KLZUQ的博客-CSDN博客目录
源码剖析
代码实现迭代器全部代码
源码剖析
我们先来看看源码这是
KLZUQ
·
2023-10-01 22:05
开发语言
c++
数据结构
map
set
Flask
源码剖析
(一):Flask 启动流程
前言Flask是Python著名的web框架,其特点是轻量简单易扩展。Flask源码量挺多的,本文从比较高的维度整体看一下Flask关键结构的实现原理,文中不会细究太多细节,不多废话,开搞。考虑篇幅长度,分多篇文章来讨论,本文系列文章以Flask1.0.2为基准。前置背景知识Flask依赖于werkzeug与jinja这两个核心库,werkzeug是HTTP与WSGI相关的工具集,而jinja主要
懒编程-二两
·
2023-09-30 15:30
【Spring Cloud】Ribbon 实现负载均衡的原理,策略以及饥饿加载
文章目录前言一、什么是Ribbon二、Ribbon实现负载均衡的原理2.1负载均衡的流程2.2Ribbon实现负载均衡的
源码剖析
三、Ribbon负载均衡策略3.1负载均衡策略3.2演示Ribbon负载均衡策略的更改四
求知.
·
2023-09-30 05:52
Spring
Cloud
spring
cloud
ribbon
负载均衡
STL-06-deque
源码剖析
参考侯捷《STL
源码剖析
》deque概述vector是单向开口的连续线性空间,deque则是一种双向开口的连续线性空间。所谓双向开口,意思是可以在头尾两端分别做元素的安插和删除动作。
发如雪-ty
·
2023-09-29 07:19
STL
STL-08-priority_queue
源码剖析
priority_queue一、相关定义二、使用方法1、普通方法:2、自定义优先级:3、结构体声明方式:4、代码使用介绍三、
源码剖析
一、相关定义优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素
发如雪-ty
·
2023-09-29 07:19
STL
STL-05-vector使用及其
源码剖析
vector容器是STL中最常用的容器之一,它和array容器非常类似,都可以看做是对C++普通数组的“升级版”。不同之处在于,array实现的是静态数组(容量固定的数组),而vector实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector会动态调整所占用的内存空间,整个过程无需人工干预。vector容器以类模板vector(T表示存储元素的类型)的形式定义在头文件中,并位于
发如雪-ty
·
2023-09-29 07:18
STL
STL-02-array使用及其
源码剖析
array容器是C++11标准中新增的序列容器,简单地理解,它就是在C++普通数组的基础上,添加了一些成员函数和全局函数。之前我在思考,STL为什么要多出这个容器呢?直接用数组它不香吗??它不快吗?非要搞出这么个玩意。后来我想明白了,我觉得它就是想要使用STL里面的算法。先把它用起来吧。首先需要引用:#includearray也就是数组嘛,所以它和我们常用的数组一样比如:inta[10],它表示1
发如雪-ty
·
2023-09-29 07:48
STL
SpringCloudAlibaba之Seata-2pc
源码剖析
seata客户端启动流程本章大部分是源码,源码下面都会有对其大概意思的介绍,如果源码看着头疼,可以直接看下面的介绍,可以整体对2pc有个轮廓,如果经常阅读源码的朋友,肯定能够想到入口是利用springboot的starter来做客户端相关组件的初始化,立马就能想到starter下META-INFO/spring.factories。#AutoConfigureorg.springframework
山竹之七语
·
2023-09-27 22:27
seata
2pc源码
seata源码
RxJava
源码剖析
前言本篇的文章是基于Rxjava2.1.2。从下面的一段代码中,我们从源码的角度分析RxJava的实现原理:ObservableOnSubscribeoos=newObservableOnSubscribe(){@Overridepublicvoidsubscribe(ObservableEmittere)throwsException{finalintmax=100;for(inti=1;io=
小康
·
2023-09-27 16:07
Spring
源码剖析
7:AOP实现原理详解
本文转自五月的仓颉https://www.cnblogs.com/xrq730本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章将同步到我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《Spring和Spri
da3acf50377b
·
2023-09-27 02:13
Redis
源码剖析
——线程模型
一、Redis是单线程吗?Redis单线程指的是「接收客户端请求->解析请求->进行数据读写等操作->发送数据给客户端」这个过程是由一个线程(主线程)来完成的,这也是我们常说Redis是单线程的原因。但是,Redis程序并不是单线程的,Redis在启动的时候,是会启动后台线程(BIO)的:「关闭文件、AOF刷盘、释放内存」这些任务需要创建单独的线程来处理,因为这些任务的操作都是很耗时的,如果把这些
chuixue24
·
2023-09-27 01:11
redis
redis
数据库
缓存
设计模式之状态模式
文章目录APP抽奖活动问题状态模式基本介绍状态模式的原理类图状态模式解决APP抽奖问题状态模式在实际项目-借贷平台
源码剖析
订单状态流程图借贷平台类图状态模式的注意事项和细节APP抽奖活动问题假如每参加一次这个活动要扣除用户
Alienware^
·
2023-09-26 09:51
设计模式
设计模式
状态模式
Java 集合
源码剖析
系列03: ArrayList
1.ArrayList简介ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。
Mr_Ares
·
2023-09-26 02:25
【C++】红黑树封装map和set
文章目录一、map和set
源码剖析
二、红黑树的迭代器1.begin()与end()2.operator++()与operator--()三、set的模拟实现四、map的模拟实现五、完整代码实现1.RBTree.h2
椿融雪
·
2023-09-25 23:37
C++
c++
java
开发语言
数据结构
算法
Mybatis
源码剖析
-- 执行SQL过程(传统方式)
一、简单介绍下SqlSessionSqlSession是⼀个接口,它有两个实现类:DefaultSqlSession(默认)和SqlSessionManager(弃用,不做介绍)SqlSession是MyBatis中用于和数据库交互的顶层类,通常将它与ThreadLocal绑定,⼀个会话使用⼀个SqlSession,并且在使用完毕后需要closeSqlSession中的两个最重要的参数,confi
Travis_Wu
·
2023-09-25 12:24
STL容器介绍——vector的
源码剖析
和模拟实现
写在开头,此文章参考:侯捷——《STL
源码剖析
》1.vector概述:相较于我们熟悉的数组(array)来说,vector的操作方式和它几乎毫无差别。
GuoCheng-12
·
2023-09-24 16:10
c++
算法
stl
数据结构
第60期 React Hooks 最佳实践 & 深入
源码剖析
componentWillXXX为什么UNSAFE
现代浏览器内部机制—事件必看好文【第1999期】深入
源码剖析
componentWillXXX为什么UNSAFEReact源码解析现代浏览器内部机制(三):你不知道的渲染进程从解析DOM到合成渲染图层ReactHooks
前端收藏家
·
2023-09-24 11:01
【
源码剖析
】Launcher 8.0 源码 (11) --- Launcher 启动流程 第四步之桌面布局(3)
这篇依然讲解桌面布局的创建,这一部分依然服务于setupViews,创建每一个UI模块,所有模块都创建完了也就组成了完整的Launcher。workspace进行基本绑定我们先来看这一段的代码,代码主要做了workspace的基本绑定。//SetuptheworkspacemWorkspace.setHapticFeedbackEnabled(false);mWorkspace.setOnLong
lonamessi
·
2023-09-24 05:18
Spring Boot
源码剖析
之Spring Boot
源码剖析
SpringBoot
源码剖析
SpringBoot依赖管理问题:(1)为什么导入dependency时不需要指定版本?
小山雀
·
2023-09-23 17:48
Start 方法源码深究——模板方法设计模式
目录一.前言1.1New状态1.2Runnable1.3Runing1.4Block状态1.5Terminated状态二.线程start方法
源码剖析
2.1虚拟机调用run方法执行线程2.2最少有两个线程在执行
狮子也疯狂
·
2023-09-23 12:14
基础知识查漏
设计模式
java
开发语言
RocketMQ高性能核心原理与源码架构剖析
文章目录1、源码环境搭建1.1、主要功能模块1.2、源码启动服务1.2.1、启动nameServer1.2.2、启动Broker1.2.3、发送消息1.2.4、消费消息2、
源码剖析
2.1、NameServer
Tacy0213
·
2023-09-23 08:05
MQ
rocketmq
架构
源码剖析
@ApiImplicitParam对@RequestParam的required属性的侵入性
问题起源使用SpringCloud构建项目时,使用Swagger生成相应的接口文档是推荐的选项,Swagger能够提供页面访问,直接在网页上调试后端系统的接口,非常方便。最近却遇到了一个有点困惑的问题,演示接口示例如下(原有功能接口带有业务实现逻辑,这里简化了接口):/***@description:演示类*@author:HuangYing**/@Api(tags="演示类")@RestCont
清茶豆奶
·
2023-09-22 23:06
互联网架构演变过程 :应用架构
(课题:tomcat
源码剖析
)随着业务扩张,需求迭代,项目变得越来越大,一个war包动辄几百兆。崇尚调优,jvm单节点调优甚至接近于强迫症的地步。(课题:jv
不灭的小馒头
·
2023-09-22 18:30
架构
tomcat
java
【C++】STL之unoerdered_map、unordered_set类
源码剖析
目录概述源码HashTable.hUnorderedMap.hUnorderedSet.htest.cpp概述STL标准模板库中的map、set的底层数据结构是红黑树,会在数据插入时自动排序,unordered_map、unordered_set的底层数据结构是哈希表,不做排序,根据哈希值进行映射。哈希算法可见这篇文章:【C++】哈希_种花家de小红帽的博客-CSDN博客unordered_map
命运on-9
·
2023-09-22 10:53
c++
哈希
STL
unordered_map
unordered_set
Golang 内存管理
源码剖析
2019独角兽企业重金招聘Python工程师标准>>>Golang的内存管理基于tcmalloc,可以说起点挺高的。但是Golang在实现的时候还做了很多优化,我们下面通过源码来看一下Golang的内存管理实现。下面的源码分析基于go1.8rc3。1.tcmalloc介绍关于tcmalloc可以参考这篇文章tcmalloc介绍,原始论文可以参考TCMalloc:Thread-CachingMall
weixin_33978044
·
2023-09-22 05:29
golang
内存管理
操作系统
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他