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
mxGraph源码学习
libevent库
源码学习
-poll/select( linux) .devpoll(/dev/poll)( linux) ,epoll(linux)
http://blog.csdn.net/hcwzq/article/details/7526088libevent库
源码学习
-poll/select(linux)这两种实际上差不多,都是把一组fd传送给
happylife1527
·
2023-08-28 06:00
libevent
Libevent
源码学习
(一) 支持多种网络模型原理
在linux下学习了一段时间网络编程,主体的编程思路懂得差不多了(windows下做过,基本差不多),所以决定看些开源的库来实际学习一下.故选择了相对简练的libevent进行代码阅读.在读的过程中,参考了一位已经将libevent解析的很清楚的大神的博客.http://blog.csdn.net/sparkliang/article/details/4957667这里算是自己学习过程中的一些结果
蒋_X_X
·
2023-08-28 06:59
网络编程学习
libevent
源码学习
7---libevent常用设置
libevent
源码学习
7—libevent常用设置libevent有一些被整个进程共享的、影响整个库的全局设置。
Stack Overflow?Tan90
·
2023-08-28 06:28
Libevent
libevent
Tinyhttpd
源码学习
Tinyhttpd是一个超轻量型HttpServer,使用C语言开发,附带一个简单的Client,通过学习Tinyhttpd可以帮助理解一个HttpServer的本质。源码可以在这个网站获取:https://sourceforge.net/projects/tiny-httpd/首先将源码下载到本地,我们可以看到项目代码主要有主程序httpd.c,一个客户端simpleclient.c,htdoc
约翰纳斯
·
2023-08-27 15:14
SDWebImage
源码学习
前言因为对大神的开源代码非常崇拜,所以开始学习这些开源的代码。这是一年前学习源码时写在印象笔记里的笔记,过了一年,今天又把最新的SDWebImage下下来看,发现没什么大变化。分析1.我们平时开发,用的最多的就是:-(void)sd_setImageWithURL:(nullableNSURL*)urlplaceholderImage:(nullableUIImage*)placeholder这一
B_C_H
·
2023-08-27 15:32
volley
源码学习
volley
源码学习
之前一直对于
源码学习
抱着一种又爱又恨的心情。爱的是因为知道源码有一些特别好的设计思路,可以让自己借鉴,而且对于设计模式来说是最好的实战场。
xuelang
·
2023-08-26 19:26
JDK
源码学习
笔记(集合篇 - LinkedList)
LinkedList->AbstractSequentialList->List同时实现了接口Deque,Cloneable,Serializable书同上文,LinkedList就是上学时学的链表,很多公司,比如华为的应届基础面试题很多就是考的这个,比如链表反转,双向链表等。JavaopenJDK里的LinkedList理念上和这个并没有本质区别,从继承结构可以看出,这个LinkedList实现
我要做大牛23333
·
2023-08-26 18:24
libevent
源码学习
6---链接监听器evconnlistener
libevent
源码学习
6—链接监听器evconnlistenerevconnlistener机制提供了监听和接受TCP连接的方法。
Stack Overflow?Tan90
·
2023-08-26 12:17
Libevent
libevent
libevent
源码学习
4--数据缓冲Bufferevent
libevent
源码学习
4–数据缓冲Bufferevent很多时候,除了响应事件之外,应用还希望做一定的数据缓冲。libevent为此提供了一种通用机制,即bufferevent。
Stack Overflow?Tan90
·
2023-08-26 12:47
Libevent
libevent
libevent
源码学习
5---数据封装evBuffer
libevent
源码学习
5—数据封装evBufferlibevent的evbuffer实现了为向后面添加数据和从前面移除数据而优化的字节队列。evbuffer用于处理缓冲网络IO的“缓冲”部分。
Stack Overflow?Tan90
·
2023-08-26 12:46
Libevent
libevent
【 OpenGauss
源码学习
—— 列存储(Insert)】
列存储(Insert)概述相关函数ExecInsertRelationData结构体FormData_pg_class结构体HeapInsertCStore函数InsertArg结构体CStoreInsert类CStoreInsert::InitInsertArg函数heap_deform_tuple函数bulkload_rows结构体append_one_tuple函数bulkload_vect
J.Kuchiki
·
2023-08-25 23:09
OpenGauss
gaussdb
postgresql
数据库
【OpenGauss
源码学习
—— 执行算子(Result 算子)】
执行算子(Result算子)控制算子Result算子ExecInitResult函数ResultState结构体ExecInitResultTupleSlot函数ExecAllocTableSlot函数ExecResult函数TupleTableSlot结构体ExecProcNode函数ExecProcNodeByType函数ExecProject函数ExecEndResult函数ExecFree
J.Kuchiki
·
2023-08-25 23:39
OpenGauss
gaussdb
postgresql
数据库
【OpenGauss
源码学习
(CopyOneRowTo)】
可优化语句执行概述CopyOneRowTo函数ScalarVector类CopySendString函数FixedRowOut函数CopySendInt32函数CopySendData函数appendBinaryStringInfo函数声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明引用来源。本文主要参考了OpenGa
J.Kuchiki
·
2023-08-25 23:08
OpenGauss
postgresql
gaussdb
数据库
ReentrantLock
源码学习
学习ReentrantLock之前,先了解一下可重入锁的概念。何为可重入锁,顾名思义,就是可重入的。真是听君一席话,胜听一席话啊。请添加图片描述正经点,可重入锁就是能够支持同一个线程对资源的重复加锁。注意两个关键字:同一线程和重复。像synchronized关键字也实现了可重入。用synchronized修饰的方法,在进行递归调用时,执行线程在获取了锁之后仍然能够连续多次获得该锁,并不会出现阻塞的
秃头哥编程
·
2023-08-25 20:52
jsplumb实现流程图
流程图使用工具汇总jsPlumb,开源软件,推荐使用,参考学习链接:jsplumb学习笔记、基本概念、中文简易教程jTopomyflowGo.jsJointJS,属于商业软件
mxGraph
TWaver,
jshan
·
2023-08-25 14:02
用axios和后端接口进行数据交互,那么axios内部实现原理到底是什么样的
axios
源码学习
Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中进行使用。
酷娃利息对比计算
·
2023-08-25 09:59
libevent
源码学习
-----event操作
libevent核心结构是event_base和event,接下来主要介绍event结构/*event的定义的主要部分*/structevent{/*...*//*event监听的描述符,也可以是信号值*/evutil_socket_tev_fd;/*事件驱动主循环*/structevent_base*ev_base;shortev_events;shortev_res;/*resultpasse
一个程序渣渣的小后院
·
2023-08-25 05:54
libevent
libevent
源码
libevent
源码学习
-----事件驱动流程分析
libevent中事件驱动的大体流程如下/*创建事件驱动*/structevent_base*base=event_base_new();/**创建一个事件*@parambase:事件驱动*@paramfd:event对应的文件描述符,通常是通过socket创建的套接字*@paramEV_READ:想要监听fd的哪些事件,EV_READ表示监听fd是否可读,也可以是EV_PERSIST代表这个ev
一个程序渣渣的小后院
·
2023-08-25 05:24
libevent
libevent
源码
libevent
源码学习
-----统一事件源及信号绑定函数
libevent在对文件描述符,套接字进行监控时直接放到event,这些event通过io多路复用函数进行监控,然而对应信号来说io复用函数却无能为力,为了解决问题,libevent采用统一事件源的方式,即将信号也表现成event的形式,用到了socketpair套接字对socketpair套接字对套接字对也是通信方式的一种,在进程间通信时相比于管道和命名管道而言更简单,也更安全linux下使用s
一个程序渣渣的小后院
·
2023-08-25 05:24
libevent
libevent
signal
源码
libevent
源码学习
3---事件event
libevent
源码学习
3—事件eventlibevent的基本操作单元是事件。
Stack Overflow?Tan90
·
2023-08-25 05:53
Libevent
libevent
【Spring Boot
源码学习
】自动装配流程源码解析(下)
往期内容在开始本篇的内容介绍之前,我们先来看看往期的系列文章【有需要的朋友,欢迎关注系列专栏】:SpringBoot
源码学习
Sprin
Huazie
·
2023-08-25 00:37
开发框架-Spring
Boot
spring
boot
自动装配流程
排除自动配置组件
过滤自动配置组件
触发自动配置事件
Tomcat
源码学习
笔记 - Connector组件(一)
Connector组件Tomcat作为一款web容器,响应处理请求,需要与底层数据做交互,而Connector组件就是Service服务与Socket套接字之间的桥梁。Coyote框架是Tomcat默认的Connector,在org.apache.coyote包下,当然我们也可以自己实现自定义的Connector适配。Connector数据结构关于Connector,有两个非常重要的接口,Prot
jeveuxquetucroi
·
2023-08-22 19:03
Windows 下 MySQL
源码学习
环境搭建步骤【建议收藏】
【建议收藏】Windows下如何安装最新版MySQL
源码学习
的调试环境步骤。作者:芬达《芬达的数据库学习笔记》公众号作者,开源爱好者,擅长MySQL、ansible。
·
2023-08-22 18:05
mysql
【Vue2.0
源码学习
】模板编译篇-模板解析阶段(总结)
文章目录1.前言2.整体流程3.整体导图1.前言到现在,模板编译的三大阶段就已经全部介绍完毕了,接下来本篇文章,就以宏观角度回顾并梳理一下模板编译整个流程是怎样的。首先,我们需要搞清楚模板编译的最终目的是什么,它的最终目的就是:把用户所写的模板转化成供Vue实例在挂载时可调用的render函数。或者你可以这样简单的理解为:模板编译就是一台机器,给它输入模板字符串,它就输出对应的render函数。我
itpeilibo
·
2023-08-22 13:24
Vue深入学习
学习
javascript
vue.js
【Vue2.0
源码学习
】生命周期篇-初始化阶段(new Vue)
文章目录1.综述1.1前言1.2生命周期流程图1.3总结2.初始化阶段2.1前言2.2newVue()都干了什么2.3合并属性2.4callHook函数如何触发钩子函数2.5总结2.5总结1.综述1.1前言在Vue中,每个Vue实例从被创建出来到最终被销毁都会经历一个过程,就像人一样,从出生到死亡。在这一过程里会发生许许多多的事,例如设置数据监听,编译模板,组件挂载等。在Vue中,把Vue实例从被
itpeilibo
·
2023-08-22 13:24
Vue深入学习
vue
vue.js
学习
javascript
【Vue2.0
源码学习
】模板编译篇-模板解析(代码生成阶段)
文章目录1.前言2.如何根据AST生成render函数3.回归源码3.1元素节点3.2文本节点3.3注释节点4.总结1.前言经过前几篇文章,我们把用户所写的模板字符串先经过解析阶段解析生成对应的抽象语法树AST,接着再经过优化阶段将AST中的静态节点及静态根节点都打上标记,现在终于到了模板编译三大阶段的最后一个阶段了——代码生成阶段。所谓代码生成阶段,到底是要生成什么代码?答:要生成render函
itpeilibo
·
2023-08-22 13:54
Vue深入学习
学习
vue.js
javascript
【Vue2.0
源码学习
】生命周期篇-初始化阶段(initLifecycle)
文章目录1.前言2.initLifecycle函数分析3.总结1.前言在上篇文章中,我们介绍了生命周期初始化阶段的整体工作流程,以及在该阶段都做了哪些事情。我们知道了,在该阶段会调用一些初始化函数,对Vue实例的属性、数据等进行初始化工作。那这些初始化函数都初始化了哪些东西以及都怎么初始化的呢?接下来我们就把这些初始化函数一一展开介绍,本篇文章介绍第一个初始化函数initLifecycle。2.i
itpeilibo
·
2023-08-22 13:50
Vue深入学习
学习
vue.js
javascript
[underscore
源码学习
] reduce & 真值检测函数
map-reduceJavaScriptArray.prototype提供的map和reduce函数不仅是存在于JavaScript的两个API,更是函数式编程语言的重要组成部分,是一种对列表的操作思路。map(映射)一个映射过程就是将各个元素,按照一定的规则,逐个映射为新的元素。这是一个一一对应的过程。reduce(规约)一个规约过程仍然需要迭代指定列表的每个元素,然后仍然按照一定规则,合并这些
小黄人get徐先生
·
2023-08-21 22:57
定位postgresql中疯狂执行DML的表&原理学习
另外,也通过
源码学习
学习相关字段究竟是从何获取的。一、定位每天DML量最大的表其核心是pg_stat_all_tables视图的n_tup_ins,
Hehuyi_In
·
2023-08-21 07:56
PostgreSQL
源码学习
统计信息
postgresql
DML
变化量
统计信息
源码学习
Tomcat
源码学习
第2篇 - Bootstrap的初始化加载
在上一篇中我们说到Tomcat的启动入口是Bootstrap,那么今天我们就来研究一下,Bootstrap类在启动main方法之后是如何进行各项初始化来提供后续程序的运行的。1.Bootstrap.main()方法在main方法中我们可以看到,首先是创建了一个Bootstrap对象,并行初始化了一些相关的类加载器等操作,然后将创建的对象赋值给了daemon,然后通过运行时附带的参数来选择它后续对应
Java全栈路线
·
2023-08-21 02:04
Java
源码学习
--Vector
Java
源码学习
--VectorAbstractList的实现类我们常见的就是ArrayList和LinkedList两个,但是Vector也是其一个实现类,我几乎没有使用过这个类,这次就一并来学习一下其源码
慕北人
·
2023-08-19 07:24
Go标准库:context详解
看了下确实有所收获,本文是基于我最近对context
源码学习
的一些心得积累,望大家不吝赐教。一、为什么使用Context(一)go的扛把子要论go最津津乐道的功能莫过于go强大而简洁的并发能力。
码出钞能力
·
2023-08-19 07:18
golang
golang
muduo
源码学习
(五) 实现TCP网络库(下)
前言上一篇文章介绍了连接的创建,引出了TcpConnection类。其作用就是处理socket上的IO事件,执行各种回调。本文介绍TcpConnection对断开连接、读取数据、发送数据的处理。断开连接连接的关闭分为主动断开和被动断开,两者的处理方式基本一致。muduo采用的连接关闭方式:被动断开,其核心函数为TcpConnection::handleClose()。书中提到,如果需要主动断开,添
荏苒何从cc
·
2023-08-19 01:09
【OpenGauss
源码学习
—— 执行算子(hash join 算子)】
执行算子(hashjoin算子)连接算子hashjoin算子ExecInitHashJoin函数HashJoinState结构体TupleTableSlot结构体JoinState结构体PlanState结构体ExecInitHashJoin函数部分代码介绍ExecHashJoin函数调试信息ExecEndHashJoin函数ExecReScanHashJoin函数总结声明:本文的部分内容参考了他
J.Kuchiki
·
2023-08-18 17:51
OpenGauss
postgresql
数据库
gaussdb
分布式 | 从 dble 日志分析到 MySQL
源码学习
作者:袁琳铸爱可生DBLE团队开发成员,主要负责DBLE需求开发,故障排查和社区问题解答。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景在客户的生产环境中,dble.log时常出现nohandler日志。虽然没有影响客户业务的正常使用,但是需要调查下这个日志打印的原因是什么以及什么样的场景才会打印该日志。分析首先对dble和mysql的日志进行
ActionTech
·
2023-08-18 07:40
DBLE
dble
mysql
dble案例分析
Docker
源码学习
进度(2)
3.容器资源限制的实现(Cgroup,subsystem,hierarchy)总的思想是向Cgroup里的文件写限制内容实现。①subsystem相关结构实现typeResourceConfigstruct{MemoryLimitstringCpuSharestringCpusetstring}//set,apply,remove都是通过将内容写入到cgroup文件中来实现的typeSubsyst
speakspeak
·
2023-08-18 06:55
Vue3 —— computed 计算属性及
源码学习
该文章是在学习小满vue3课程的随堂记录示例均采用,且包含typescript的基础用法前言本篇文章主要学习computed的基本使用方式、简单购物车实战、源码理解一、基本使用computed支持两种定义方式:选项式、函数式1、选项式传入对象格式,对象内部有get、set函数即可读可写firstName:lastName:fullName:{{fullName}}设置fullNameimport{
Unique·Blue
·
2023-08-17 18:48
Vue3
Vue3
计算属性
computed
Vue3 —— watch 监听器及
源码学习
该文章是在学习小满vue3课程的随堂记录示例均采用,且包含typescript的基础用法前言在vue3中,必须是ref、reactive包裹起来的数据,才可以被watch监听到一、基本使用1、语法:watch(source,cb,options)source是监听的目标,有4种书写形式:reactive形式的响应式数据ref形式的响应式数据数组形式:监听多个响应式数据时(应该用的不多)挨个放进数组
Unique·Blue
·
2023-08-17 18:16
Vue3
vue3
watch
29.Netty源码之服务端启动:创建EventLoop&Selector流程
highlight:arduino-light源码篇:从Linux出发深入剖析服务端启动流程通过前几章课程的学习,我们已经对Netty的技术思想和基本原理有了初步的认识,从今天这节课开始我们将正式进入Netty核心
源码学习
的课程
然而,然而
·
2023-08-17 15:05
.net
python
开发语言
Glide
源码学习
-三大缓存
Glide
源码学习
-三大缓存文章目录Glide
源码学习
-三大缓存Lru算法一、Glide执行流程二、三大缓存1.活动缓存2.内存缓存3.磁盘缓存图片加载流程(三级缓存):Lru算法Lru算法基于linkedHashmap
骑车的码农
·
2023-08-17 05:08
android
【OpenGauss
源码学习
—— 列存储(创建表)】
列存储什么是列存储?语法实现语法格式参数说明示例源码分析(创建表)语法层(Gram.y)子模块(utility.cpp)总结声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明引用来源。本文主要参考了OpenGauss1.1.0的开源代码和《OpenGauss数据库源码解析》一书以及OpenGauss社区学习文档什么是列存
J.Kuchiki
·
2023-08-16 23:03
OpenGauss
gaussdb
postgresql
数据库
【OpenGauss
源码学习
—— 执行算子(SeqScan算子)】
执行算子(SeqScan算子)执行算子概述扫描算子SeqScan算子ExecInitSeqScan函数InitScanRelation函数ExecSeqScan函数总结声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明引用来源。本文主要参考了OpenGauss1.1.0的开源代码和《OpenGauss数据库源码解析》一书
J.Kuchiki
·
2023-08-16 23:03
OpenGauss
数据库
gaussdb
数据库
百度Apollo
源码学习
之Bazel编译介绍
image.png什么是BazelBazel是一个类似于Make的编译工具,是Google为其内部软件开发的特点量身定制的工具,如今Google使用它来构建内部大多数的软件。(怪不得看起来很像Android.bp语法O(∩_∩)O)Google认为直接用Makefile构建软件速度太慢,结果不可靠,所以构建了一个新的工具叫做Bazel,Bazel的规则层级更高。image.png开始使用Bazel
Lee_5566
·
2023-08-16 14:05
SofaRpc
源码学习
篇-netty以及跟dubbo骚操作,负载均衡
蚂蚁金服开源-SofaRpc
源码学习
篇netty很重要的三个类NettyByteBuffer(直接跳过没
大鸡腿同学
·
2023-08-16 09:26
中间件
中间件
Mybatis
源码学习
(十二):拦截器(结束篇)
一、前文回顾在前几篇文章中我们学习了Mybatis中的一级二级缓存。今天将要开始一个新的模块也是本系列的最后一个模块了,拦截器。二、拦截器和过滤器提到拦截器我们会很自然的联想到和他功能很相似的过滤器,在讲解Mybatis拦截器之前,我们有必要先简单的比较一下这两者。过滤器(Filter):它依赖于servlet容器。在实现上,基于函数回调,它可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能
你可以叫我仔哥呀
·
2023-08-15 21:41
Mybatis源码学习
mybatis
学习
java
Qt Creator
源码学习
笔记 05,菜单栏是怎么实现插件化的?
阅读本文大概需要6分钟对于一个多插件的IDE软件来说,支持界面扩展是必不可少的,今天我们来看看在QtCreator当中是如何实现界面扩展的概述界面扩展无非就是在其它插件中访问修改主界面当中的一些菜单、参数,或者添加、删除某些菜单,目前很多大型软件都是支持插件化开发的前几篇我们一起看了QtCreator的主界面其实很简单,主界面包括一个菜单栏,模式工具栏,内容区域以及状态栏,如下图所示:我们看到的其
流浪的鹅卵石
·
2023-08-15 20:54
Qt学习之路
Qt
Creator
Qt
软件框架
编程那些事
技术
编程
linux网络编程-libevent
epollselectpoll等5支持I/O和信号等事件1.libevent的安装登录官方网站:http://libevent.org,查看相关信息libevent源码下载主要分2个大版本:1.4.x系列,较为早期版本,适合
源码学习
cat_fish_rain
·
2023-08-15 03:41
linux
网络
libevent
epoll
poll
select
webrtc
源码学习
- 3种异步处理
文章目录1、webrtc3中异步调用方式2、具体实现2.1TaskQueue2.2AsyncInvoker2.3SynchronousMethodCall1、webrtc3中异步调用方式在webrtc任务中有3种不同的异步处理方式,用于解决不同的问题,如下1)taskqueue每个队列上有一个线程执行,线程不需要指定2)asyncTask在指定的线程上执行,需要指定线程3)SynchronousM
~小泽~
·
2023-08-14 16:48
webrtc
webrtc
Retrofit
源码学习
个人主页:https://chengang.plus/文章将会同步到个人微信公众号:Android部落格1基本使用@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_retrofit);newThrea
cg1991
·
2023-08-13 18:28
Unity3D浅学
慕课网上有课程,下载手机App就可以搜到十分基础目标是把属性与生活拆成
源码学习
,然后尝试给它加一个场景。
山树x
·
2023-08-13 16:58
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他