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网络库源码剖析
Netty
源码剖析
之内存池和对象池设计流程
1、为什么需要池化内存Netty作为底层网络框架,为了更高效的网络传输性能,堆外内存(DirectByteBuffer)的使用是非常高频的。堆外内存在JVM之外,在有效降低JVMGC压力的同时,还能提高传输性能。但它也是一把双刃剑,堆外内存是非常宝贵的资源,申请和释放都是高成本的操作,使用不当还可能造成严重的内存泄露等问题。堆外内存性能问题:创建堆外内存的速度比堆内存慢了10到20倍那么进行池化管
白鸽呀
·
2023-11-12 13:37
Netty源码
Java源码
jvm
java
算法
JVM
源码剖析
之线程的创建过程
版本信息:jdk版本:jdk8u40
源码剖析
:publicclassThreadimplementsRunn
程序员李哈
·
2023-11-12 13:37
源码解读
Java底层
java
JVM源码
多线程
JVM
源码剖析
之Thread类中sleep方法
源码剖析
:话不多说,先从Java层面看一下sleep这个方法。publicstaticnativevoidslee
程序员李哈
·
2023-11-12 13:06
Java底层
源码解读
java
jvm
JVM
源码剖析
之软、弱、虚引用的处理细节
目录写在前面:
源码剖析
:Java层面:JVM层面:使用危险点:总结:版本信息:jdk版本:jdk8u40垃圾回收器:Serialnew/old写在前面:不同的垃圾回收器所对应的算法不一样,效率更不一样。
程序员李哈
·
2023-11-12 13:30
Java底层
源码解读
java
JVM源码
【Spring生命周期核心底层源码之剖析】
文章目录一、Spring生命周期核心底层
源码剖析
—扫描1.1、Spring底层扫描机制doScan方法
源码剖析
一、Spring生命周期核心底层
源码剖析
—扫描1.1、Spring底层扫描机制doScan方法
源码剖析
其源代码如下
三河与木
·
2023-11-11 21:39
Spring相关
spring
java
Java设计模式(六):行为型模式(备忘录模式、解释器模式、状态模式、策略模式、职责链模式)
备忘录模式的注意事项和细节二·解释器模式2.1四则运算问题2.2传统方案解决四则运算问题分析2.3解释器模式基本介绍2.4解释器模式的原理类图2.5解释器模式来实现四则2.6解释器模式在Spring框架应用的
源码剖析
朱yoyo
·
2023-11-10 20:43
设计模式
java
策略模式
设计模式
muduo
源码剖析
之Connector客户端连接类
简介Connector负责主动发起连接,不负责创建socket,只负责连接的建立,外部调用Connector::start就可以发起连接,Connector具有重连的功能和停止连接的功能,连接成功建立后返回到TcpClient。主要成员及属性解析主要接口setNewConnectionCallback设置TcpClient交给的回调函数start最后通过loop的runInLoop调用调用conn
@新法
·
2023-11-10 03:45
muduo源码剖析
c++
网络
服务器
后端
muduo
源码剖析
muduo网络库
学习总结:基本架构及流程分析
muduo网络库
学习:基本架构及流程分析基本架构BasicReactorMutipleReactor+ThreadPoolmuduo库的基本使用基本结构介绍EventLoop类Poller类Channel
moumde
·
2023-11-10 03:11
epoll
网络
muduo
c++
383-
muduo网络库
编程
muduo网络库
编程
muduo网络库
的底层就是epoll加linux的pthread线程库。所以muduo库只能装在linux环境中。
muduo网络库
的安装见我的另外一篇博客就可以。
林林林ZEYU
·
2023-11-10 03:38
C++实现校园集群聊天服务器
网络
linux
多线程
182-
muduo网络库
(陈硕)编程
1、
muduo网络库
编程
muduo网络库
的底层就是epoll加linux的pthread线程库。所以muduo库只能装在linux环境中。
liufeng2023
·
2023-11-10 03:38
重写C++muduo库
网络
服务器
linux
muduo
源码剖析
之TcpClient客户端类
简介muduo用TcpClient发起连接,TcpClient有一个Connector连接器,TCPClient使用Conneccor发起连接,连接建立成功后,用socket创建TcpConnection来管理连接,每个TcpClientclass只管理一个TcpConnecction,连接建立成功后设置相应的回调函数。很显然,TcpClient用来管理客户端连接,真正连接交给Connector。
@新法
·
2023-11-10 03:06
muduo源码剖析
服务器
后端
c++
muduo
linux
源码剖析
网络编程
Trino
源码剖析
Functionsfunction反射和注册io.trino.operator.scalar.annotations.ScalarFromAnnotationsParser这里是提取注解元素的方法StringbaseName=scalarFunction.value().isEmpty()?camelToSnake(annotatedName(annotated)):scalarFunction.
zhixingheyi_tian
·
2023-11-09 20:48
spark
spark
大数据
C++11绑定器bind及function机制
Python量化交易实战入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统前言之前在学
muduo网络库
时,看到陈硕以基于对象编程的方式,大量使用boost库中的bind和function机制
虚幻私塾
·
2023-11-09 07:54
python
计算机
muduo
源码剖析
之TimerQueue类
简介TimerQueue通过timerfd实现的定时器功能,为EventLoop扩展了一系列runAt,runEvery,runEvery等函数TimerQueue中通过std::set维护所有的Timer,也可以使用优先队列实现muduo的TimerQueue是基于timerfd_create实现,这样超时很容易和epoll结合起来。等待超时事件保存在set集合中,注意set集合的有序性,从小到
@新法
·
2023-11-09 07:05
muduo源码剖析
服务器
c语言
后端
linux
muduo
timer
源码剖析
Nacos源码系列——第二章(Nacos核心源码主线剖析下)
Nacos高并发支撑异步队列与内存队列剖析Nacos心跳机制(讲了一半)那么本节课我们将继续带着大家往下看几个点Nacos服务发现源码深度剖析Nacos心跳机制与服务健康检查深度剖析Nacos服务变动事件发布
源码剖析
风清扬逍遥子
·
2023-11-08 22:19
Dubbo微服务专题
java
Nacos
【算法之排序篇】 堆排序详解!(源码+图解)
文章目录前言️堆的理论概念☁️堆的思想️堆的代码具体实现☁️图解☁️源码☁️
源码剖析
️堆排序特性☁️不稳定排序☁️时间复杂度☁️原地排序☁️不适用于小数据集☁️堆的构建和调整☁️适用于外部排序☁️稳定性
屿小夏.
·
2023-11-08 10:47
#
排序篇
算法
数据结构
开发语言
c语言
【RocketMQ】浅谈消息发送机制
【RocketMQ】浅谈消息发送机制参考资料:消息发送核心参数与工作原理详解RocketMQ消息发送流程RocketMQ消息发送原理详解
源码剖析
结合实际应用场景谈消息发送《RocketMQ技术内幕》文章目录
小颜-
·
2023-11-08 08:09
MQ
java-rocketmq
rocketmq
数据库
网络
面试
java
Netty 核心源码解析
Netty第一讲:Netty架构与原理本文是《Netty三讲》的第二讲:Netty核心源码解析(部分),大纲如下:前言1.Netty服务端启动过程
源码剖析
1.1.执行newNioEventLoopGroup
Y_YoungSun
·
2023-11-08 00:25
netty
netty
java
spring
apache
Netty核心
源码剖析
(一)
1.Netty启动过程
源码剖析
1>.将io.netty.exampler.echo包下的文件复制到当前项目的其他目录中;2>.EchoServer.java/***Echoesbackanyreceivedda
一code当先
·
2023-11-08 00:54
netty
java
ssl
开发语言
nio
后端
第 10 章 Netty 核心
源码剖析
②
PipelineHandlerHandlerContext创建
源码剖析
ChannelPipeline调度handler的
源码剖析
源码剖析
目的Netty中的ChannelPipeline、ChannelHandler
奋斗小亮
·
2023-11-08 00:24
Netty
Netty网络框架学习笔记-12(Netty核心
源码剖析
-启动)
Netty网络框架学习笔记-12(Netty核心
源码剖析
-启动_2022.6.9)Netty(服务器)的启动分析源码分析的方式走一下Netty(服务器)的启动过程,更好的理解Netty的整体设计和运行机制
懵懵懂懂程序员
·
2023-11-08 00:54
Netty
网络
学习
java
Netty核心
源码剖析
Netty线程模型图Netty高并发高性能架构设计精髓主从Reactor线程模型NIO多路复用非阻塞无锁串行化设计思想支持高性能序列化协议零拷贝(直接内存的使用)ByteBuf内存池设计灵活的TCP参数配置能力并发优化无锁串行化设计思想 在大多数场景下,并行多线程处理可以提升系统的并发性能。但是,如果对于共享资源的并发访问处理不当,会带来严重的锁竞争,这最终会导致性能的下降。为了尽可能的避免锁竞
Tacy0213
·
2023-11-08 00:45
ZK&Netty
分布式
muduo
源码剖析
之Timer定时器
简介Timer类是
muduo网络库
中的一个定时器类,用于在指定的时间间隔后执行某个任务。Timer类提供了一系列的方法来创建、启动、停止和删除定时器,以及设置定时器的时间间隔和回调函数等。
@新法
·
2023-11-08 00:33
muduo源码剖析
linux
服务器
后端
c语言
muduo
源码剖析
定时器
muduo
源码剖析
之InetAddress
InetAddressInetAddress类是
muduo网络库
中的一个重要类,用于表示网络中的IP地址和端口号。
@新法
·
2023-11-08 00:18
muduo源码剖析
c++
服务器
后端
muduo
源码剖析
redis ,redisson 分布式锁深入剖析
redis分布式锁redis原始分布式锁实现加锁释放锁redis分布式锁存在的问题redisson实现分布式锁redisson是什么redisson加锁方法
源码剖析
redissonwatchdog是什么
Corn-玉米
·
2023-11-07 20:32
微服务
高并发
分布式锁
redis
lock
redisson
redlock
watchdog
【muduo
源码剖析
】Buffer类的设计
文章目录为什么要有缓冲区的设计Buffer缓冲区设计Buffer基本成员读写数据时对Buffer的操作向Buffer写入数据:readFd空间不够怎么办?从Buffer中读取数据TcpConnection使用BufferTcpConnection接收客户端数据(从客户端sock读取数据到inputBuffer)TcpConnection向客户端发送数据(将ouputBuffer数据输出到socke
Last-Week
·
2023-11-07 07:31
muduo源码解析
网络
网络协议
muduo
服务器
muduo
源码剖析
之Socket类
Socket封装了一个sockfd相关的设置比较简单,已经编写注释//Copyright2010,ShuoChen.Allrightsreserved.//http://code.google.com/p/muduo/////UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicensefile.//Auth
@新法
·
2023-11-07 07:31
muduo源码剖析
muduo
后端
服务器
linux
c语言
c++
源码剖析
【muduo
源码剖析
】Thread/ThreadPool源码解析
文章目录前言从EchoServer入手查看调用过程EventLoopThreadPool详解EventLoopThreadPool重要成员线程池中简单的负载均衡EventLoopThread详解EventLoopThread重要变量开启事件循环的细节Thread::start()真正开始创建线程前言参考muduo库使用C++11重写网络库GitHub地址:TinyC++NetworkLibrary
Last-Week
·
2023-11-07 07:01
muduo源码解析
c++
linux
后端
服务器
muduo
【muduo
源码剖析
】Channel设计分析
文章目录什么是Channel成员变量成员函数设置此Channel对于事件的回调函数设置Channel感兴趣的事件到Poller更新Channel关注的事件移除操作用于增加TcpConnection生命周期的tie方法(防止用户误删操作)根据相应事件执行Channel保存的回调函数完整代码Channel.hChannel.cc参考什么是Channel参考muduo库使用C++11重写网络库GitHu
Last-Week
·
2023-11-07 07:31
muduo源码解析
网络
c++
linux
后端
muduo
【muduo
源码剖析
】Poller/EPollPoller设计分析
文章目录muduo是怎么实现I/O复用的基类Poller的设计newDefaultPollerEPollPoller类设计成员函数返回发生事件的poll方法填写活跃的连接fillActiveChannels更新channel在epoll上的状态从epoll中移除监视的channel完整代码EPollPoller.hEPollPoller.cc参考muduo库使用C++11重写网络库GitHub地址
Last-Week
·
2023-11-07 07:31
muduo源码解析
后端
linux
c++
muduo
源码剖析
Muduo
源码剖析
笔记
muduo-note.md·Scut-Corgis/Muduo
源码剖析
笔记-码云-开源中国(gitee.com)
Scut-Corgis
·
2023-11-07 07:30
c++
muduo
源码剖析
--Buffer
Buffer类Buffer类是自定义处理数据输入缓冲的类,底层是vector,通过readIdx和writeIdx将缓冲区分为3个部分,第一部分是预留的8字节+已经读出的缓冲区字节数、第二部分是还未读出的部分、第三部分是可写的部分。Buffer类的设计是TcpConnection类设计的核心,一个TcpConnection必须有一个inputBuffer和一个outputBuffer。必须存在in
godaa
·
2023-11-07 07:55
muduo
c++
muduo网络库
多线程
socket
muduo
源码剖析
--EventLoop类
EventLoop类Reactor模式的实现类,连通Channel类和Poller类的桥梁,也是上层注册和回调的实际调用类。//事件循环类主要包含了两个大模块ChannelPoller(epoll的抽象)classEventLoop:noncopyable{public:usingFunctor=std::function;EventLoop();~EventLoop();//开启事件循环void
godaa
·
2023-11-07 07:55
muduo
c++
多线程
muduo网络库
socket
muduo
源码剖析
--Channel类
Channel类剖析channel在muduo中是对文件描述符的一种底层封装,具体而言是封装了对某个文件描述符的读写事件、错误事件、关闭事件的回调,并主要与EventLoop类进行交互,而EventLoop实际上是根据channel的调用实际调用poller或者EpollPoller进行文件描述符具体事件的管理。public:usingEventCallback=std::function;//m
godaa
·
2023-11-07 07:25
muduo
c++
多线程
muduo网络库
socket
muduo
源码剖析
--Poller/EpollPoller
Poller类Poller是EpollPoller和poll的基类实现,是一个虚基类,主要封装了IO多路复用的核心接口//muduo库中多路事件分发器的核心IO复用模块classPoller{public:usingChannelList=std::vector;Poller(EventLoop*loop);virtual~Poller()=default;//给所有IO复用保留统一的接口virt
godaa
·
2023-11-07 07:25
muduo
多线程
muduo网络库
socket
c++
muduo
源码剖析
- TcpConnection
说明1.TcpConnection封装了连接socket和他的不同事件的回调,以及两个缓冲区。一个TcpConnection只能由一个EventLoop管理.具体由哪个loop管理由TcpServer轮询IO线程池给分配一个。2.enable_shared_from_this,把当前对象转换成share指针,全局使用的都是它的智能指针。3.在连接到来,创建一个TcpConnection对象,立刻使
YanWenCheng_
·
2023-11-07 07:53
muduo
c++
后端
服务器
muduo
源码剖析
- worker线程池剖析
1、ThreadPool的成员变量:/*我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。*/mutableMutexLockmutex_;ConditionnotEmpty_GUARDED_BY(mutex_);//GUARDED_BY
YanWenCheng_
·
2023-11-07 07:22
muduo
c++
后端
muduo
源码剖析
之SocketOps类
SocketOps对socket设置API的封装比较简单,已经编写注释//Copyright2010,ShuoChen.Allrightsreserved.//http://code.google.com/p/muduo/////UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicensefile.//Au
@新法
·
2023-11-07 07:21
muduo源码剖析
c语言
服务器
后端
c++
muduo
源码剖析
网络编程
详解并发编程包之 Go errgroup
我们在之前的文章——
源码剖析
sync.WaitGroup(文末思考题你能解释一下吗?),从源码层面分析了sync.WaitGroup的实现,使用waitGroup可以实现一个goro
煎鱼(EDDYCJY)
·
2023-11-06 01:43
java
编程语言
go
python
golang
【设计模式从入门到精通】13-命令模式
笔记来源:尚硅谷Java设计模式(图解+框架
源码剖析
)文章目录命令模式1、智能生活项目需求2、基本介绍3、命令模式解决智能生活项目4、Spring框架JdbcTemplate源码分析5、命令模式的注意事项和细节命令模式
VectorUx
·
2023-11-05 04:28
设计模式从入门到精通
设计模式
命令模式
《React Native 精解与实战》书籍连载「React Native 源码学习方法及其他资源」
15.6ReactNative
源码剖析
我们在学习了Reac
DevOpenClub
·
2023-11-04 15:12
Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第七章 muduo编程示例(上)
本章将介绍如何用
muduo网络库
完成常见的TCP网络编程任务。内容如下:1.[UNP]中的五个简单协议,包括echo、daytime、time、discard、chargen等。
吃着火锅x唱着歌
·
2023-11-04 13:43
C++网络库
linux
c++
网络
Eureka
源码剖析
思考一些问题Eureka注册中心使用什么样的方式来储存各个服务注册时发送过来的机器地址和端口号?各个服务找EurekaServer拉取注册表的时候,是什么样的频率?各个服务是如何拉取注册表的?一个几百服务,部署上千台机器的大型分布式系统,会对EurekaServer造成多大的访问压力?EurekaServer从技术层面是如何抗住日千万级访问量的?前提须知各个服务内的EurekaClient组件,默
康俊1024
·
2023-11-04 10:46
c++程序员的十年编程功底你能接几成?
前言:(c++入门干货分享)1.书籍推荐:《C++Primer第5版》->《EffectiveC++》->《Effectivestl》->《STL
源码剖析
》->《深度探索C++对象模型》2.学习网站:推荐
小智的IT世界
·
2023-11-04 04:46
c++
开发语言
Java集合之List类型--LinkedList底层
源码剖析
文章目录1、LinkedList简介2、LinkedList底层实现2.1、LinkedList初始化2.2、添加元素2.3、查找给定元素3、总结1、LinkedList简介 LikedList是List接口的实现类,与ArrayList不同的是它的底层实现不是数组,而是一个双向链表。由此我们可以知道,LinkedList比起ArrayList更适合做插入删除等操作,因为ArrayList在指定
LessenPaul
·
2023-11-03 22:04
Java基础及源码剖析
数据结构与算法
java
list
链表
数据结构
算法
HDFS架构师3.1-元数据管理流程2(日志同步及fsimage互传)
19}20}21}22}元数据
源码剖析
.png1、内存里面的元数据刷盘image.png19}接上期——1.1.1.1》FSEditLog.logSync()——1.1.1.1.1》EditLogOutputStream.flush
fat32jin
·
2023-11-03 06:11
自己动手写C++迭代器
综述关于STLiterator和iteratoradapter的部分我已在先前的博客stl
源码剖析
笔记之iterator中有所提及,下面我们可以试着自己动手写一个简单的迭代器工具step_iterator
朱明代月
·
2023-11-02 22:01
iterator
STL
iterator
facade
Boost
迭代器
kafka生产者源码解析
文章学习自《ApacheKafka
源码剖析
》和实际源码。
yyoc97
·
2023-11-02 16:32
大数据
Kafka
kafka
生产者
源码解析
架构
大数据
JavaSE之HashMap源码面试
看这篇就够了)JavaSE之HashMap1常见问题2预备知识2.1位运算知识2.2ArrayList2.3LinkedList2.4RedBlackTree(红黑树)2.5HashTable3.HashMap
源码剖析
黑面|书生
·
2023-11-02 16:18
JavaSE
java
面试
数据结构
链表
Flutter之GetX controller tag使用详解
作用前面几篇文章介绍了GetX依赖注入的使用以及通过
源码剖析
了依赖注入的原理:•《Flutter应用框架搭建(一)GetX集成及使用详解》•《Flutter通过源码一步一步剖析Getx依赖管理的实现》•
shelutai
·
2023-11-02 07:47
flutter/dart
flutter
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他