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
Netty4源码阅读
IDEA插件之一键生成方法的序列图
1.使用场景在平时的学习/工作中,我们会经常面临如下场景:阅读别人的代码阅读框架
源码阅读
自己很久之前写的代码。为了能够更快更清晰地搞清对象之间的调用关系,我们经常需要用到序列图。
lazyd0g
·
2024-01-16 04:49
RT-Thread
源码阅读
(一)
前言本文基于RT-ThreadV4.1.1和STM32F103(Cortex-M3)本文旨在理解RT-Thread设计的基本逻辑,为了让文章简短易懂,所以展出的源码都是精简过的,不会把开关中断,宏选择等放在讲解代码中。可以看懂基本逻辑后查看源码领悟具体细节。关于RT-Thread的移植可以参考STM32F103移植RT-Thread完整过程基本数据结构与操作双向链表的定义structrt_list
无聊到发博客的菜鸟
·
2024-01-15 21:47
RTOS
STM32
RT-Thread
FreeRTOS
并发容器ConcurrentHashMap(JDK8)
源码阅读
1.版本1.8ConcurrentHashMap其实我理解就是HashMap存在线程安全问题,因此提供了该容器,使用是就能够保证线程安全。对比jdk1.6到jdk1.8这两个版本,实现上变化很大。ConcurrentHashMap在JDK1.6的版本网上资料很多,有兴趣的可以去看看。JDK1.6版本关键要素:利用了锁分段的思想提高了并发度。segment继承了ReentrantLock充当锁的角色
先生zeng
·
2024-01-15 14:17
Redis
源码阅读
—数据结构之字典 dict.c/dict.h
dict.c/dict.h一、dict的定义 字典,是一种用于实现键值对(key-valuepair)保存的抽象数据结构,通过字典,可以在单个键(key)与单个值(value)之间进行关联(或者说是将键映射成值),而这些关联的键与值即为键值对。 在字典中,每一个键都是独一无二的,所以程序可以在字典中通过键来对值,甚至是键值对进行操作。 在一些高级编程语言中,字典经常作为一种内置的数据结构出现
GC_W
·
2024-01-15 10:10
metartc5_jz
源码阅读
-yang_decode_rtcpCompound
//解析rtcp的命令到rtcps中。int32_tyang_decode_rtcpCompound(YangRtcpCompound*rtcps,YangBuffer*buffer){if(rtcps==NULL)return1;int32_terr=Yang_Ok;rtcps->data=buffer->data;rtcps->nb_data=buffer->size;//如果buffer中不
王方帅
·
2024-01-15 00:48
metartc5_jz源码阅读
实时音视频
音视频
p2p
c语言
metartc5_jz
源码阅读
-yang_encode_rtpHeader
//编码rtpHeaderint32_tyang_encode_rtpHeader(YangBuffer*buf,YangRtpHeader*header){int32_terr=Yang_Ok;//EncodetheRTPfixheader,12bytes.//@seehttps://tools.ietf.org/html/rfc1889#section-5.1//Theversion,padd
王方帅
·
2024-01-15 00:48
metartc5_jz源码阅读
实时音视频
音视频
p2p
webrtc
metartc5_jz
源码阅读
-yang_encode_rtpExtensions
//定义metartc的rtp扩展,标准的webrtc不定义任何头扩展,这个由开发者自定义。int32_tyang_encode_rtpExtensions(YangRtpExtensions*ext,YangBuffer*buf){int32_terr=Yang_Ok;//写两个字节0xBEDE,扩展头标识,开发者自己定义。yang_write_2bytes(buf,0xBEDE);//Writ
王方帅
·
2024-01-15 00:42
metartc5_jz源码阅读
音视频
p2p
实时音视频
webrtc
RocketMQ
源码阅读
-Message消息存储
RocketMQ
源码阅读
-Message消息存储1.CommitLog的作用2.CommitLog存储消息3.时序图4.小结在Broker消息接收一篇中,分析到Broker接收到消息,最终会调用CommitLong
迷思特王
·
2024-01-14 18:38
rocketmq
RocketMQ
源码阅读
-Producer发消息
RocketMQ
源码阅读
-Producer发消息1.从单元测试入手2.启动过程3.同步消息发送过程4.异步消息发送过程5.小结Producer是消息的生产者。
迷思特王
·
2024-01-14 18:07
rocketmq
log4j
RocketMQ
源码阅读
-Broker消息接收
RocketMQ
源码阅读
-Broker消息接收1.从单元测试入手2.Broker启动流程3.Broker接收消息4.Broker接收消息时序图5.小结Broker接收Producer发送的消息。
迷思特王
·
2024-01-14 18:07
RocketMQ源码阅读
rocketmq
log4j
RocketMQ
源码阅读
-Producer消息发送
RocketMQ
源码阅读
-Producer消息发送1.从单元测试入手2.启动过程3.同步消息发送过程4.异步消息发送过程5.小结Producer是消息的生产者。
迷思特王
·
2024-01-14 18:06
RocketMQ源码阅读
log4j
rocketmq
metartc5_jz
源码阅读
-udp->receive
之前在metartc5_jz
源码阅读
-yang_run_rtcudp_thread-CSDN博客中说到://调用udp的receive方法将读取的buffer和udp->user传入。
王方帅
·
2024-01-14 11:00
metartc5_jz源码阅读
音视频
c语言
p2p
实时音视频
metartc5_jz
源码阅读
-yang_rtcpush_on_rtcp_nack
//发送端收到接收端发来的rtcpnack命令,需要丢包重传int32_tyang_rtcpush_on_rtcp_nack(YangRtcContext*context,YangRtcPushStream*pub,YangRtcpCommon*rtcp){//容错处理if(context==NULL||pub==NULL||rtcp==NULL)returnERROR_RTC_PUBLISH;i
王方帅
·
2024-01-14 06:55
metartc5_jz源码阅读
webrtc
音视频
p2p
实时音视频
metartc5_jz
源码阅读
-yang_rtcpush_on_rtcp_ps_feedback
//(Payload-specificFBmessages,有效载荷反馈信息),这个函数处理Payload重传int32_tyang_rtcpush_on_rtcp_ps_feedback(YangRtcContext*context,YangRtcPushStream*pub,YangRtcpCommon*rtcp){if(context==NULL||pub==NULL)returnERROR
王方帅
·
2024-01-14 06:55
metartc5_jz源码阅读
p2p
音视频
实时音视频
webrtc
metartc5_jz
源码阅读
-yang_stats_on_recvRR
int32_tyang_stats_on_recvRR(yangboolisAudio,YangRecvStats*recvStats,YangSendStats*sendStats,YangRtcpCommon*rtcp){YangRemoteRecvStats*stats=isAudio?&recvStats->audio:&recvStats->video;uint32_trtt=0;//d
王方帅
·
2024-01-14 06:55
metartc5_jz源码阅读
音视频
p2p
实时音视频
webrtc
metartc5_jz
源码阅读
-yang_push_h264_video
YangRtcConnection.c://如果pushH264不为空时,则调用pushH264的on_video方法。if(session->pushH264)returnsession->pushH264->on_video(session,session->pushH264->push,p);YangPushH264.c://设置on_video的实际执行函数push->on_video=y
王方帅
·
2024-01-14 06:24
metartc5_jz源码阅读
c语言
p2p
音视频
实时音视频
metartc5_jz
源码阅读
-yang_push_h264_package_single_nalu2
//通过单一nalu的方式发送视频帧。int32_tyang_push_h264_package_single_nalu2(YangRtcSession*session,YangPushH264Rtp*rtp,YangFrame*videoFrame){int32_terr=Yang_Ok;//重置videoRawPacketyang_reset_rtpPacket(&rtp->videoRawP
王方帅
·
2024-01-14 06:24
metartc5_jz源码阅读
c语言
音视频
实时音视频
p2p
metartc5_jz
源码阅读
-p2p通过stun服务器进行通信
1.YangIpc.c/yang_create_ipc需要设置stun服务器的ip地址和端口号设置iceCandidateType为2,表示走stun,即向stun服务器发起请求获取本机的公网ip地址。//设置iceServerIP和端口号,设置iceCandidate类型。strcpy(session->avinfo.rtc.iceServerIP,"182.92.163.143");sessi
王方帅
·
2024-01-14 06:52
metartc5_jz源码阅读
音视频
实时音视频
p2p
webrtc
ArrayList
源码阅读
文章目录简介例子继承结构概览代码分析成员变量方法迭代器子列表总结参考链接本人的
源码阅读
主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。
diodna
·
2024-01-13 11:47
java
JCF相关基础类接口/抽象类
源码阅读
AbstractList抽象类Itr(Iterator的实现)ListItr(ListIterator的实现)SubListRandomAccessSubListQueue接口Deque(/dɛk/)接口参考链接本人的
源码阅读
主要聚焦于类的使用场景
diodna
·
2024-01-13 11:46
java
ReentrantReadWriteLock
源码阅读
ReentrantReadWriteLock
源码阅读
文章目录ReentrantReadWriteLock
源码阅读
简介例子代码分析总览Syncstate定义lockcount和holdcountSync.HoldCounter
diodna
·
2024-01-13 11:16
java
LockSupport
源码阅读
LockSupport
源码阅读
文章目录LockSupport
源码阅读
简介例子代码分析parkunpark本人的
源码阅读
主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现
diodna
·
2024-01-13 11:46
java
LinkedList
源码阅读
文章目录简介例子继承结构代码分析成员变量方法总结参考链接本人的
源码阅读
主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。
diodna
·
2024-01-13 11:39
java
OKHttp 源码分析
OKHttp源码地址:https://github.com/square/okhttpOKHttp的简单使用下面让我们从一个简单的Demo来开始OKHttp的
源码阅读
。
星流星
·
2024-01-13 10:46
Android Handler
源码阅读
(技术记录/回忆)
Handler是Android中最常用线程通讯方式之一、也是非UI线程与线程通讯的主要方式。你可能有个疑问基础api中AsyncTask、runOnUiThread()还是第三方的RxJava、Eventbus内部都是直接或间接使用Handler实现对UI线程进行更新(参照源码)。//--runOnUiThreadpublicfinalvoidrunOnUiThread(Runnableactio
CrazyDevp
·
2024-01-13 00:27
【
源码阅读
】交易池txs_pool
重要接口:ITxsPool的实现:typeTxsPoolstruct{configTxsPoolConfigchainconfig*params.ChainConfigbccommon.IBlockChaincurrentState*state.IntraBlockStatependingNonces*txNoncercurrentMaxGasuint64ctxcontext.Context//c
Camina hacia ti
·
2024-01-12 18:21
区块链
区块链
【
源码阅读
】交易池txs_fetcher&txs_noncer
txs_noncer1、txNoncertypetxNoncerstruct{fallbackevmtypes.IntraBlockStatenoncesmap[types.Address]uint64locksync.Mutex}fallbackevmtypes.IntraBlockState:表示回退状态,用于在没有找到对应地址的nonce时使用。noncesmap[types.Address
Camina hacia ti
·
2024-01-12 18:51
区块链
区块链
【
源码阅读
】事件订阅包v2
1、FeedFeed实现一对多订阅,其中事件的载体是通道。发送到Feed的值会同时传送到所有订阅的通道。与Typemux的对比链接:linkTypeMux是一个同步的事件框架,当有一个被订阅的事件发生的时候,会遍历该事件对应的订阅者通道,通知其中的订阅者,但是当订阅者1没有接受该消息的时候,发送进程会被阻塞,会影响对订阅者2的发送。所以Feed作为流式事件框架,是否是异步的取决于是否有缓存通道,当
Camina hacia ti
·
2024-01-12 17:17
区块链
区块链
Golang协程池ants库的学习、使用及
源码阅读
,协程池与GMP模型关系的理解
前言在工作时遇到了一个需要使用ants协程池的地方,因此顺带来学习一下他的原理。协程池Golang的资源还是偏少一些…因此先简单的参考学习了一下线程池。类似于Java中的线程池,协程池也是为了减少协程频繁创建、销毁所带来资源消耗的问题。按默认每个goroutine8kb内存来算,几十万个goroutine就会占满8Gb内存。同时,由于goroutine的结束需要等待自身运行结束才可以销毁,所以也可
Climber47
·
2024-01-12 10:38
Golang
golang
学习
开发语言
【
源码阅读
】交易池txs_list
1、accountSettypeaccountSetstruct{accountsmap[types.Address]struct{}cache*[]types.Address}accountSet只是一组用于检查是否存在的地址,以及一个能够从交易中派生地址的签名者。as*accountSet1.1newAccountSetfuncnewAccountSet(addrs...types.Addre
Camina hacia ti
·
2024-01-11 13:41
区块链
区块链
linux内核调试指南
大海里的鱼有很多,而我们需要的是鱼钩一只一些前言作者前言知识从哪里来为什么撰写本文档为什么需要汇编级调试***第一部分:基础知识***总纲:内核世界的陷阱
源码阅读
的陷阱代码调试的陷阱原理理解的陷阱建立调试环境发行版的选择和安装为什么选
bob_fly1984
·
2024-01-11 08:13
Apache Doris 聚合函数
源码阅读
与解析|源码解读系列
笔者最近由于工作需要开始调研ApacheDoris,通过阅读聚合函数代码切入ApacheDoris内核,同时也秉承着开源的精神,开发了array_agg函数并贡献给社区。笔者通过这篇文章记录下对源码的一些理解,同时也方便后面的新人更快速地上手源码开发。聚合函数,顾名思义,即对一组数据执行聚合计算并返回结果的函数,在统计分析过程中属于最常见的函数之一,最典型的聚合函数包括count、min、max、
SelectDB技术团队
·
2024-01-11 07:16
数据库
大数据
数据分析
数据仓库
Apache
Doris
[Linux内核
源码阅读
笔记] 页式内存管理
注:源码版本3.4.2,参考《Linux内核源码情景分析》页式内存管理页式内存管理的思路是:通过页目录和页表项分两个层次实现从线性地址(虚拟地址空间)到物理地址的映射,这样采用多级页表的映射方式在多数情况下能够减少存储页表项所需的内存空间。二级页表映射示意图:对于32位的系统采用两级映射是比较合理的,对于64位的系统则应采用3级映射三级页表映射示意图:内核空间和用户空间一个32位系统存在4G的虚拟
jiang_T
·
2024-01-11 02:40
Linux内核学习
linux
运维
服务器
【图像拼接】源码精读:Adaptive As-Natural-As-Possible Image Stitching(AANAP/ANAP)
第一次来请先看这篇文章:【图像拼接(ImageStitching)】关于【图像拼接论文源码精读】专栏的相关说明,包含专栏内文章结构说明、
源码阅读
顺序、培养代码能力、如何创新等(不定期更新)【图像拼接论文源码精读
十小大
·
2024-01-11 01:47
图像拼接论文源码精读
图像拼接
image
stitching
Image
Stitching
计算机视觉
图像处理
AANAP
相似变换
k8s
源码阅读
环境配置
源码阅读
环境配置k8s代码的阅读可以让我们更加深刻的理解k8s各组件的工作原理,同时提升我们Go编程能力。
Lemon熊
·
2024-01-10 23:39
Kubernetes源码分析
kubernetes
容器
云原生
Robot Framework
源码阅读
02——参数解析
RobotFramework类的初始化上一篇讲到了run_cli函数把命令行中的参数以列表的形式传给了RobotFramework类中的execute_cli函数。先看下RobotFramework类的__init__初始化方法:classRobotFramework(Application):def__init__(self):Application.__init__(self,USAGE,ar
JingleGo
·
2024-01-10 21:14
react
源码阅读
4 ExpirationTime
react更新中优先级依赖的标识ExpirationTime。阅读React包的源码版本为16.8.6。 这一章节,让我们抛弃掉react代码中的联系,单纯的来看ExpirationTime以及一些计算方式。ExpirationTime是什么。 ExpirationTime是一个数字,你可以在react-reconciler包下的ReactFiberExpirationTime.js文件中找到
tangding12
·
2024-01-10 08:06
react
源码阅读
javascript
javascript
react
STL
源码阅读
总结从小白到大神:配置器
一、空间配置器的接口为什么说allocator是空间配置器而不是内存配置器呢?因为空间不一定是内存,空间也可以是磁盘或其他辅助存储介质(可以写一个allocator直接向硬盘取空间)。二、具备次配置里的SGI空间配置器SGISTL配置器与其他配置器不同于标准规范也不同。其名称是alloc而非allocator。不接受任何参数。写法:vectoriv;ps:虽然SGISTLallocator未能符合
Rain_ZZX
·
2024-01-10 06:33
STL
c++
开发语言
stl
STL
源码阅读
总结从小白到大神:目录
一、STL简介长久以来,程序员们希望创造出一个可重复运用的东西,让程序员们的心血不随时间流逝被“遗忘掉”,为了建立数据结构与算法的统一标准并降低彼此结构的耦合性于是C++社区诞生了伟大的作品STL。二、STL的六大件(彼此间可以组合套用)1.容器vector:list:deque:set:map:2.算法3.迭代器(泛型指针,算法和容器之间的胶合剂)4.仿函数(行为类似函数,可作为算法的某种策略)
Rain_ZZX
·
2024-01-10 06:33
STL
c++
开发语言
stl
Druid
源码阅读
4-DruidDataSource的getConnection过程
DruidDataSource连接池实现了javaX.sql包中,DataSource接口的全部方法。getConnection也来自于javaX.sql.DataSource接口。而DruidPooledConnection也实现了接口java.sql.Connection。这样就能在各种场景中通过这个接口来获取数据库连接。1.fileter处理--责任链模式在执行getConnection方法
冬天里的懒喵
·
2024-01-09 02:26
rosbag
源码阅读
笔记-1
这篇文字想通过在自己的机器上查找rosbag的源码在哪里(而不是通过google搜索),来和大家分享一些ros和python的常用命令,了解一下rosbag的调用过程。怎么查到源码在哪里当然我们可以直接上ros的官网去查看,路径在这里:https://wiki.ros.org/rosbag本着程序员的好奇心,我们也可以不看官方文档,自己先去探索一下:我们先来看看我们日常用的rosbag是个啥:$w
zhaoyqcsdn
·
2024-01-08 04:45
ros
笔记
自动驾驶
深度学习
经验分享
c++
metartc5_jz
源码阅读
-yang_ipc_rtcrecv_publishVideoData
//将视频帧数据publish到p2p客户端int32_tyang_ipc_rtcrecv_publishVideoData(YangIpcRtcSession*session,YangStreamCapture*data){int32_tret=0;//循环获取pushs中所有PeerConnectionfor(int32_ti=0;ipushs.vec.vsize;i++){YangPeerC
王方帅
·
2024-01-07 23:11
metartc5_jz源码阅读
实时音视频
音视频
p2p
c语言
metartc5_jz
源码阅读
-yang_push_h264_package_stap_a
//通过stap_a模式发送sps和pps包给对端。int32_tyang_push_h264_package_stap_a(void*psession,YangPushH264Rtp*rtp,YangFrame*videoFrame){interr=Yang_Ok;YangRtcSession*session=(YangRtcSession*)psession;//重置rtpPacket的字段y
王方帅
·
2024-01-07 23:11
metartc5_jz源码阅读
音视频
c语言
p2p
实时音视频
metartc5_jz
源码阅读
-yang_create_ipcPublish
voidyang_create_ipcPublish(YangIpcPublish*publish,YangAVInfo*avinfo){YangIpcPublishSession*session=&publish->session;//调用君正的库实现视频录制和编码yang_create_videoEncoder(&session->encoder);//创建p2prtc,以便不断的读取君正录制
王方帅
·
2024-01-07 23:10
metartc5_jz源码阅读
c语言
音视频
实时音视频
p2p
metartc5_jz
源码阅读
-yang_ipc_rtcrecv_addPeer
//上一篇文章中读到p2p->receive方法最终会调到这个方法中,设置PeerConnection的sdp,并生成answer。int32_tyang_ipc_rtcrecv_addPeer(YangIpcRtcSession*session,char*sdp,char*answer,char*remoteIp,int32_tlocalPort,int*phasplay){int32_tret
王方帅
·
2024-01-07 23:40
metartc5_jz源码阅读
javascript
开发语言
ecmascript
metartc5_jz
源码阅读
-yang_create_videoEncoder
//此方法在metartcore中调用,实现在metaipc5_jz中voidyang_create_videoEncoder(YangEncoderVideo*encoder){//拿到EncoderSessionYangEncoderSession*session=&encoder->session;//重置初始值session->isStart=0;session->isConvert=1;
王方帅
·
2024-01-07 23:40
metartc5_jz源码阅读
音视频
c语言
p2p
实时音视频
metartc5_jz
源码阅读
-yang_push_h264_encodeVideo
//编码rtp的视频buffer,发送给p2p对端。int32_tyang_push_h264_encodeVideo(YangRtcSession*session,YangPushH264Rtp*rtp,YangRtpPacket*pkt){interr=0;//用videoRtpBuffer中的数据填充rtp->buf.yang_init_buffer(&rtp->buf,yang_get_r
王方帅
·
2024-01-07 23:08
metartc5_jz源码阅读
音视频
c语言
p2p
实时音视频
Dubbo
源码阅读
(1)搭建Dubbo
源码阅读
环境
Dubbo
源码阅读
(1)搭建Dubbo
源码阅读
环境一直想阅读一些开源框架的源码,但是由于上学期事情太多而一直没有时间阅读。
NoelleMu
·
2024-01-07 17:35
Hive
源码阅读
--导读
总述Hive的执行流程大致分为两部分,即任务的提交与返回,命令的编译与执行。前者在CliDriver类中流转,后者主要在Driver与ParseDriver类,核心编译在BaseSemanticAnalyzer和QueryPlan类中。任务的提交与返回调用顺序:main--(程序的开始)–>run--(任务的开始,读取用户传参与相关配置,初始化日志)–>executeDriver--(确保传入的语
寒 暄
·
2024-01-06 17:25
#
---Hive源码解析
java
hive
Kotlin 协程
源码阅读
笔记 —— Flow
Kotlin协程
源码阅读
笔记——FlowFlow就是Kotlin协程中的流,我们可以通过它在Kotlin中进行写出流式代码,大名鼎鼎的RxJava就是流式编程的库(不过我遇到很多的人他们只会用RxJava
程序员小何SS
·
2024-01-06 10:00
kotlin
笔记
echarts
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他