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
busybox源码剖析
muduo
源码剖析
之Buffer缓冲区类
简介Buffer封装了一个可变长的buffer,支持廉价的前插操作,以及内部挪腾操作避免额外申请空间使用vector作为缓冲区(可自动调整扩容)设计图
源码剖析
已经编写好注释buffer.h//Copyright2010
@新法
·
2023-10-29 22:12
muduo源码剖析
网络
c语言
服务器
后端
c++
muduo
缓冲区
muduo
源码剖析
之Acceptor监听类
简介Acceptor类用于创建套接字,设置套接字选项,调用socket()->bind()->listen()->accept()函数,接受连接,然后调用TcpServer设置的connect事件的回调。listen()//在TcpServer::start中调用封装了一个listenfd相关的操作,用于mainLoop成员及属性解析Acceptor-逻辑上的内部类接受器封装,实质上就是对Chan
@新法
·
2023-10-29 22:04
muduo源码剖析
网络
服务器
c语言
后端
linux
muduo
网络编程
orangepi构建根文件系统
目录结构说明一、基础说明1、环境介绍2、linux的根文件结构3、瑞士军刀
busybox
4、
busybox
源码准备二、静态编译并测试
busybox
1、配置
busybox
静态编译选项2、编译
busybox
3
vencol
·
2023-10-29 08:54
STL中的智能指针(Smart Pointer)及其
源码剖析
: std::auto_ptr
STL中的智能指针(SmartPointer)及其
源码剖析
:std::auto_ptrauto_ptr是STL中的智能指针家族的成员之一,它管理由newexpression获得的对象,在auto_ptr
杨领well
·
2023-10-29 08:20
C++
STL
源码
源码
智能指针
对象
管理
源码
STL
STL中的智能指针(Smart Pointer)及其
源码剖析
: std::unique_ptr
STL中的智能指针(SmartPointer)及其
源码剖析
:std::unique_ptr和std::auto_ptr一样,std::unique_ptr也是一种智能指针,它也是通过指针的方式来管理对象资源
杨领well
·
2023-10-29 08:20
C++
STL
源码
源码
智能指针
源码
stl
对象
管理
C++标准模板库type_traits
源码剖析
一、type_traits源码介绍1、type_traits是C++11提供的模板元基础库。2、type_traits可实现在编译期计算。包括添加修饰、萃取、判断查询、类型推导等等功能。3、type_traits提供了编译期的true和false。二、type_traits的作用1、根据不同类型,模板匹配不同版本的算法STL中的Algorithm通过Iterator存取Container内容,Fu
大胡子的艾娃
·
2023-10-29 08:45
C++
Templates
c++
template
tpye_traits
萃取
元编程
Netty核心
源码剖析
Netty线程模型Netty高并发高性能架构设计精髓主从Reactor线程模型NIO多路复用非阻塞无锁串行化设计思想支持高性能序列化协议零拷贝(直接内存的使用)ByteBuf内存池设计灵活的TCP参数配置能力并发优化无锁串行化设计思想在大多数场景下,并行多线程处理可以提升系统的并发性能。但是,如果对于共享资源的并发访问处理不当,会带来严重的锁竞争,这最终会导致性能的下降。为了尽可能的避免锁竞争带来
Firechou
·
2023-10-29 07:39
#
Netty
netty
源码
1024程序员节特辑:【Spring Boot自动配置原理揭秘】
自动配置原理概述原理SpringBootStarterspring.factories文件@ConditionalOnX注解配置Bean配置属性
源码剖析
复合`Annotation``@EnableAutoConfiguration
家有娇妻张兔兔
·
2023-10-28 21:41
#
Spring
Boot
spring
boot
后端
java
自动配置
源码阅读
嵌入式芯片软件工程师书籍学习路线
编程语言C《CProgrammingLanguage》《CPrimerPlus》《C和指针》《C专家编程》C++《C++Primer》《EffectiveC++》《STL
源码剖析
》C#《C#入门经典》《
小狗工程师
·
2023-10-28 12:26
c语言
c++
c#
Go 接口及其相关机制深入解读加
源码剖析
【Go语言圣经笔记】
接口接口类型是对其它类型行为的抽象和概括;因为接口类型不会和特定的实现细节绑定在一起,通过这种抽象的方式我们可以让我们的函数更加灵活和更具有适应能力。很多面向对象的语言都有相似的接口概念,但Go语言中接口类型的独特之处在于它是满足隐式实现的。也就是说,我们没有必要对于给定的具体类型定义所有满足的接口类型;简单地拥有一些必需的方法就足够了。这种设计可以让你创建一个新的接口类型满足已经存在的具体类型却
从流域到海域
·
2023-10-28 11:08
GoLang
golang
interface
面向对象
Linux – TFTP服务器搭建 & FTP服务器搭建
二、开发板移植TFTP服务器参考:https://blog.csdn.net/a642960662/article/details/664736281.软件安装确保
busybox
工具已经添加了
heat.huang
·
2023-10-28 04:40
Linux基础
Flask
源码剖析
——服务启动篇
【Flask官方文档经典示例】hello.pyfromflaskimportFlaskapp=Flask(__name__)@app.route("/")defhello():return"HelloWorld!"if__name__=="__main__":app.run()输入以下命令启动应用程序:$pythonhello.py*Runningonhttp://127.0.0.1:5000/(
路人甲已病
·
2023-10-28 03:16
海思Hi3516dv500 添加 telent 工具步骤
来源:易百纳技术社区链接:海思Hi3516dv500添加telent工具步骤_专栏_易百纳技术社区该文使用Hi3516dv500开发环境添加telent工具,仅做参考一
busybox
配置进入Hi3519DV500
易百纳
·
2023-10-28 01:41
linux
运维
服务器
Docker多平台、跨平台编译打包
如:
busybox
镜像支持amd64,arm32v5,arm32v6,arm32v7,arm64v8,i386,ppc64le,ands390x。
断问天
·
2023-10-28 01:35
docker
容器
运维
buildx
redis
源码剖析
| 跳表与压缩列表剖析
压缩列表,跳表的特点a:压缩列表类似于一个数组,不同的是:压缩列表在表头有三个字段zlbytes,zltail和zllen分别表示长度,列表尾的偏移量和列表中的entry的个数,压缩列表尾部还有一个zlend,表示列表结束prev_len,表示前一个entry的长度。prev_len有两种取值情况:1字节或5字节。取值1字节时,表示上一个entry的长度小于254字节。虽然1字节的值能表示的数值范
枷飏
·
2023-10-28 00:56
redis
redis
数据库
数据结构
后端
golang基础数据结构
源码剖析
使用场景:协程通信,任务队列
源码剖析
:1623147385774.jpg如上图可以看出chanel的底层的组成,我们按着源码顺序解读,chanel的工作流程。
春风吹_918b
·
2023-10-27 02:11
unzip交叉编译
由于某台ARM自带的
busybox
版本过低,解压失败。因此基于unzip60源码包,交叉编译一个嵌入式Linux上的unzip工具。
爱学习的李冬虎
·
2023-10-27 02:38
arm交叉编译
arm开发
linux
交叉编译
Redis
源码剖析
之快速列表(quicklist)
@TOC何为quicklist,上次说到ziplist每次变更的时间复杂度都非常高,因为必须要重新生成一个新的ziplist来作为更新后的list,如果一个list非常大且更新频繁,那就会给redis带来非常大的负担。如何既保留ziplist的空间高效性,又能不让其更新复杂度过高?redis的作者给出的答案就是quicklist。其实说白了就是把ziplist和普通的双向链表结合起来。每个双链表节
xindoo
·
2023-10-27 01:59
c++内存管理第二讲 标准库的::allocator(一)
本文大部分内容转载于STD
源码剖析
并结合个人理解。
朱家小旺
·
2023-10-26 22:28
c++
muduo
源码剖析
之poller/EpollPoller多路复用类
简介poller是I/O多路复用接口抽象虚基类,对I/O多路复用API的封装,muduo提供了EPollPoller和PollPoller派生类(epoll和poll),所以不支持select.newDefaultPoller()默认选择epoll主要接口poll是Poller的核心功能,使用派生类的poll或者epoll_wait来阻塞等待IO事件发生通过派生类的实现来填充EventLoop的a
@新法
·
2023-10-26 20:51
muduo源码剖析
后端
服务器
linux
c语言
c++
muduo
源码剖析
Linux内核出现了depmod: applet not found的解决方法
解决方法:在buildroot下输入命令make
busybox
-menuconfig出现上图的界面,如果提示有问题,请拉大界面选择LinuxModuleUtilities出现下图的界面选中depmod,
buildroot
·
2023-10-26 17:02
buildroot
arm
Go sync.Pool 浅析
本篇文章会从使用方式,
源码剖析
,运用场景
煎鱼(EDDYCJY)
·
2023-10-26 08:03
java
python
人工智能
golang
编程语言
PyTorch学习 数据加载(Dataset、DataLoader)模块介绍及源码分析
数据加载(Dataset、DataLoader)模块介绍及源码分析DatasetDataLoaderDataLoader参数DataLoader
源码剖析
RandomSampler
源码剖析
SequentialSampler
YFCodeDream
·
2023-10-25 19:10
PyTorch
pytorch
学习
深度学习
owt-server
源码剖析
(一)--启动流程及相关模块介绍
目录一、引言二、框架------>2.1、模块介绍三、启动流程------>3.1、init-all.sh------>3.2、start-all.sh四、mongo------>4.1、命令行查看数据库内容------>4.2、initdb.js------------>4.2.1、连接到mongo数据库------------>4.2.2、房间信息的生成------------>4.2.3、配
文艺小少年
·
2023-10-25 06:51
rabbitmq
分布式
webrtc
服务器
刷完阿里 P8 架构师 spring 学习笔记 +
源码剖析
,涨薪 8K
文章目录关于Spring的叙述:第一份笔记Spring学习笔记第二份笔记:Spring源码关于Spring的叙述:我之前死磕spring的时候,刷各种资料看的我是一头雾水的,后面从阿里的P8架构师那里拿到这两份资料,从源码到案例详细的讲述了spring的各个细节,是我学Spring的启蒙资料,即便我现在在已经从事Java五六年了,但是每每掏出这份资料看都能再学到点新的知识。还记得当时磕完这份资料,
蒙娜丽莎的Java
·
2023-10-25 05:59
后端
学习路线
java
spring
java
spring
cloud
分布式
架构
muduo
源码剖析
之EventLoopThread
EventLoop的独立线程主要成员及属性解析意为I/O线程类,EventLoopThread可以创建一个IO线程,通过startLoop返回一个IO线程的loop,threadFunc中开启loop循环,
源码剖析
这个类比较简单
@新法
·
2023-10-25 01:07
muduo源码剖析
1024程序员节
服务器
后端
c++
c语言
linux
muduo
muduo
源码剖析
之EventLoopThreadPool
简介EventLoopThreadPool是EventLoopThread类的线程池类封装了若干个EventLoopThread的线程池,所有者是一个外部的EventLoopEventLoopThreadPool==EventLoopThread+vector主要成员及属性解析通过调用start函数来newEventLoopThread创建对应的线程和其loop,并将创建的保存在vector中源码
@新法
·
2023-10-25 01:57
muduo源码剖析
1024程序员节
linux
服务器
后端
c语言
网络编程
muduo
RocketMQ 过期文件删除机制
源码剖析
1.背景RocketMQ的存储文件主要分三种:CommitLog、ConsumeQueue、IndexFileRocketMQ的过期文件删除机制会定期删除已经过期的存储文件。当磁盘容量告急时,会立刻执行删除,释放磁盘空间。目前虽然有对于RocketMQ过期文件删除机制的文章,但我觉得没有讲的非常完善。本文详细分析一下三种存储文件的过期删除机制,避免一些坑。2.概述CommitLog、Consume
金甲虫Scarb
·
2023-10-24 23:12
RocketMQ
源码解析
分层剖析
RocketMQ
分布式
中间件
rocketmq
Android
Busybox
下的adb,linux shell命令整理备忘
引言Android系统的内核其实基于一个minilinux系统
Busybox
,调试或者做一些底层操作时,可以通过在电脑上运行ADB程序连接到android设备,或者在设备上运行模拟终端Terminal来执行各种
TopicDev
·
2023-10-24 21:54
AndroidNet
Spring循环依赖
源码剖析
Spring循环依赖
源码剖析
一、场景介绍二、整理执行流程总结三、源码分析编写测试类/***测试循环依赖*/@TestpublicvoidtestCyclicDependence(){ApplicationContextapplicationContext
穿城大饼
·
2023-10-24 20:57
开源框架源码剖析
spring
三级缓存
循环依赖
源码分析
集合详解(四)----HashSet和HashMap
源码剖析
(JDK1.7)
HashSetHashMapHashSet当初始化一个HashSet的时候,HashSet的底层实现其实是HashMap:privatetransientHashMapmap;publicHashSet(){map=newHashMapMAXIMUM_CAPACITY)//参数有效性检查initialCapacity=MAXIMUM_CAPACITY;if(loadFactor=initialCa
令仔很忙
·
2023-10-24 05:03
【JAVA】
集合
hashmap
源码
hashset
jdk
k8s-client-go
源码剖析
(二)
简介:云原生社区活动---Kubernetes
源码剖析
第一期第二周本周是K8S源码研习社第一期第二周,学习内容是学习Informer机制,本文以这个课题进行展开。
四颗咖啡豆LanLiang
·
2023-10-24 00:18
CloudNative
Kubernetes
kubernetes
go
源码
k8s
【JUC】AQS
源码剖析
AQS(AbstractQueuedSynchronizer)文章目录AQS(AbstractQueuedSynchronizer)1.概述2.AQS源码分析前置知识2.1AQS的int变量2.2AQS的CLH队列2.3内部类Node(Node类在AQS类内部)2.3小总结3.以ReentrantLock为突破口进行AQS源码分析3.1架构原理3.2lock()方法3.3AQS中的acquire(
比尔高特
·
2023-10-24 00:42
#
03
JUC
java
muduo
源码剖析
之EventLoop事件循环类
简介EventLoop.cc就相当于一个reactor,多线程之间的函数调用(用eventfd唤醒),epoll处理,超时队列处理,对channel的处理。运行loop的进程被称为IO线程,EventLoop提供了一些API确保相应函数在IO线程中调用,确保没有用互斥量保护的变量只能在IO线程中使用,也封装了超时队列的基本操作。成员及属性解析一个事件循环,注意,一个创建了EventLoop对象的线
@新法
·
2023-10-23 22:09
源码剖析
后端
服务器
linux
c语言
c++
muduo
源码剖析
【DNS系列-K8S排错】CoreDNS 新增 host 解析不生效
hosts插件就可以使用了:hosts{10.151.30.11git.k8s.localfallthrough}但是在配置完成后,始终解析不了这个自定义的域名:$kubectlrun-it--image
busybox
oceanweave
·
2023-10-23 13:13
Kubernetes学习笔记
k8s排错及配置
网络学习笔记
kubernetes
docker
容器
Python Selenium.WebDriver 浏览器启动参数设置『Edge如何使用启动参数』
PythonSelenium.WebDriver浏览器启动参数设置『Edge如何使用启动参数』一、浏览器启动参数设置二、WebDriver实例化参数三、浏览器启动参数大全四、Edge浏览器使用启动参数与
源码剖析
五
XianZhe_
·
2023-10-22 23:30
Python
#
Python爬虫
1024程序员节
python
selenium
chrome
edge
muduo
源码剖析
之channel通道类
简介channel是muduo中的事件分发器,它只属于一个EventLoop,Channel类中保存着IO事件的类型以及对应的回调函数,每个channel只负责一个文件描述符,但它并不拥有这个文件描述符。channel是在epoll和TcpConnection之间起沟通作用,故也叫做通道,其它类通过调用channel的setCallbcak来和建立channel沟通关系。Channel类主要作用:
@新法
·
2023-10-22 21:18
源码剖析
服务器
后端
c++
c语言
linux
muduo
源码剖析
之AsyncLogging异步日志类
简介AsyncLogging是muduo的日志,程序如果直接让文件写日志可能会发生阻塞,muduo前端设计了2个BufferPtr,分别是currentBuffer_和nextBuffer_,还有一个存放BufferPtr的vector(buffers_)。多个前端线程往currentBuffer_写数据,currentBuffer_写满了将其放入buffers_,通知后端线程读。前端线程将cur
@新法
·
2023-10-22 21:18
源码剖析
muduo
linux
后端
服务器
c++
源码剖析
网络库
c++ std::lock与std::scoped_lock底层实现原理
源码剖析
std::lock用于同时获取多把锁(两把及两把以上)std::scoped_lock定义于c++17标准,是std::lock的RAII封装类以下代码纯来自msvc实现std::scoped_lock原型在构造函数中调用std::lock,在析构函数中unlockclass_NODISCARD_LOCKscoped_lock{//classwithdestructorthatunlocksmut
@新法
·
2023-10-22 21:47
c++并发编程
c++
开发语言
nginx内存池
源码剖析
在很多博客中都将nginx内存池的关系图的next指针指向的结构体画成ngx_pool_data_t类型(可能是为了方便读者理解而故意那样画的),但是通过源码可以看出,next实际指向实际上应该是ngx_pool_s类型,所以我特意找了一张符合源码结构的图nginx关于内存池的源码路径是src/core/目录下ngx_palloc.h和ngx_palloc.cpp文件相关结构体定义//大块内存ty
@新法
·
2023-10-22 21:47
源码剖析
nginx
缓存
c语言
io复用之epoll核心
源码剖析
绪论linuxepoll主要函数只有三个,分别为:epoll_create:创建epollpoll对象并初始化epoll_ctl:操作epollooll对象,增加,修改,删除epoll_wait:在epollpoll对象中返回活跃的事件操作系统内部会用到一个名叫epoll_event_callback()的回调函数来调度epoll对象中的事件,在网络中收到数据时就会调用源码来源由于epoll的实现
@新法
·
2023-10-22 21:47
源码剖析
c++
后端
linux
unix
c语言
在iPad上运行一个Linux系统:iSH Shell
包管理器,所需无需手动安装,使用如下图所示:安装软件可以直接使用包管理器进行安装,如:apkaddpython3apkaddvimapkaddbash将默认Shell更改为bash软件中默认的shell是
busybox
ash
请叫我雯子小姐的小爷
·
2023-10-22 12:26
Linux小折腾
linux
ipad
嵌入式中利用ubuntu-base构建根文件系统
在嵌入式环境中,我们最常用
busybox
、yocto或buildroot来构建根文件系统,这种情况下,当我们需要使用一些组件的时候,往往需要我们使用源码编译,移植到开发板中。
yhcasey
·
2023-10-22 05:44
linux
linux
【错误解决】docker拉不到镜像:Error response from daemon: Get https://index.docker.io/v1/search
[root@k8smaster~]#dockersearch
busybox
Errorresponsefromdaemon:Gethttps://index.docker.io/v1/search?
安安csdn
·
2023-10-22 00:58
云计算
docker
https
linux
unity 获取选中的目录_Unity遍历所选文件夹中包含某后缀名的文件路径
[1.
BusyBox
httpdCGIscriptsThehttpdaemonexpectsthatCGIscriptisinsubdirectorycgi-binundermainwebd]//遍历所选文件夹
weixin_39664998
·
2023-10-21 11:04
unity
获取选中的目录
【Netty专题】
源码剖析
netty核心基础ByteBuf
在面试的时候,当面试问到netty的时候问到:你知道jdknio中的ByteBuffer与netty中的ByteBuf有什么区别吗?来看看面试者的基础掌握的如何!你能准确回到出来个所以然吗?说到jdk我先说说我身边使用jdknio的情况;我现在公司就有个游戏项目是jdknio2一行一行实现的通讯架构,一直在线上运营,目前该架构单服承载最高的时候达到3000多人,没发现有什么性能瓶颈,当然人数可能还
饥饿小猪
·
2023-10-21 10:35
Python
源码剖析
:深度探索Cpython对象-达观数据
CPython是Python社区的标准,其他版本的Python,比如pypy,都会遵行CPython的标准API实现。想要更深入的认识Python,就需要了解CPython的源码实现。本文将从CPython的对象构造器开始入手,带大家揭开CPython源码的面纱,带你进入C+Python的世界。文章的最后,你也会对Python中最重要的概念:一切皆对象(Object)有更深刻的认识;你还会发现一些
AI界小学生
·
2023-10-21 10:17
java
jvm
linux
Linux 字符设备驱动结构(二)—— 自动创建设备节点
第一种是使用mknod手工创建:mknodfilenametypemajorminor第二种是自动创建设备节点:利用udev(mdev)来实现设备文件的自动创建,首先应保证支持udev(mdev),由
busybox
zqixiao_09
·
2023-10-20 21:37
Linux
字符设备驱动开发
Linux
驱动开发基础
嵌入式开发
Linux
驱动开发
自动创建设备节点
linux串口命令行调试
测试发送:echo“123456”>/dev/ttyS1测试接收:
busybox
microcom-s115200/dev/ttyS1参数:-s波特率-t超时退出时间,不加-t就是一直等待接收例如:1.将
孟令一
·
2023-10-20 20:30
实施
笔记
busybox
-microcom串口调试工具使用方法
如果使用的是有
busybox
,是不会被集成minicom软件的,但会有一个更加简单的串口工具microcom,用法如下:$microcom--help
BusyBox
v1.24.1(2022-0
我一个平民
·
2023-10-20 20:54
小知识
嵌入式
linux
busybox
microcom
上一页
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
其他