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网络库源码剖析
STL-空间配置器剖析
参照了侯捷的《STL
源码剖析
》,原本直接看源码不懂得东西,突然间豁然开朗。再次写下自己对于STL空间配置器的一点点理解。要了解空间配置器,有一张图是必看的:这张图是一级空间配置器宇二级空间配置器的封
ShawnLeex
·
2020-07-07 13:10
C和C++
并发编程之 CopyOnWriteArrayList
源码剖析
前言ArrayList是一个不安全的容器,在多线程调用add方法的时候会出现ArrayIndexOutOfBoundsException异常,而Vector虽然安全,但由于其add方法和get方法都使用了synchronized关键字,导致在并发时的性能令人担忧,因此,伟大的DougLea编写了CopyOnWriteArrayList并发容器,用于替代并发时的ArrayList,而该类的类名叫“写
莫那一鲁道
·
2020-07-07 12:01
STL
源码剖析
---空间配置器
看过STL空间配置器的源码,总结一下:1、STL空间配置器:主要分三个文件实现,stl_construct.h这里定义了全局函数construct()和destroy(),负责对象的构造和析构。stl_alloc.h文件中定义了一、二两级配置器,彼此合作,配置器名为alloc.stl_uninitialized.h这里定义了一些全局函数,用来填充(fill)或复制(copy)大块内存数据,他们也都
iteye_16284
·
2020-07-07 10:15
STL的sort()
源码剖析
文章转载自http://www.cnblogs.com/imAkaka/articles/2407877.htmlSTLsort
源码剖析
STL的sort()算法,数据量大时采用QuickSort,分段递归排序
hhmy77
·
2020-07-07 09:20
STL-ch2-空间配置器
STL空间配置器文章目录空间配置器——《STL
源码剖析
》chapter22.1STL标准规定的空间配置器的标准接口2.2具有次配置能力的SGISTL空间配置器2.2.1SGI也实现了STL标准规定的`std
dummy_bot
·
2020-07-07 08:22
C++
STL
STL 空间配置器
STL空间配置器参考:《STL
源码剖析
》–第二章:空间配置器一、new和delete 在我们平时的程序使用中对一个对象的new和delete包含两阶操作:new是先调用::operatornew配置内存
github_35735591
·
2020-07-07 08:42
STL
STL
源码剖析
——STL算法stl_algo.h
前言在前面的博文中剖析了STL的数值算法、基本算法和set集合算法,本文剖析STL其他的算法,例如排序算法、合并算法、查找算法等等。在剖析的时候,会针对函数给出一些例子说明函数的使用。源码出自SGISTL中的文件。注:本文的源码非常多,可能后续博文会对这些算法进行归类分析。STL算法剖析#ifndef__SGI_STL_INTERNAL_ALGO_H#define__SGI_STL_INTERNA
逆风微积分
·
2020-07-07 05:38
STL源码剖析
STL源码剖析
STL
源码剖析
——STL算法之set集合算法
set算法
源码剖析
/*下面是计算set集合的相关算法,分别是并集set_union,差集set_differen
逆风微积分
·
2020-07-07 05:37
STL源码剖析
STL源码剖析
STL中list链表的sort算法详解
STL中list链表的sort算法详解今天在学习侯捷先生的《STL
源码剖析
》这本书,在讲到list链表中的sort算法时,书上写的不详细,很难在短时间内搞明白,我也花了好长时间才搞懂这个算法,下面我就来讲一讲这个算法的实现细节
快乐的霖霖
·
2020-07-07 05:21
C
vs
C++
muduo网络库
——简介:安装、目录结构
6.2安装#安装cmakesudoapt-getinstallcmake #安装boostsudoapt-getinstalllibboost-devlibboost-test-dev#三个非必须的依赖库:curl、c-aresDNS、GoogleProtobuf(安装之后cmake会自动多编译一些示例)sudoapt-getinstalllibcurl4-openssl-devlibc-ares
amoscykl
·
2020-07-07 03:17
moduo网络库
muduo网络库
——C++多线程系统编程精要
4.1基本线程原语的选用11个最基本的Pthreads函数是:2个:线程的创建和等待结束(join)。封装为muduo::Thread。4个:mutex的创建、销毁、加锁、解锁。封装为muduo::MutexLock。5个:条件变量的创建、销毁、等待、通知、广播。封装为muduo::Condition。这三样东西(thread、mutex、condition)可以完成任何多线程编程任务。当然一般不
amoscykl
·
2020-07-07 03:47
moduo网络库
muduo源码分析
汪大神Java多线程编程实战
课程大纲及主要内容介绍.wmv│├─高并发编程第一阶段02讲、简单介绍什么是线程.wmv│├─高并发编程第一阶段03讲、创建并启动线程.mp4│├─高并发编程第一阶段04讲、线程生命周期以及start方法
源码剖析
aaf122122
·
2020-07-07 02:11
Muduo网络库
整体架构与分阶段解析
文章目录
Muduo网络库
的Reactor模式整体框架说明分阶段解析Muduo是一个基于Reactor模式的C++网络库。
ZY-JIMMY
·
2020-07-07 01:35
C++程序设计
【Redis
源码剖析
】 - Redis内置数据结构之字典dict
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337Redis
源码剖析
系列文章汇总:传送门今天我们来讲讲Redis中的哈希表
Fred^_^
·
2020-07-07 01:26
Redis源码剖析
发布一个基于 Reactor 模式的 C++ 网络库
发布一个基于Reactor模式的C++网络库陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice2010Aug30本文主要介绍
muduo网络库
的使用。
陈硕
·
2020-07-07 00:51
muduo
c++
多线程
Java
源码剖析
34讲学习笔记~2
目录1.数据结构2.相关面试题3.JDK1.8源码中包含属性1.数据结构1.7数组+链表1.8数据+链表+红黑树(链表大于8并且总长度大于64)2.相关面试题JDK1.8HashMap扩容时做了哪些优化?通过高位运算(e.hash&oldCap)确定元素需要移动,例如:key1信息如下:-key1.hash=1000001010-oldCap=1600010000使用e.hash&oldCap得到
该昵称无法识别
·
2020-07-07 00:00
Netty的基本组件之Channel
源码剖析
(下)
5.2AbstractNioChannel源码分析 AbstractNioChannel从名字可以看出是对NIO的抽象,首先看下这个类的NioUnsafe接口:/***Special{@linkUnsafe}sub-typewhichallowstoaccesstheunderlying{@linkSelectableChannel}*/publicinterfaceNioUnsafeextend
SunnyMore
·
2020-07-06 23:32
push_heap
源码剖析
一:用法示例一共两个重载:default(1)templatevoidpush_heap(RandomAccessIteratorfirst,RandomAccessIteratorlast);custom(2)templatevoidpush_heap(RandomAccessIteratorfirst,RandomAccessIteratorlast,Comparecomp);在说明这个函数的
LaoJiu_
·
2020-07-06 22:54
<专栏>
--C++
源码剖析
动态代理-JDK
源码剖析
(一):简单示例
首先,我们实现一个简单的动态代理的例子:publicinterfaceytInterface{voidmethod1(Stringarg);}具体实现类为:publicclassytInterfaceImplimplementsytInterface{publicvoidmethod1(Stringarg){System.out.println("ytInterfaceImpl:arg="+arg
冥泷
·
2020-07-06 20:17
问题要点
学习
源码
jdk
java
动态代理
反射
源码
动态代理-JDK
源码剖析
(二):
源码剖析
从示例可以看出,动态代理是基于实现类的接口和实现类对象,首先构建代理对象(与实现类有共同的接口),之后通过接口调用来实现代理。那么,动态代理的关键就是分析如何根据接口和类对象来生成代理对象。生成代理类过程主要分为生成代理类,以及代理类实例化对象两个步骤。在Proxy.newProxyInstance函数中,传入的有ClassLoaderloader,Class[]interfacecs,Invoc
冥泷
·
2020-07-06 20:17
Java
动态代理
反射
源码
JDK
高效编程:Redis实战与
源码剖析
(一)
摘要本文将阐述在Redis里头构建分布式锁与信号量时关注的点。基础Redis共有五种基础数据结构,字符串(String),集合(Set),列表(List),散列(Hash)和有序集合(ZSet)。分布式锁分布式锁相较于锁来说,有几个问题需要解决:1、持有锁的进程因操作过长,导致自身的锁被释放,但是自身并不知晓这一点;2、持有锁的进程因操作过长不能及时释放锁,导致其他进程无法获取锁;3、在一个集成持
冥泷
·
2020-07-06 20:17
学习
组件
Tomcat
源码剖析
笔记(一)
一、Tomcat主要功能根据此图可知,tomcat可以处理接收的http请求,这里的http是以http报文的形式接收并进行处理,也就是说tomcat是一个http服务器,接收到http请求后会对它进行处理。tomcat其实是实现了servlet规范,所以tomcat也是一个servlet容器。所以说tomcat第一个功能是可以做http服务器(TCP、IP)进行socket通信。第二个是serv
slim_
·
2020-07-06 20:57
服务器
muduo网络库
设计的总结摘要与分析
首先是设计的分析,有了设计才能根据设计编码:1、单线程编程模型采用"non-blockingIO+IOmultiplexing",即Reactor模型。基本结构是一个事件循环,以事件驱动和事件回调的方式实现业务逻辑。优点:可以用于读写socket,连接的建立,甚至DNS解析都可以用非阻塞方式进行,以提高并发度和吞吐量,利于IO密集的应用。缺点:事件回调函数是非阻塞的,对于涉及网络IO请求响应式协议
小黄的雷雷
·
2020-07-06 17:37
muduo网络库
STL List::sort() 解析
转载地址:http://jiguiyuan.blog.163.com/blog/static/4336137820122133373886/看侯捷翻译那本《STL
源码剖析
》中list内置sort的算法,
lijun5635
·
2020-07-06 16:11
C/C++基础
STL
STL中sort排序
《STL
源码剖析
》关于sort算法实现的细节,并非所有容器都使用sort算法。关系型容器拥有自动排序功能,因为底层采用RB-Tree,所以不需要用到sort算法。
心向暖
·
2020-07-06 16:40
C++学习
Redis
源码剖析
之简单动态字符串
Redis是一个开源的key-value存储系统,现代软件的很多场景都需要使用这种类似的内存数据库,因此对Redis的深入了解是非常有必要的。本篇文章主要是通过阅读黄健宏老师的《Redis设计与实现》来记录自己的学习进度和加以总结。这是一份在github中开源的带有注释的Redis中简单动态字符串头文件源码,有兴趣阅读的朋友可以点开看。Redis中,C字符串只会作为字符串字面量用在一些无需对字符串
天天劈柴
·
2020-07-06 14:28
Redis
【Linux 内核网络协议栈
源码剖析
】网络栈主要结构介绍(socket、sock、sk_buff,etc)
http://blog.csdn.net/wenqian1991/article/details/46700177通过前面的分析,可以发现,网络协议栈中的数据处理,都是基于各类结构体,所有有关于网络栈中数据包的状态,地址,端口等信息都封装在对应的结构中,可以说,了解这些数据结构是理解网络栈源码的基础,这里我们就来了解下网络协议栈中的各类数据结构。Linux1.2.131、socket(includ
ztguang
·
2020-07-06 14:32
Linux内核/操作系统原理
网络协议—TCP/IP
select用法&原理详解(
源码剖析
)
最近刚接触Linux下的select用法,查阅了很多资料终于懂得了一丁点,故将自己查阅后有用的资料整理在这下面。博客链接都是很有价值,写的很好的文章。在研读源码时主要看的是这篇文章:深入select多路复用内核源码加驱动实现自己能力精力有限,没有办法自己写一篇完完整整的文章,故只能当个搬运工了,文章先后顺序尽量按照了知识点的先后~~如果有什么问题欢迎一起探讨学习~前期知识在开始接触select之前
对面『胶己人』
·
2020-07-06 12:13
C/C++
Linux
网络编程
《linux多线程服务端编程
muduo网络库
的使用》读后感
断断续续读完这本书(应该说是这本书前八章介绍网络库的部分),书的后面几章,实际上为了读懂前面某些内容时,也翻了不少,不过太多东西我还没有能力拿下。事先虽然已经大致读完两本UNP,但依然没能一鼓作气看完这本书。一是C++基础实在太差,很多东西都是递归的去学习(比如书中提到单例->线程安全的单例->DLC(doublelockcheck)提高性能)。二是虽然了解基本socket编程(毕竟UNP中都是e
NearXDU
·
2020-07-06 12:40
muduo和多线程学习
直播一对一视频交友源码,一对一直播开发直播间
源码剖析
一对一视频交友源码具有扁平化的系统功能,配合自主研发的直播间技术,完善的高并发数据处理解决方案,可搭建部署独立的一对一直播开发后的平台稳定运营。下面看一下直播间部分代码处理方案直播间部分privateViewmDecorView;protectedDragLayoutmRoot;//根布局protectedImageViewmBg;//背景图protectedViewGroupmWrap;//包裹
云豹科技官方
·
2020-07-06 11:19
一对一直播
直播平台开发
muduo网络库
的安装、编译和使用
原文:https://blog.csdn.net/amoscykl/article/details/83185400github项目地址https://github.com/chenshuo/muduo安装:#安装cmakesudoapt-getinstallcmake#安装boostsudoapt-getinstalllibboost-devlibboost-test-dev#三个非必须的依赖库
K²
·
2020-07-06 11:26
LINUX
C++
Nginx 模块自主开发七:
源码剖析
整个Nginx框架
在博客提到的Nginx模块自主开发四:模块数据结构一个很重要的数据结构ngx_module_s,所有的模块都是用这个结构体来表示。ngx_module_t结构体模块又分为ngx_core_module_t和ngx_xxx_module_t,而在ngx_module_t中会包含这两个结构,只不过不同类的模块包含不同的结构,一般会用ctx表示,ngx_module_t又用type这个域用来表示在模块的
youbingchen
·
2020-07-06 11:17
nginx
【Linux 内核网络协议栈
源码剖析
】socket 函数剖析
深度剖析网络协议栈中的socket函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来。1、应用层——socket函数为了执行网络I/O,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型。该函数只是作为一个简单的接口函数供用户调用,调用该函数后将进入内核栈进行系统调用sock_socket函数。#includeintsocket(intfamily,inttype,
selfimpr1991
·
2020-07-06 10:24
TCP/IP
OpenSource
【Linux 内核网络协议栈
源码剖析
】系统网络协议栈初始化及数据传输通道建立过程
本文先大致阐述系统协议栈初始化过程,然后剖析数据包的接收和发送通道过程,在文章最后着重梳理其过程及通道结构区别。源码版本:Linuxkernel1.2.13;工具:SourceInsight3.5下图为网络协议栈初始化程序流程框架本篇幅将根据上图来介绍系统网络协议栈的初始化过程。先从init/main.c文件出发,在执行了一系列涉及到具体处理器架构初始化代码之后,最终将进入到init/main.c
selfimpr1991
·
2020-07-06 10:24
TCP/IP
STL
源码剖析
——STL概论
1.STL简史SGISTL源码下载:SGI-STL-v3.3STL是StandardTemplateLibrary(标准模板库)的缩写。Standard是指STL是C++标准程序库的一部分,Template是指STL是一套模板,这也是STL最本质的特征。标准模板库使得C++编程语言在有了同Java一样强大的类库的同时,保有了更大的可扩展性。STL被内建在你的编译系统之内。STL的版本很多,常见的有
taxue505
·
2020-07-06 10:53
muduo网络库
源码解析 六
本章节我们来解析Buffer类(应用层缓冲区)的设计以及TcpConnection接收和发送数据。我们首先来回顾一下muduo的IO模型:oneloopperthread+IOmultiplexingeventloop是non-blocking网络编程的核心,而non-blocking几乎总是和IOmultiplexing一起使用:(1)没有人真的会使用轮询来检查某个non-blockingIO操
徐九五
·
2020-07-06 09:25
C++
学习
2019最新《第一部分:深入浅出Netty4
源码剖析
》
1重要声明-必看免费播放3Netty服务器的构建100.0元5Netty客户端实现接服务器收响应数据200.0元7NettyServerBootstrap启动的详细过程类图分析200.0元9NioEventLoop接收客户端请求过程200.0元11读半包处理分析300.0元13异步多线程同时write数据处理分析300.0元15写半包处理详细过程分析300.0元17netty内存管理整个流程分析3
x12345678901h
·
2020-07-06 08:03
2018深入浅出Netty
源码剖析
最新
想完全随心所欲的掌控Netty的每一个细节3、想成为一名高级Netty研发工程师官方课程链接:http://www.xuetuwuyou.com/course/157课程目录:课时1:重要声明课时2:Netty
源码剖析
简介课时
无关风月。
·
2020-07-06 05:24
Spark executor 模块④ - Task 的执行流程
Task的执行流程相关内容在一年多以前的文章Task的调度与执行
源码剖析
中已经介绍了很多,但那篇文章内容过长、条理不够清楚并且版本过于久远(本次针对2.0),这里趁分析executor模块的机会再写一写
牛肉圆粉不加葱
·
2020-07-06 03:58
Python
源码剖析
笔记7-类机制
拖了好一段时间了,终于有空来看看python中的类机制了。内容太多,感觉有些地方还是模糊的,先写一些吧,有错误烦请指出。1Python对象模型1.1概述python2.2之前的这里就不考虑了,从2.2之后python对象分为两类,class对象和instance对象,另外还有个术语type用来表示“类型”,当然class有时候也表示类型这个概念,比如下面的代码,我们定义了一个名为A的class对象
__七把刀__
·
2020-07-06 03:23
《Linux 多线程服务端编程:使用 muduo C++ 网络库》网上书店预订
本书以
muduo网络库
为例,讲解这种编程模型的使用方法及注意事项。本书的宗旨是贵精不贵多
njit_peiyuan
·
2020-07-06 00:43
Redis
源码剖析
之主从复制
1.复制2.数据库状态一致主从复制,服务器双方数据库将保存相同的数据,这种现象称为“数据库状态一致”3.执行方式>>>slaveof127.0.0.163794.旧版复制功能的实现(2.8以前的版本)复制功能都分为两个基本步骤:同步和命令传播同步:将从服务器的数据库状态更新至主服务器当前所处的数据库状态。命令传播:主服务器的数据库状态被修改,导致主从服务器的数据库状态不一致,让主从服务器数据库重新
weixin_33933118
·
2020-07-05 23:03
FBKVOController
源码剖析
与学习
建议查看原文:https://www.jianshu.com/p/4a3f9fe13e5a(不定时更新)
源码剖析
学习系列:(不断更新)1、FBKVOController
源码剖析
与学习2、MJRefresh
Dwyane_Coding
·
2020-07-05 23:12
Spring缓存
源码剖析
:(二)CacheManager
一、CacheManager总览如果需要Spring缓存可以正常工作,必须配置一个CacheManager。CacheManager实现类你可以配置Spring-context本身提供的SimpleCacheManager和ConcurrentMapCacheManager等。或者使用RedisCacheManager将缓存内容存放到Redis中。下面类图中RedisCacheManager来自于
weixin_30817749
·
2020-07-05 22:13
STL
源码剖析
(中文完整版)pdf
下载地址:网盘下载学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。这本书所呈现的源码,使读者看到vector的实现、list的实现、heap的实现、deque的实现、RedBlacktree的实现、hashtable的实现、set/map的实现;看到各种算法(排序、查找、排列组合、数据移动与复制
weixin_30670925
·
2020-07-05 21:49
muduo网络库
架构总结
目录
muduo网络库
简介
muduo网络库
模块组成Recator反应器EventLoop的两个组件TimerQueue定时器EventfdConnector和Acceptor连接器和监听器AcceptorConnectorTcpConnectionTcpServer
weixin_30485291
·
2020-07-05 21:15
LINUX网络协议栈--UDP
开场白传输层常见的两大协议TCP和UDP,TCP太复杂,涉及到拥塞控制的很多内容,在《Linux内核
源码剖析
-TCP/IP实现》下册中也花费了大量的笔墨来讲述。咋们先来看看一个简单的UDP。
明何
·
2020-07-05 20:33
linux
Spring容器刷新
源码剖析
-finishBeanFactoryInitialization(beanFactory)
1.1⭐AbstractApplicationContext#beanFactory.preInstantiateSingletons()protectedvoidfinishBeanFactoryInitialization(ConfigurableListableBeanFactorybeanFactory){//初始化BeanconversionServiceif(beanFactory.c
userheng
·
2020-07-05 19:01
Spring
【C++】一个基于Reactor的多线程Web服务器
Description:C++编写的web服务器,借鉴了《
muduo网络库
》的思想;使用了Reactor并发模型,非阻塞IO+线程池;解析了get、head请求;并实现了异步日志,记录服务器运行状态。
HJ_彼岸
·
2020-07-05 18:04
C++
Reactor
WebServer
epoll
eventloop
muduo
【STL
源码剖析
】第四章 序列式容器 之 stack和queue底层实现
stackstack概述stack是一种先进后出的数据结构。它只能有一个出口。stack允许新增元素、移除元素、取得最顶端元素。但除了最顶端元素外,没有任何其他方法可以存取stack的其他元素。换言之,stack不允许有遍历行为。将新元素推入stack的操作称为push,将元素推出stack的操作称为pop。stack定义完整列表以某种既有容器作为底部结构,将其接口改变,使之符合“先进先出”的特性
stt2019
·
2020-07-05 17:15
STL源码剖析
上一页
43
44
45
46
47
48
49
50
下一页
按字母分类:
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
其他