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源码笔记
muduo
网络编程库阅读
正文遵循Reactor模型,封装了EventLoop。有以下特点:利用MutexLockGuard->MutexLock->pthread_mutex_t控制EventLoop::pendingFunctors_的线程安全。回调函数,std::function和std::bind的大量应用。用于回调读/写/错误/关闭等事件。高度抽象。用TcpConnection封装Channel,后者封装了soc
不存在的里皮
·
2023-04-09 10:34
Mybatis框架
源码笔记
(七)之Mybatis中类型转换模块(TypeHandler)解析
1、JDBC的基本操作回顾这里使用伪代码概括一下流程:对应数据库版本的驱动包自行下载加载驱动类(Class.forName("com.mysql.cj.jdbc.Driver"))创建Connection连接:conn=DriverManager.getConnection("jdbc:mysql://数据库IP:port/数据库名称?useUnicode=true&characterEncodi
嫣夜来
·
2023-04-09 09:07
Spring全家桶
Mybatis
Java
mybatis
java
数据库
Mybatis框架
源码笔记
(八)之Plugin插件原理解析
1、插件概述引用一段官网的译文MyBatis允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setP
嫣夜来
·
2023-04-09 09:07
Mybatis
Spring全家桶
Java
mybatis
java
mysql
Mybatis框架
源码笔记
(五)之Mybatis框架缓存机制原理解析
1Mybatis框架的缓存模块MyBatis内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。Mybatis框架中的缓存分为一级缓存和二级缓存,三级缓存基本都要借助自定义缓存或第三方服务来进行实现。但本质上是一样的,都是借助Cache接口实现的。缓存模块在Mybatis的源码结构中是在org.apache.ibatis.cache包下面存放着的,如下图:2Cache接口Cache接口
嫣夜来
·
2023-04-09 09:06
Java
Mybatis
Spring全家桶
mybatis
缓存
学习
Mybatis框架
源码笔记
(九)之反射工具类解析
1反射工具类Java中的反射功能虽然强大,但是代码编写起来比较复杂且容易出错。Mybatis框架提供了专门的反射包,对常用的反射操作进行了简化封装,提供了更简单方便的API给调用者进行使用,主要的反射包代码结果如下:2核心接口2.1ObjectFactory接口MyBatis每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。默认的对象工厂需要做的仅仅是实例
嫣夜来
·
2023-04-09 09:36
Spring全家桶
Mybatis
Java
mybatis
java
开发语言
Mybatis框架
源码笔记
(十)之Mybatis中的设计模式
1Mybatis框架中应用到的设计模式1、单例模式:例如LogFactory、ErrorContext2、工厂模式:例如SqlSessionFactory、ObjectFactory、MapperProxyFactory3、建造者模式:例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、C
嫣夜来
·
2023-04-09 09:58
Spring全家桶
Mybatis
Java
mybatis
设计模式
java
几行代码轻松实现跨系统传递 traceId,再也不用担心对不上日志了!
公众号:liuzhihangs,记录工作学习中的技术、开发及
源码笔记
;时不时分享一些生活中的见闻感悟。欢迎大佬来指导!
程序员小航
·
2023-04-08 10:37
工作笔记
分布式
java
大数据
muduo
源码分析之回调模块
这次我们主要来说说
muduo
库中大量使用的回调机制。
shicoder
·
2023-04-08 10:14
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
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++
三方库
源码笔记
(5)- LeakCanary 源码详解
对于AndroidDeveloper来说,很多开源库都是属于开发必备的知识点,从使用方式到实现原理再到源码解析,这些都需要我们有一定程度的了解和运用能力。所以我打算来写一系列关于开源库源码解析和实战演练的文章,初定的目标是EventBus、ARouter、LeakCanary、Retrofit、Glide、OkHttp、Coil等七个知名开源库,希望对你有所帮助LeakCanary是由Square
业志陈
·
2023-04-05 08:38
Muduo
库编译时提示错误deprecated: Please use ByteSizeLong() instead
错误提示如下解决方法在
muduo
库的CMakeList中添加编译选项-Wno-deprecated-declarations
qq_42120843
·
2023-04-05 01:13
Muduo
muduo
c++
muduo
库使用方法(一)
库安装
Muduo
库和boost库安装参考:Linux平台下
muduo
网络库源码编译安装
Muduo
库简介
muduo
库线程模型采用sub-Reactor模式,采用nonblockio+oneloopperthread
qq_42120843
·
2023-04-05 01:13
Muduo
C/C++
网络编程
服务器
c++
终于拿到了阿里2022年度九大Java技术文档——面试题+文档+白皮书
2022年阿里巴巴面试参考指南(泰山版)阿里巴巴1000道Java工程师面试题(2022版)阿里巴巴2022版JDK
源码笔记
(2月第三版)阿里巴巴Java开发手册1.4.0阿里巴巴Java性能调优实战(
唐宇架构师
·
2023-04-04 20:02
java
spring
tomcat
struts
maven
hashmap手撕
源码笔记
文章目录一、概述二、什么是hash三、HashMap原理讲解1.Node的数据结构分析2.底层数据结构3.什么是Hash碰撞4.解决Hash碰撞的方法5.什么是链化6.HashMap的扩容原理7.手撕源码1.hashmap构造方法2.HashMapput方法分析-putVal3.HashMapresize扩容方法分析核心4.HashMapget方法分析5.HashMapremove方法分析6.Ha
java满杯百香果
·
2023-04-04 05:14
java基础
哈希算法
java
数据结构
撸了郭霖大神写的Framework
源码笔记
,再不刷题就晚了!
我,来自大山。我,不甘平凡。笔者80后,出生在江西一个偏远的山村。虽然出生时已经不是那个温饱都是问题的年代,但是也谈不上有个幸福的童年。家里很穷。幼儿园并没有读,因为家里觉得花那个钱没有必要,小学才开始学拼音字母。我的童年,就是和我的姐姐弟弟在山中的梯田里放牛,抓泥鳅,割鱼草。父亲在广东打工,母亲一个人在家里带着我们三个孩子。种种原因,在我从小学开始到高中毕业,我的学习一直很差。直到我高考成绩出来
赵是水瓶座
·
2023-04-04 05:29
程序员
Android
Spring AOP AspectJ注解
源码笔记
简单demo:github自定义切面MyAspect@Aspect@Component@EnableAspectJAutoProxypublicclassMyAspect{@Pointcut(value="execution(*com.tianwen.spring.service..*.*d1(..))")publicvoidpointcut(){}@Around(value="pointcut(
丶含光
·
2023-04-02 14:00
Linux C/C++网络编程实战-陈硕-笔记11-Roundtrip代码分析
代码UDP,twothreadsrecipes/tpc/roundtrip_udp.ccUDPwith
muduo
,singlethread
muduo
/examples/roundtrip/roundtrip_udp.ccTCPwith
muduo
muduo
Anita-Sun
·
2023-04-02 11:36
Linux
linux
网络
c语言
springiocIOC
源码笔记
getBean过程
主要是从bean工厂获取指定名称的bean实例,如果获取不到,则会执行实例化,属性填充,初始化等一系列操作。主要看一下getBean的doGetbean方法
攻城狮numberOne
·
2023-04-02 10:19
spring
这份面试100问(附解析)+手绘架构脑图+手写版Spring
源码笔记
,教你一招制敌!
莫慌莫慌,今天就来跟你好好唠嗑唠嗑Spring,一套集结Spring面试、知识体系大纲还有源码解读的宝藏级笔记。先来搞清楚,什么是Spring?Spring是一个开源框架,是于2003年兴起的一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。然而,Spring的用
独孤球球
·
2023-04-02 06:10
spring
面试
java
最强Spring:面试100问(附解析)+手绘架构脑图+手写版Spring
源码笔记
,吊打面试官不成问题!
最强Spring:面试100问(附解析)+手绘架构脑图+手写版Spring
源码笔记
,吊打面试官不成问题!如果去某厂面试,却被杠精卡在Spring,是种什么体验?
熬夜加班写代码
·
2023-04-02 06:34
Java
程序员
源码
spring
源码
面试
仅靠一文便火爆全网,开源阿里绝密800页JDK
源码笔记
:霸榜GitHub
谈到JDK源码,小编也是做了一番准备,耗费时间特意收集了一份阿里大佬多年心得撰写的JDK
源码笔记
。和大家一起来探讨。那么,下面就和小编一起来深入了解JDK源码吧
该用户快成仙了
·
2023-04-02 04:57
java
面试
开发语言
Muduo
源码刨析-完成服务器功能的TcpServer类
目录TcpServer类功能数据成员暴露的接口TcpServer类功能 TcpServer是
muduo
库中创建Tcp服务器的类,可以通过对:TcpServer的msgcallback进行设置,可以完成我们想要的服务器功能
c++终结者
·
2023-04-02 03:16
服务器
网络
muduo
库http源码分析
httprequestHTTP请求包含:requestline+header+body(header分为普通报头,请求报头与实体报头)header与body之间有一空行(CRLF)请求方法有:Get,Post,Head,Put,Delete等协议版本1.0、1.1常用请求头Accept:浏览器可接受的媒体(MIME)类型;Accept-Language:浏览器所希望的语言种类Accept-Enco
houcaihua
·
2023-04-02 01:17
http
网络协议
网络
muduo
网络库示例 (限制并发数和踢掉空闲连接)
限制服务器最大并发连接数(
Muduo
Manual.pdfP108)这个比较简单,在连接里面判断最大数量断开连接。
houcaihua
·
2023-04-02 01:17
网络
服务器
muduo
库net源码分析一(网络编程本质)
TCP网络编程最本质的是处理三个半事件1、连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接。2、连接断开:主动断开(close、shutdown),被动断开(read返回0)。3、消息到达:文件描述符可读。4、消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件,这里的发送完毕是指数据写入操作系统缓冲区,将由TCP协议栈负责数据的发送与重传,不代表对方已经
houcaihua
·
2023-04-02 01:16
网络
tcp/ip
服务器
muduo
网络库源码分析
muduo
网络库源码分析发布一个基于Reactor模式的C++网络库01主从Reactor网络模型TcpClient客户端代码维护了Connector模块事件分发器主要由EventLoop类实现Eventloop
-特立独行的猪-
·
2023-04-01 23:18
计算机网络
网络
Java多线程知识点总结(思维导图+
源码笔记
)
转自:https://blog.csdn.net/yelvgou9995/article/details/107408709多线程大家在初学的时候,对这个知识点应该有不少的疑惑的。我认为主要原因有两个:多线程在初学的时候不太好学,并且一般写项目的时候也很少用得上(至少在初学阶段时写的项目基本不需要自己创建线程)。多线程的知识点在面试经常考,多线程所涉及的知识点非常多,难度也不低。这就会给人带来一种
july32
·
2023-04-01 21:32
多线程和并发
Kafka 3.0
源码笔记
(9)-Kafka 服务端元数据的主从同步
Fetch完成HW同步2.元数据主从同步源码分析2.1Follower节点Fetch请求的发起2.2Leader节点对Fetch请求的处理2.3Follower节点对Fetch响应的处理前言在Kafka3.0
源码笔记
谈谈1974
·
2023-04-01 08:48
Kafka
源码笔记
kafka
后端
中间件
分布式
Kafka 3.0
源码笔记
(10)-Kafka 服务端消息数据的主从同步源码分析
文章目录前言1.消息数据主从同步的流程2.消息数据主从同步源码分析2.1元数据变动的发布2.2变动元数据的消费应用2.3主从副本的消息数据同步前言Kafka3.0
源码笔记
(9)-Kafka服务端元数据的主从同步中笔者在文章的末尾提到了元数据主从同步完成后
谈谈1974
·
2023-04-01 08:48
Kafka
源码笔记
kafka
scala
中间件
分布式
muduo
---C++网络编程库
陈硕
muduo
参考资料
muduo
源码剖析
Muduo
是一个基于Reactor模式的现代C++网络库,它采用非阻塞IO模型,基于时间驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序
Mr.liang呀
·
2023-03-31 20:18
TCP/IP网络编程
Linux高性能服务器
C++基础
c++
网络
架构
一、重写
muduo
网络库之服务器编程及测试
目录一、基于
muduo
网络库开发服务器程序的基本步骤1、组合TcpServer对象2、创建EventLoop事件循环对象的指针3、明确TCPServer构造函数需要的参数,输出ChatServer的构造函数
小鱼的编程之路
·
2023-03-31 11:03
Linux网络编程
重写muduo网络库
服务器
网络
运维
Muduo
网络库核心梳理
Muduo
网络库
Muduo
网络库本身并不复杂,是一个新手入门C++面向对象网络编程的经典实战项目。但是,新手在刚刚上手读代码的时候,非常容易陷入代码的汪洋大海,迷失方向。
wbvalid
·
2023-03-31 10:16
C++
c++
网络
编程语言
linux
muduo
库介绍
muduo
库是一个多线程服务器开发库
muduo
作者陈硕,现在在美国加州硅谷某互联网大公司工作,从事大规模分布式的可靠系统工程。
houcaihua
·
2023-03-31 10:10
服务器
运维
muduo
网络库示例(聊天服务器)
聊天服务器(
Muduo
Manual.pdfP66)examples/asio/chat/server.cc单线程examples/asio/chat/server_threaded.cc,多线程TcpServer
houcaihua
·
2023-03-31 10:10
服务器
网络
后端
c++
muduo
网络库源码详解(2) —— 以EchoServer为例子,从TcpServer的初始化说起
muduo
网络库源码详解(2)以EchoServer为例子,从TcpServer的初始化说起,分析ConnectionCallback回调函数是如何一步步设置到Channel里的主要参考了陈硕的书《Linux
爱好学习的青年人
·
2023-03-31 10:07
muduo
net库源码分析
网络
linux
[剖析
muduo
网络库]1.IO的阻塞和非阻塞、同步和异步
muduo
库作者陈硕老师原话:在处理IO的时候,阻塞和非阻塞都是同步IO,只有使用了特殊的API才是异步IO如果说的是业务层面上的一个逻辑处理是同步还是异步的时候,那么:同步:A操作等待B操作做完事情后
下酒番陪绅士
·
2023-03-31 10:02
muduo网络库
c++
网络
简单模仿下
muduo
网络库的封装
文章目录一、基础socket编程二、抽象与层次2.1InetAddress封装2.2Socket封装2.3Epoll封装2.4Channel封装2.5Acceptor封装2.6Connection封装2.7Threadpool封装2.8Eventloop封装2.9TCPserver封装三、小结一、基础socket编程网络编程的底层离不开socket,其处理流程表示如下:intsockfd=sock
阿杰的小鱼塘
·
2023-03-31 10:11
网络
C++
网络
服务器
c++
线程池
muduo
网络库—分布式系统知识精要
目录1、编译期常量2、定义类型并使用3、分布式网络问题——TCPIncast问题4、分布式网络问题——Fat-tree网络拓扑5、分布式系统和单机系统的区别6、如何做到负载均衡7、分布式系统时间与时间顺序违反直觉8、能随时重启进程作为程序设计目标9、如何重启10、分布式中心跳协议11、有状态服务和无状态服务12、SO_REUSEADDR13、socket的四个地址信息14、分布式系统中的进程标识1
贪睡的蜗牛
·
2023-03-31 10:33
C++11重写muduo网络库
分布式
网络
muduo
网络库使用入门
muduo
网络库介绍
muduo
网络库是陈硕大神开发的基于主从Reactor模式的,事件驱动的高性能网络库。
月本_诚
·
2023-03-31 10:59
#
C++
Linux
计算机网络
网络
服务器
c++
moudo网络库剖析
muduo
简介
muduo
是陈硕大神在Linux平台下基于C/C++开发的高性能网络库,在此基础上可以很方便的扩展,进行二次开发编写如http服务器。
小狗吠吠吠
·
2023-03-31 10:18
linux网络编程
网络
网络
linux
服务器
c++
架构
c++游戏服务器框架
c++游戏服务器框架skynet是一个开源的,轻量级的,为在线游戏服务器打造的框架skynet
muduo
是一个基于Reactor模式的C++网络库
muduo
boostasio是一个异步的网络框架官网:http
lucky九年
·
2023-03-30 20:30
c++
服务器
c++
游戏
OVS框架以及
源码笔记
1
引言是基于2.3.90的版本1.OVS网络架构OVS全名字Openvswitch,是一个虚拟交换机,支持OpenFlow协议,被远端的controller通过OpenFlow协议统一管理着,从而实现对接入的虚拟机(或设备)镜像组网和互通,整体组网结构如下:2.OVS内部架构ovs-vswitchd是主要模块,实现vswitch的守护进程daemonovsdb-server是轻量级数据库服务器,用于
举世无双勇
·
2023-03-30 11:53
OVS
OVS
Spring/SpringBoot系列之Spring
源码笔记
:解析自定义标签【八】
接上篇文章:Spring/SpringBoot系列之Spring
源码笔记
:解析默认标签-下【七】之前分析完了默认标签的解析过程,现在开始分析自定义标签的解析过程。
fei1234456
·
2023-03-29 21:59
java
java
spring
6到飞起,阿里高工强推JDK
源码笔记
,Github已星标80k程序员小毫
前言不知道大家闲下来的时候有没有去阅读过JDK源码,虽然看源码有点找虐的感觉,但作为一名程序员,在闲暇时看一下jdk源码,有利于对自己日常的开发环境了解得更加深刻。而且还有以下五点好处。了解思想熟悉设计模式提高自己的代码优雅性知晓原理,提升面试能力提升自己代码的严谨性虽然看源码有点找虐但被虐的同时是能学到很多东西的,真要能静下心来好好读一读源码的话好处远远不止这么多。而其中的jdk源码里面就有各种
Java可可
·
2023-03-29 16:25
java
开发语言
servlet
Spring AnnotationConfigApplicationContext
源码笔记
一
AnnotationConfigApplicationContext类继承关系图AnnotationConfigApplicationContext的带参构造器作为入口。AnnotationConfigApplicationContext...//参数basePackages为自动扫描的包名publicAnnotationConfigApplicationContext(String...base
丶含光
·
2023-03-29 05:17
ClickHouse
源码笔记
6:探究列式存储系统的排序
分析完成了聚合以及向量化过滤,向量化的函数计算之后。本篇,笔者将分析数据库的一个重要算子:排序。让我们从源码的角度来剖析ClickHouse作为列式存储系统是如何实现排序的。本系列文章的源码分析基于ClickHousev19.16.2.2的版本。1.执行计划老规矩,咱们还是先从一个简单的查询出发,通过一步步的通过执行计划按图索骥ClickHouse的执行逻辑。select*fromtestorde
LeeHappen
·
2023-03-28 14:00
muduo
源码学习(四) 实现TCP网络库(中)
runInLoop相关在之前得文章中提到了EventLoop::runInLoop(),该函数用于在EventLoop的IO线程执行某个用户的任务回调,源码如下:voidEventLoop::runInLoop(constFunctor&cb){if(isInLoopThread()){//判断是否在当前IO线程cb();//同步调用}else{queueInLoop(cb);//加入队列}}若用
荏苒何从cc
·
2023-03-28 12:58
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他