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
GUAVA源码阅读
缓存之美——如何选择合适的本地缓存?
简介小编最近在使用系统的时候,发现尽管应用已经使用了redis缓存提高查询效率,但是仍然有进一步优化的空间,于是想到了比分布式缓存性能更好的本地缓存,因此对领域内常用的本地缓存进行了一番调研,有早期的
Guava
京东云开发者
·
2024-01-15 11:41
缓存
spring
java
Redis
源码阅读
—数据结构之字典 dict.c/dict.h
dict.c/dict.h一、dict的定义 字典,是一种用于实现键值对(key-valuepair)保存的抽象数据结构,通过字典,可以在单个键(key)与单个值(value)之间进行关联(或者说是将键映射成值),而这些关联的键与值即为键值对。 在字典中,每一个键都是独一无二的,所以程序可以在字典中通过键来对值,甚至是键值对进行操作。 在一些高级编程语言中,字典经常作为一种内置的数据结构出现
GC_W
·
2024-01-15 10:10
布隆过滤器四种实现(Java,
Guava
,hutool,Redisson)
1.背景为预防大量黑客故意发起非法的时间查询请求,造成缓存击穿,建议采用布隆过滤器的方法解决。布隆过滤器通过一个很长的二进制向量和一系列随机映射函数(哈希函数)来记录与识别某个数据是否在一个集合中。如果数据不在集合中,能被识别出来,不需要到数据库中进行查询,所以能将数据库查询返回值为空的查询过滤掉。缓存穿透:缓存穿透是查询一个根本不存在的数据,由于缓存是不命中时需要从数据库查询,这将导致这个不存在
雪顶猫的鳄
·
2024-01-15 06:20
java
java
guava
开发语言
redis
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
Guava
:CharMatcher字符匹配器
类方法说明官方文档:CharMatcher(
Guava
:GoogleCoreLibrariesforJava27.0.1-jreAPI)方法名称方法说明and(CharMatcherother)修饰匹配器
book多得
·
2024-01-13 04:53
Guava
常用
guava
java
Guava
:Spiltter 拆分器
简介Splitter提供了各种方法来处理分割操作,如集合,字符串,对象等。类方法说明方法名称方法说明fixedLength(intlength)初始化拆分器,拆分器会将字符串分割为元素长度固定的List,最后一个元素长度不足可以直接返回.limit(intlimit)限制拆分出的字符串数量omitEmptyStrings()从结果中自动忽略空字符串.on(charseparator)初始化拆分器,
book多得
·
2024-01-13 04:53
Guava
常用
guava
java
Guava
: Files 文件工具类
接口方法说明方法名称方法描述append(CharSequencefrom,Fileto,Charsetcharset)已过时。使用asCharSink(to,charset,FileWriteMode.APPEND).write(from),计划于2019年1月删除.asByteSink(Filefile,FileWriteMode...modes)返回一个新的ByteSink,用于将字节写入给
book多得
·
2024-01-13 04:47
Guava
常用
guava
哈希算法
散列表
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
学习
开发语言
详解4种经典的限流算法
最近,我们的业务系统引入了
Guava
的RateLimiter限流组件,它是基于令牌桶算法实现的,而令牌桶是非常经典的限流算法。本文将跟大家一起学习几种经典的限流算法。限流是什么?
Java弟中弟
·
2024-01-11 18:15
【
源码阅读
】交易池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
区块链
区块链
java8新特性--Optional详解
一、简介Optional类是Java8为了解决null值判断问题,借鉴google
guava
类库的Optional类而引入的一个同名Optional类,使用Optional类可以避免显式的null值判断
月明千古间
·
2024-01-11 09:35
java
单例模式
开发语言
linux内核调试指南
大海里的鱼有很多,而我们需要的是鱼钩一只一些前言作者前言知识从哪里来为什么撰写本文档为什么需要汇编级调试***第一部分:基础知识***总纲:内核世界的陷阱
源码阅读
的陷阱代码调试的陷阱原理理解的陷阱建立调试环境发行版的选择和安装为什么选
bob_fly1984
·
2024-01-11 08:13
Guava
中的 Stopwatch 是个什么鬼?
点击上方"程序员小乐"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!关注订阅号「程序员小乐」,收看更多精彩内容每日英文Allproblems,andultimatelyisamatteroftime.Alltheworry,infactisabother一切问题,最终都是时间问题。一切烦恼,其实都是自寻烦恼。每日掏心话如果你作出了某种选择,就要准备好承担一切后果。即使再苦再累,也不要心生抱
程序员小乐
·
2024-01-11 07:26
编程语言
java
比特币
人工智能
微软
guava
之Stopwatch
用于计时器其类结构为Stopwatch依赖于抽象类Ticker,Ticker的默认实现为newTicker(){@Overridepubliclongread(){returnPlatform.systemNanoTime();}};
kgduu
·
2024-01-11 07:26
guava
java
Guava
之Stopwatch
Guava
之Stopwatch计时器Stopwatch用来计算经过的时间(精确到纳秒)。
花泽啸
·
2024-01-11 07:23
java工具
guava
stopwatch
Guava
之计时器Stopwatch
1importjava.util.concurrent.TimeUnit;23importorg.junit.Test;45importcom.google.common.base.Stopwatch;67publicclass
Guava
Test
自我修炼的小石头
·
2024-01-11 07:53
java
Google
Guava
Stopwatch(计时器)
Stopwatchstopwatch=newStopwatch().start();//dosomethingtestfor(inti=0;i<10000;i++){}longnanos=stopwatch.elapsed(TimeUnit.NANOSECONDS);System.out.println(nanos);
weixin_34370347
·
2024-01-11 07:53
java
大数据
Guava
之Stopwatch计时器-
Guava
概述简单计时方式一般我们检测某段代码执行的时间,都是以如下方式来进行的:publicstaticvoidmain(String[]args){longstartTime=System.currentTimeMillis();//获取开始时间//函数主体代码longendTime=System.currentTimeMillis();//获取结束时间System.out.println("程序运行时
融极
·
2024-01-11 07:22
并发编程
工具包
并发编程
Guava
:Range 区间范围工具
在数学里面的范围是有边界和无边界之分的;同样,在
Guava
中也有这个说法。如果这个范围是有边界的,那么这个范围又可以分为包括开集(不包括端点)
book多得
·
2024-01-11 07:51
Guava
常用
guava
java
Google
Guava
计时器组件Stopwatch 的使用
Stopwatch是
Guava
提供的计时器组件,使用这个之后就不用我们自己通过System.currentTimeMillis()来开始计时调用一次,结束时再调用一次。
hehui0921
·
2024-01-11 07:20
guava
java
android
计时器 StopWatch 类 - Google
Guava
一、StopWatch简介StopWatch用来计算经过的时间(精确到纳秒)二、常用方法官方文档:https://google.github.io/
guava
/releases/27.0.1-jre/api
寒咏哥
·
2024-01-11 07:48
必须熟悉的常用库
StopWatch
Guava
计时器
Apache Doris 聚合函数
源码阅读
与解析|源码解读系列
笔者最近由于工作需要开始调研ApacheDoris,通过阅读聚合函数代码切入ApacheDoris内核,同时也秉承着开源的精神,开发了array_agg函数并贡献给社区。笔者通过这篇文章记录下对源码的一些理解,同时也方便后面的新人更快速地上手源码开发。聚合函数,顾名思义,即对一组数据执行聚合计算并返回结果的函数,在统计分析过程中属于最常见的函数之一,最典型的聚合函数包括count、min、max、
SelectDB技术团队
·
2024-01-11 07:16
数据库
大数据
数据分析
数据仓库
Apache
Doris
Guava
:StopWatch 计时器
这个类比调用System.now()优势在于:性能表现形式更丰富类方法说明官方文档:Stopwatch(
Guava
:GoogleCoreLibrariesforJava27.0.1-jreAPI)方法名称方法描述
book多得
·
2024-01-11 07:39
Guava
常用
guava
使用
Guava
Retrying优雅的实现业务异常重试
上次写过一篇如何使用springretry来实现业务重试的文章:https://blog.csdn.net/Kingsea442/article/details/135341747尽管SpringRetry工具能够优雅地实现重试,但它仍然存在两个不太友好的设计:重试实体被限定为Throwable子类,这意味着重试针对的是可捕获的功能异常,但实际上我们可能希望依赖某个数据对象实体作为重试实体,但是S
程序无涯海
·
2024-01-11 07:08
Java篇
guava
guava-retrying
java
容错重试
业务重试
超时重试
重试
[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
容器
云原生
上一页
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
其他