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
muduo网络库源码剖析
nginx线程池
源码剖析
文章目录nginx线程池1.问题2.解决办法nginx线程池3.线程池实现模型4.线程池实现核心组件5.源码实现测试代码main.c封装互斥锁&条件变量线程池实现nginx线程池1.问题处理事件过程“阻塞”怎么办?忙于漫长的CPU密集型处理读取文件,但文件尚未缓存,从硬盘中读取较为缓慢不得不等待获取某个资源:网络上的请求和响应,互斥锁,等待同步方式调用的数据库响应单个进程或线程同时只能处理一个任务
小瑞的学习笔记
·
2023-04-13 12:39
linux
nginx
linux
c++
服务器
开发语言
深入底层C
源码剖析
Redis底层数据结构
Redis基本特性1.非关系型的键值对数据库,可以根据键以O(1)的时间复杂度取出或插入关联值2.Redis的数据是存在内存中的3.键值对中键的类型可以是字符串,整型,浮点型等,且键是唯一的4.键值对中的值类型可以是string,hash,list,set,sortedset等5.Redis内置了复制,磁盘持久化,LUA脚本,事务,SSL,ACLs,客户端缓存,客户端代理等功能6.通过Redis哨
詹姆斯-穆里尼奥
·
2023-04-13 11:16
redis
lua
数据库
Muduo
源码剖析
--整体架构
Muduo整体架构1.编译和安装git:GitHub-chenshuo/muduo:Event-drivennetworklibraryformulti-threadedLinuxserverinC++11gitclonehttps://github.com/chenshuo/muduo.git安装依赖库:sudoaptinstallg++cmakemakelibboost-dev可安装三个非必须
birate_小小人生
·
2023-04-13 02:57
muduo剖析
架构
linux
tcp
(万字
源码剖析
)
前言作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端专栏简介:juc并发编程,讲解锁原理、锁机制、线程池、AQS、并发容器、并发工具等,深入源码,持续更新。文章简介:本文主要介绍线程池的实现原理,注释十分详细,并且对于值的学习的代码做了点评相关推荐:Juc并发编程12——2万字深入源码:线程池这篇真的讲解的透透的了前面我们已经介绍过线程池的使用了,下面我们来深挖它的实现原
半旧518
·
2023-04-12 21:43
juc
java
开发语言
juc
并发
原力计划
JUC并发编程02——AQS
源码剖析
1.AQS介绍相信每个JavaCoder都使用过或者至少听说过AQS,它是抽象队列同步器AbstractQueuedSynchronizer的简称,在juc包下。它提供了一套可用于实现锁同步机制的标准框架,其维护了一个volatile修饰的共享变量state和一个FIFO(先进先出)线程等待队列,多线程争用资源被阻塞的时候就会进入这个队列。state是共享变量,其访问方式有如下三种:getStat
程序一逸
·
2023-04-12 21:58
java
c++
jvm
Spring Security
源码剖析
从入门到精通.跟学尚硅谷(二)
SpringSecurity
源码剖析
从入门到精通.跟学尚硅谷二4.SpringSecurity微服务权限方案4.1什么是微服务1、微服务由来2、微服务优势3、微服务本质4.2微服务认证与授权实现思路1、
心向阳光的天域
·
2023-04-12 18:35
其它java框架
spring
java
微服务
spring
security
Android HandlerThread全面解析
在对Android异步消息处理机制
源码剖析
和AndroidAsyncTask
源码剖析
后,下面对Android中的另一个和异步消息机制相关的类-HandlerThread进行全面解析。
CyanStone
·
2023-04-12 17:41
muduo网络库
源码分析——整体架构
muduo的源代码中,虽然不考虑可移植性,但还是划分了很多小的类(Channel、Socket、TcpConnection、Acceptor,不知道是不是参考了java中的概念),类之间大量通过boost::bind()注册回调函数,感觉比继承还要难理解。但是无论如何,muduo所强调的关于现代C++编程技术和多线程服务端编程理念都是非常值得学习的。本文的主要目的:从整体架构上分析muduo的源代
sunwake999
·
2023-04-12 00:15
c++11
muduo
muduo
源码剖析
——ThreadPool线程池的实现
1线程池原理muduo源码中线程池的实现是基于生产者/消费者模式的,可参考基于生产者/消费者模式原理实现无界缓冲区和有界缓冲区。其中缓冲区(即下图中的任务队列)为“环形缓冲区”。其实现原理如下:2代码实现2.1类图2.2代码ThreadPool.h//UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicen
高自强的博客
·
2023-04-12 00:42
muduo
线程池
muduo
源码剖析
——以三个切片浅析muduo库代码设计的严谨性、高效性与灵活性
0前言陈硕大佬的
muduo网络库
的源码我已经看了好久了,奈何本人实力有限,每每看到其代码设计的精巧之处只能内心称赞,无法用言语表达出来。实在令人汗颜。
高自强的博客
·
2023-04-12 00:42
muduo
多线程
muduo库源码分析2——QueryServer服务器启动流程
muduo网络库
中,基于google::protobuf数据标准的网络服务器实例,放在example/protobuf/codec中。
杨铮的技术博客
·
2023-04-12 00:40
c/c++开发
linux开发
网络开发
muduo
muduo库源码分析3——muduo事件循环分析
muduo事件循环分析
muduo网络库
网络I/O模型为非阻塞reactor模式。使用linux的epoll或poll系统调用,轮寻多个socket,然后利用事先注册的事件句柄处理发生事件的套接字。
杨铮的技术博客
·
2023-04-12 00:10
c/c++开发
linux开发
网络开发
muduo
Muduo
源码剖析
1、总体流程1.acceptor进行listen阶段后,往channel中注册可读事件。2.acceptor可读处理中生成TcpConnection指针,通过EventloopThreadPool轮询出其中一个线程的eventloop,并将此TcpConnection的可读、可写等事件注册到自己Channel(eventLoop)中。3.每个EventLoop监听到具体channel的事件后,分析
YanWenCheng_
·
2023-04-12 00:08
muduo
c++
muduo网络库
源码学习————线程本地单例类封装
muduo库中线程本地单例类封装代码是ThreadLocalSingleton.h如下所示://线程本地单例类封装//UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicensefile.////Author:ShuoChen(chenshuoatchenshuodotcom)#ifndefMUDUO_BA
缱绻的西格玛
·
2023-04-12 00:38
muduo库源码学习
线程
网络
库
源码
muduo网络库
源码学习————线程特定数据
muduo库线程特定数据源码文件为ThreadLocal.h//线程本地存储//UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicensefile.////Author:ShuoChen(chenshuoatchenshuodotcom)#ifndefMUDUO_BASE_THREADLOCAL_H#de
缱绻的西格玛
·
2023-04-12 00:07
muduo库源码学习
线程
网络
库
源码
Muduo库
源码剖析
(三)——获取线程tid方法
相关知识点__thread__thread修饰表示使用线程局部存储机制(threadlocal机制),即会为修饰的变量在当前线程存储一份copy,别的线程是看不到这个变量的修改__thread是GCC内置的线程局部存储设施,其存储效率可以和全局变量相比;__thread变量在每一个线程中都有一份独立实例,各线程值是互不干扰的。extern在C++中,extern是一个关键字,用于在当前文件以外的地
FuzhouJiang
·
2023-04-12 00:34
网络编程
Muduo
C/C++
c++
服务器
linux
第六章 数据中台PaaS层离线存储之HDFS
源码剖析
第一部分 - NameNode启动流程&HadoopRpc协议详述
1、大数据源码解读思路(1)掌握其网络通信架构(2)场景驱动方式HDFS:namenodedatanode启动写数据得流程更新原数据流程读数据流程2、HadoopRPC的Demo详述含义:远程过程调用,即不同进程的方法的调用。2.1、创建pom依赖org.apache.hadoophadoop-client2.7.02.2、相关源码调试(1)创建客户端和服务端通信协议接口/***协议*@autho
随缘清风殇
·
2023-04-11 23:01
大数据架构师专题
hbase
big
data
数据库
STL
源码剖析
-六大部件, 部件的关系,复杂度, 区间表示
C++标准库-体系结构与内核分析根据源代码来分析介绍自学C++侯捷老师的STL
源码剖析
的个人笔记,方便以后进行学习,查询。为什么要学STL?
null_one
·
2023-04-11 17:34
C++
c++
算法
开发语言
源码剖析
JVM类加载机制
1前言我们平常开发中,都会部署开发的项目或者本地运行main函数之类的来启动程序,那么我们项目中的类是如何被加载到JVM的,加载的机制和实现是什么样的,本文给大家简单介绍下。2类加载运行全过程当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM,通过Java命令执行代码的大体流程如下从流程图中可以看到类加载的过程主要是通过类加载器来实现的,那么什么是类加载
京东云技术团队
·
2023-04-11 17:30
jvm
java
开发语言
源代码管理
STL
源码剖析
-分配器 Allocator
分配器(Allocator)分配器给容器用的,是一个幕后英雄的角色。分配器的效率非常重要。因为容器必然会使用到分配器来负责内存的分配,它的性能至关重要。在C++中,内存分配和操作通过new和delete完成。new中包含两个操作,第一步是使用operatornew分配内存,第二步是调用构造函数;delete中包含两个操作,第一步是调用析构函数,第二步是使用operatordelete释放内存。op
null_one
·
2023-04-11 17:25
C++
开发语言
c++
【go-libp2p
源码剖析
】Swarm拨号
1.简介libp2pswarm是用于libp2p网络的“低级”接口,可以更精细地控制系统的各个方面。swarm可以建立监听,也可以向其他主机拨号建立新的连接(比如和某个主机建立tcp连接),而这里所指的拨号其实就是建立出站连接的过程,它的实现逻辑较为复杂,我们在这里做一个梳理。2.代码结构仓库地址:https://github.com/libp2p/go-libp2p-swarm.git拨号相关代
Netwarps
·
2023-04-11 03:30
C++推荐书籍
EffectiveC++MoreEffectiveC++EffectiveModernC++高难度InsidetheC++ObjectModelModernC++Design(C++设计新思维)——这是一本奇书STL
源码剖析
飞翼剑仆
·
2023-04-11 00:39
C++
c++
开发语言
Java多线程:ThreadLocal
源码剖析
ThreadLocal
源码剖析
ThreadLocal其实比较简单,因为类里就三个public方法:set(Tvalue)、get()、remove()。
Java程序员老张
·
2023-04-10 02:49
java
哈希算法
开发语言
【
源码剖析
】Launcher 8.0 源码 (13) --- Launcher 启动流程 第六步之LauncherModel的布局操作(一) 整体概述
之前我们讲了初始化对象,根据硬件参数来获取布局,获取数据参数,所有的都准备好以后,就将进行数据的加载与绑定,本篇文章就来讲讲Launcher启动流程第六步之LauncherModel的布局操作。这一步在Launcher的oncreate启动流程是最关键的一步。这一部分的代码是:if(!mModel.startLoader(currentScreen)){//Ifwearenotbindingsyn
lonamessi
·
2023-04-09 23:11
c++11编写线程池
写在前面由于最近在学习
muduo网络库
,需要许多的多线程和网络编程的知识。现在正好看到线程池的部分,就想着用C++11来编写一个线程池来加深自己的对线程池的理解。
%s无聊_我很
·
2023-04-09 20:04
c++
开发语言
c++——红黑树
1——u不存在情况2——u存在且为黑情况三:cur为红,p为红,g为黑,u不存在/u存在且为黑五.红黑树的验证六.红黑树与AVL树的比较不解析删除,解析插入,红黑树的删除参考:《算法导论》或者《STL
源码剖析
Hiland.
·
2023-04-09 18:41
#
C++
数据结构
MyBatis核心
源码剖析
(SqlSession XML解析 Mapper executor SQL执行过程 自定义类型处理器 缓存 日志)
MyBatis核心
源码剖析
MyBatis核心
源码剖析
1MyBatis源码概述1.1为什么要看MyBatis框架的源码1.2如何深入学习MyBatis源码1.3源码分析的5大原则2MyBatis架构体系深入剖析
Ybb_studyRecord
·
2023-04-09 10:24
源码深度剖析
mysql源码剖析
sqlsession
mapper
executor
缓存
【无标题】Spirng security安全框架
了解基本原理新手小白去b站寻找视频学习尚硅谷SpringSecurity框架教程(springsecurity
源码剖析
从入门到精通)_哔哩哔哩_bilibiliSpringSecurity框架教程-SpringSecurity
欢868
·
2023-04-09 03:46
java
spring
SpringSecurity
本教程来自:尚硅谷SpringSecurity框架教程(springsecurity
源码剖析
从入门到精通)教程分为五大部分:框架概述、入门和基本原理、基于Web的权限方案、基于微服务的权限方案、
源码剖析
anotherQu
·
2023-04-09 02:33
java
java
spring
boot
spring
Spring Security
源码剖析
从入门到精通.跟学尚硅谷(一)
SpringSecurity
源码剖析
从入门到精通.跟学尚硅谷一学习目标1.SpringSecurity框架简介1.1概要1.2历史1.3同款产品对比1.3.1SpringSecurity1.3.2Shiro1.4
心向阳光的天域
·
2023-04-09 02:30
其它java框架
spring
java
后端
spring
security
EGOCache 使用和
源码剖析
1.介绍EGOCacheEGOCache是一个简单的、线程安全的基于key-value的缓存框架,支持NSString、UI/NSImage和NSData,也支持存储任何实现协议的类,可以设定缓存的过期时间,默认为1天。EGOCache只提供了磁盘缓存,没有提供内存缓存。2.使用2.1.在Podfile中添加Podpod'EGOCache'之后终端执行:podinstall--no-repo-up
JonyFang
·
2023-04-09 00:06
boost.asio: deadline_timer
源码剖析
文章目录deadline_timer相关类介绍从示例程序看源码同步调用——wait异步调用——async_wait异步定时器示例gdb异步定时器流程deadline_timer相关类介绍deadline_timer众所周知,是asio的一个核心定时器,支持同步定时触发和异步定时触发。具体有什么功能如何使用这里不作介绍,本文主要从deadline_timer的wait和async_wait入手,解释
Erice_s
·
2023-04-08 17:08
STL/Boost
linux
后端
c++
服务器
【C++】map和set的封装(红黑树)
map和set的封装一、介绍二、stl
源码剖析
三、仿函数获取数值四、红黑树的迭代器五、map的[]5.1普通迭代器转const迭代器六、set源码七、map源码八、红黑树源码一、介绍首先要知道map和set
命由己造~
·
2023-04-08 15:22
C++
c++
数据结构
算法
【C++】红黑树封装实现 map 和 set
文章目录一、
源码剖析
二、红黑树的迭代器三、模拟实现set四、模拟实现map五、完整代码(最终实现)1、RBTree.h2、set.h3、map.h4、test.cpp一、
源码剖析
我们之前在学习set和map
野猪佩奇`
·
2023-04-08 15:31
C++进阶
c++
开发语言
Java并发编程之ScheduledThreadPoolExecutor
源码剖析
之前我们剖析过Java中线程池ThreadPoolExecutor的源码,链接为https://blog.csdn.net/HappyHeng/article/details/86827324,这一节从源码层次讲一下ScheduledThreadPoolExecutor这个定时线程池是如何执行任务的。一、ScheduledFutureTask:在ThreadPoolExecutor中提交任务执行,
HappyHeng
·
2023-04-08 09:16
java源码解析
ThreadPool
Executor
Scheduled
Pool
【redis学习篇】Redisson实现的分布式独占锁核心流程剖析
一、Redisson分布式锁锁竞争流程二、加锁核心
源码剖析
2.1lockInterruptibly方法@OverridepublicvoidlockInterruptibly(longleaseTime
Java学习者柯十一
·
2023-04-08 06:40
Redis
redis
学习
分布式
java
Muduo库
源码剖析
(八)——TcpServer类
TcpServer类要点TcpServer类的主要作用是,管理整个服务器,做如下的一些操作:管理accept(2)获得的TcpConnectionTcpServer是供用户直接使用的,生命期由用户控制设置mainLoop,并利用mainLoop进行新连接的管理初始化TcpServer对应的Acceptor用于监听新连接到来根据oneloopperthread的设计方案,setThreadNum设置
qq_42120843
·
2023-04-08 00:14
网络编程
Muduo
C/C++
c++
服务器
linux
Muduo库
源码剖析
(九)——TcpConnection类
TcpConnection类要点TcpConnection表示的是“一次TCP连接”,它是不可再生的,一旦连接断开,这个TcpConnection对象就没啥用了。它的主要功能就是对成功连接服务器的客户连接connfd的封装。一个TcpConnection唯一对应一个Channel和SocketChannel处理事件的一系列回调就是在TcpConnection类中设置和实现的。TcpConnecti
qq_42120843
·
2023-04-08 00:14
Muduo
网络编程
C/C++
服务器
c++
linux
Muduo库
源码剖析
(七)——缓冲区Buffer类
Buffer类要点由于Muduo库使用的是非阻塞IO模型,即每次send()不一定全发完,没发完的数据要用一个容器进行接收,所以必须要实现应用层缓冲区.缓冲区中各个指针和区域,下图要牢牢记住:其中prependablebytes通常用于解决粘包,kCheapPrepend是为了在序列化的时候可以便宜的在首部增加几个字节而不必腾挪std::vector的内部空间。缓冲区底层使用std::vector
qq_42120843
·
2023-04-08 00:13
Muduo
网络编程
C/C++
c++
服务器
linux
【无标题】Muduo库
源码剖析
(十)——总结
Muduo网络库
的核心代码模块Channel封装fd的对应事件变化情况,和关注事件fd、events、revents、callbacks,两种channel:listenfd-acceptorChannel
qq_42120843
·
2023-04-08 00:58
Muduo
网络编程
C/C++
服务器
linux
c++
MyBatis源码分析之核心处理层
1传统方式
源码剖析
类似于Sp
Javaesandyou
·
2023-04-07 11:17
mybatis
java
开发语言
程序人生
架构师
一箭双雕 刷完阿里P8架构师spring学习笔记+
源码剖析
,涨薪8K
关于Spring的叙述:我之前死磕spring的时候,刷各种资料看的我是一头雾水的,后面从阿里的P8架构师那里拿到这两份资料,从源码到案例详细的讲述了spring的各个细节,是我学Spring的启蒙资料,即便我现在在已经从事Java五六年了,但是每每掏出这份资料看都能再学到点新的知识。还记得当时磕完这份资料,后面跟老板提涨薪,直接就涨了8K!所以含金量可想而知。如果是为了应付一系列的面试从而恶补的
MC中的架构师
·
2023-04-07 08:54
spring
java
学习
分布式
架构
C++ STL
源码剖析
——P1、P2、P3、P4、P5、P6、P7
P1认识headers、版本、重要资源C++标准库中有百分之八十左右都是由STL组成的一、C++StandardLibrary标准库vsStandardTemplateLibrary(STL)标准模板库C++标准库和STL的关系:C++标准库>STL,STL包含的是六大部件,C++标准库还包含其他一些东西C++标准库中有百分之八十左右都是由STL组成的标准库以headfiles形式存在(1)C++
麻摆子
·
2023-04-07 01:45
STL源码剖析之自立自强
c++
开发语言
数据结构
Eureka
源码剖析
之七:总结
Eureka
源码剖析
之一:初始化-启动Eureka
源码剖析
之二:服务注册Eureka
源码剖析
之三:服务拉取Eureka
源码剖析
之四:服务续约Eureka
源码剖析
之五:服务下线总结下eureka系统架构和相关面试题
搬运工来架构
·
2023-04-07 00:43
grpc-go
源码剖析
十六之grpc+NGINX实现负载均衡方案介绍
已发表的技术专栏0 grpc-go、protobuf、multus-cni技术专栏总入口1 grpc-go
源码剖析
与实战 文章目录2 Protobuf介绍与实战图文专栏 文章目录3 multus-cni
码二哥
·
2023-04-06 22:36
grpc
golang
docker
kubernetes
nginx
SQLite体系架构和源码结构-4
Mayyoudogoodandnotevil.Mayyoufindforgivenessforyourselfandforgiveothers.Mayyousharefreely,nevertakingmorethanyougive.体系结构 关于SQLite的体系结构,官网有详细介绍,作为
源码剖析
系列文章
includes
·
2023-04-06 15:18
网络编程之认识Netty
高薪训练营本文主要内容包括:Netty简介、Netty高性能(零拷贝和支持高性能序列化协议等)、Netty线程模型、Netty粘包与拆包、Netty核心组件、Netty版自定义RPC案例实现、Netty
源码剖析
小溪源
·
2023-04-06 05:46
Redis
源码剖析
——TCP连接
目录前言一、打开监听端口,等待客户端的命令请求二、监听描述符进行监听三.监听描述符回调函数总结前言通过对redis服务采用的基于epoll反应堆模型的server/client模型进行介绍。一、打开监听端口,等待客户端的命令请求服务器通过调用listenToPort函数,根据指定的端口port,以及Redis服务器配置中的bindaddr[REDIS_BINDADDR_MAX]数组指定的地址来构建
oywLearning
·
2023-04-06 02:42
redis源码剖析
tcp/ip
网络协议
c++
redis
服务器
libco
源码剖析
(3)-定时器与事件注册
libco
源码剖析
(3)-定时器与事件注册引言libco
源码剖析
(1)-共享栈与协程的创建libco
源码剖析
(2)-协程生命周期与协程调度本文会继续介绍libco定时器的实现和协程事件的注册。
怀民_亦未寝
·
2023-04-05 16:39
c++
后端
linux
服务器
nacos cp集群架构解析
1.cap与base原则详解2.nacos&zk&eureka的cap架构横向对比3.raft协议动态图解4.nacos集群cp架构基于raft协议
源码剖析
5.nacos集群cp架构的脑裂问题1.cap
像你这样的
·
2023-04-05 15:07
分布式
架构
spring
cloud
spring
boot
java
分布式
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他