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
RPC源码分析
Spring Boot原理剖析和
源码分析
SpringBoot原理剖析和
源码分析
依赖管理问题一:为什么导入dependency时不需要指定版本?
左师兄zuosx
·
2024-02-08 03:53
七、Nacos源码系列:Nacos服务发现
获取服务实例列表3.1、从缓存中获取服务信息3.2、缓存为空,执行订阅服务3.2.1、调度更新,往线程池中提交一个UpdateTask任务3.2.2、订阅服务3.2.3、处理服务信息3.3、非订阅模式,通过g
rpc
每天都要进步一点点
·
2024-02-08 01:36
#
Nacos源码
Nacos源码
Nacos服务发现
Nacos注册中心
Nacos
服务发现
第二十三章、AtomicInteger
源码分析
—基于CAS的乐观锁实现
1.悲观锁与乐观锁cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换,也就是会发生进程的切换。切换涉及到清空寄存器,缓存数据。然后重新加载新的thread所需数据。当一个线程被挂起时,加入到阻塞队列,在一定的时间或条件下,在通过notify(),notifyAll()唤醒回来。在某个资源不可用的时候,就将cpu让出,
小母牛不生产奶
·
2024-02-08 00:17
嵌入式Linux开发板各种不同的微处理器架构
常见的架构包括ARM、MIPS、Powe
rPC
等。这些架构都是精简指令集RISC处理器架构。
CC学妹
·
2024-02-07 22:19
笔记
经验分享
【Canal
源码分析
】Canal Server的启动和停止过程
一、序列图1.1启动启动序列图.png1.2停止停止序列图.png二、
源码分析
整个server启动的过程比较复杂,看图难以理解,需要辅以文字说明。
端木轩
·
2024-02-07 22:31
frp stcp远程桌面使用sudp加速(toml配置)
://github.com/fatedier/frp/releasesstcp可以使连接更加安全,网络连接见下图:frps配置(frps.toml):bindPort=7000token="自定义"f
rpc
timer9527
·
2024-02-07 21:25
杂记
安全
文件服务器nfs和自动管理(挂载卸载)
第一:服务器端配置192.168.10.1381.启动相关服务,需要先启动
rpc
服务,因为nfs服务端口不固定,通过
rpc
记录nfs的相关信息,相关服务都没有,yum下吧,安装的内容挺多2启动
rpc
,再启动
长夜漫漫长
·
2024-02-07 20:07
服务器
linux
运维
vue双向绑定的原理及实现双向绑定MVVM
源码分析
Vue双向数据绑定的原理:可以将对象的属性绑定到UI,具体的说,我们有一个对象,该对象有一个name属性,当我们给这个对象name属性赋新值的时候,新值在UI上也会得到更新。同样的道理,当我们有一个输入框或者textarea的时候,我们输入一个新值的时候,也会在该对象的name属性得到更新。数据劫持实现双向数据绑定:vue.js则是采用数据劫持结合发布者-订阅者模式,通过Object.define
前端来入坑
·
2024-02-07 19:40
Adb显示第3方应用的包名原理
Android早期版本实现原理请看Android
源码分析
-pm命令的实现,列出包名pmlistpackage,列出系统库pmlistlibraries_pmlistpackages-CSDN博客Android12
亚瑟-小郎
·
2024-02-07 16:24
adb
list
framework
android
02Nginx
源码分析
之总结内存开辟的相关函数(ngx_alloc.c,ngx_palloc.c)
02Nginx
源码分析
之总结内存开辟的相关函数(ngx_alloc.c,ngx_palloc.c)前言:写这一篇的目的是为了方便接下来的阅读,否则每次都要对应查找相应的函数,非常麻烦。
Mango酱
·
2024-02-07 15:53
Nginx源码分析
nginx
数据结构
跟着GPT学设计模式之原型模式
如果对象中的数据需要经过复杂的计算才能得到(比如排序、计算哈希值),或者需要从
RPC
、网络、数据库
c0detrend
·
2024-02-07 14:19
gpt
设计模式
原型模式
DataX详解和架构介绍
系列文章目录一、DataX详解和架构介绍二、DataX
源码分析
JobContainer三、DataX
源码分析
TaskGroupContainer四、DataX
源码分析
TaskExecutor五、DataX
shandongwill
·
2024-02-07 14:27
大数据
DataX
大数据
详解
TCP 粘包/拆包
文章目录概述粘包拆包发生场景解决TCP粘包和拆包问题的常见方法Netty对粘包和拆包问题的处理小结概述TCP的粘包和拆包问题往往出现在基于TCP协议的通讯中,比如
RPC
框架、Netty等TCP粘包/拆包就是你基于
思静语
·
2024-02-07 13:09
网络
tcp/ip
网络
网络协议
深入理解AQS独占锁之ReentrantLock
源码分析
并发工具类的应用场景详解上一章我们讲解了ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier等同步工具类的应用场景及实现,本章我们重点讲解ReentrantLock
源码分析
Myname_China
·
2024-02-07 12:22
并发编程
Java
java
开发语言
并发编程
读写锁ReentrantReadWriteLock&StampLock详解
传送门:深入理解AQS独占锁之ReentrantLock
源码分析
目录读写锁介绍ReentrantReadWriteLock介绍ReentrantReadWriteLock的使用应用场景锁降级读写锁设计思路
Myname_China
·
2024-02-07 12:22
并发编程
Java
java
开发语言
并发编程
Vue.js
源码分析
——模板编译和组件化
一、模板编译模板编译介绍:模板编译的主要目的是将模板(template)转换为渲染函数(render)titlesomecontent渲染函数render(h){returnh('div',[h('h1',{on:{click:this.handler}},'title'),h('p','somecontent')])}模板编译的作用Vue2.x使用VNode描述视图以及各种交互,用自己编写的VN
丽__
·
2024-02-07 12:41
整合RabbitMQ实现消息异步发送
在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,
RPC
的调用等等。使用较多的消息队列有ActiveMQ(安全),Rabbit
刚满十八工地搬砖
·
2024-02-07 12:13
rabbitmq
分布式
Eureka
源码分析
(九)清理过期租约
下面我们来说说eureka的过期机制。其实这篇文章主要介绍的是AbstractInstanceRegistry的内部类EvictionTask。我们知道AbstractInstanceRegistry是包括了所有注册到EurekaServer上的实例。而EvictionTask就是清理过期租约的定时任务。在Eureka-Server启动时,初始化EvictionTask定时执行。protected
skyguard
·
2024-02-07 11:21
UE4 单个网络数据包最大长度是多少
我们
RPC
的单帧数据包长度,限制成多少了?
maxos
·
2024-02-07 10:02
ue4
网络
freertos
源码分析
三 task 结构与几个链表
任务控制块taskControlBLock结构体,以下为部分typedefstructtskTaskControlBlock{volatileStackType_t*pxTopOfStack;//栈顶指针ListItem_txStateListItem;//任务状态表项ListItem_txEventListItem;//事件表项UBaseType_tuxPriority;//优先级StackTy
yvee
·
2024-02-07 10:20
链表
数据结构
freertos
源码分析
四 任务创建的简单分析
任务创建xTaskCreate为TCB和TCB栈分配空间,初始化,加入就绪任务链表#if(configSUPPORT_DYNAMIC_ALLOCATION==1)BaseType_txTaskCreate(TaskFunction_tpxTaskCode,constchar*constpcName,constconfigSTACK_DEPTH_TYPEusStackDepth,void*const
yvee
·
2024-02-07 10:17
嵌入式硬件
牛逼哄哄的消息队列到底有什么用?
但在大型分布式应用中,系统间的
RPC
交互繁杂,一个功能背后要调用上百
Java机械师
·
2024-02-07 10:13
ConcurrentLinkedHashMap
源码分析
一、简介ConcurrentLinkedHashMap是google开源的线程安全的方便并发的Map,Map利用LRU缓存机制对Map中存储对象进行换入换出管理。采用两套资源控制机制,一套同步机制,使用ConcurrentMap对对象数据进行KV存储,保证多线程并发安全地调用Map资源,而对于存储对象的换入换出管理则采用异步机制,使用Queuebuffer存储每次的因对象读写而产生的对象换入换出任
lim快乐_无限
·
2024-02-07 09:15
Flink执行流程与
源码分析
(面试必问,建议收藏)
Flink主要组件作业管理器(JobManager)(1)控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的Jobmanager所控制执行(2)Jobmanager会先接收到要执行的应用程序,这个应用程序会包括:作业图(JobGraph)、逻辑数据流图(ogicaldataflowgraph)和打包了所有的类、库和其它资源的JAR包。(3)Jobmanager会把Jobgraph
大数据左右手
·
2024-02-07 09:04
Flink
大数据
flink
三级?是缓存不是片! spring的三级缓存---学习spring框架第一步
二、是怎么解决的三、反思总结
源码分析
:DefaultSingletonBeanRegistry类getSingleton方法三级缓存的作用反思总结面试点:1、三级缓存原理:如上2、二级缓存就可以解决了为什么还要有三级缓存为什么需要早期引用
苏汀star
·
2024-02-07 08:17
框架
spring
学习
java
面试
【中间件学习】什么是中间件
如;
RPC
框架、白名单、限流、切量等。为什么使用中间件中间件屏蔽了底层操作系统的复杂性,让开发工程师将更多的专
少写代码少看论文多多睡觉
·
2024-02-07 08:12
Java全栈开发进阶
#
中间件
中间件
学习
Golang的学习路线
2成长阶段go语言基础;标准库学习;Git;MySQL、Redis;框架学习,比如Gin、Gorm、G
rpc
、docker
西木Qi
·
2024-02-07 07:53
golang
golang
nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和
源码分析
(中)
目录6.
源码分析
6.1解析指令分析6.2待检查的服务器的添加和状态查询6.3本模块的进程初始化函数6.4准备执行健康检测任务6.5执行健康检测任务本篇对ngx_http_upstream_check_module
码农心语
·
2024-02-07 07:53
高性能
nginx学习
LINUX
nginx
http
运维
健康检测
tengine
源码分析
nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和
源码分析
(下)
目录7.实现一个UDP健康检测功能7.1功能定义7.2定义一个新的健康检测类型7.3增加udp特定的健康检测需要的配置指令7.3.1ngx_http_upstream_check_srv_conf_s结构体的扩展7.3.2check_udp_send的实现7.3.3check_udp_expect的实现7.3.416进制解码代码的实现7.4ngx_http_upstream_check函数的修改7
码农心语
·
2024-02-07 07:50
nginx学习
LINUX
c++开发
nginx
http
udp
健康检测
upstream
tengine
源码实现
js逆向学习笔记【一篇就够】
js逆向学习笔记【一篇就够】不够再来一篇文章目录js逆向学习笔记【一篇就够】算法还原白盒还原黑盒还原
RPC
调用浏览器自动化基本数据类型原始类型合成类型查看类型nullundefined和布尔值数值进制NaNInfinity
顽强拼搏的阿k
·
2024-02-07 07:18
JS逆向
javascript
学习
前端
Carla框架分析(三)
Carla采用的是CS的架构,即Server端是在UE4当中,作为UE4的一个插件PluginClient端是C++客户端或者是Python客户端中间通过
rpc
框架进行通信,走的是TCP协议首先来看一张很重要的图
梁如风
·
2024-02-07 07:53
Python-can库的使用(1)——简介与安装
我是纯良思安,爱技术、爱分享,更爱生活♂️喜欢的朋友可以关注一下,下次更新不迷路文章目录1、简介1.1主要功能1.2官方库文档描述2、安装2.1、GNU/Linux依赖项2.2、Windows依赖项Kvase
rPC
ANIXXATNI-CANneoVIVectorCANtactCanViewer
纯良思安
·
2024-02-07 05:14
Python-can
python
Golang context 万字解析实现原理
Golang:context基于go1.21版本Context是什么Context的功能应用场景
源码分析
1.10Context核心结构1.1Err错误2.1emptyCtx3.1Background()
Go 的学习之路
·
2024-02-07 04:02
golang
服务器
linux
RocketMQ
源码分析
(四)消息的发送
消息发送的主要步骤为:验证消息,查找路由,消息发送(包含异常机制处理)我们以DefaultMQProducer#send为切入口:以下代码为验证消息publicSendResultsend(Messagemsg)throwsMQClientException,RemotingException,MQBrokerException,InterruptedException{//校验消息(主要是长度是
甘_
·
2024-02-07 04:01
阿里首席架构师科普
RPC
框架
RPC
概念及分类
RPC
全称为RemoteProcedureCall,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。
Java架构
·
2024-02-07 04:26
wespeaker项目g
rpc
-java客户端开发
非常重要的原始参考资料:链接:triton-inference-server/clientgithub/g
rpc
javaps:使用g
rpc
协议的其它项目python/go可以参考github目录client
weixin_43870390
·
2024-02-07 03:18
java
开发语言
muduo-net
源码分析
(七)——TcpServer 和 TcpConnection(二)
先序这一节我们将继续完善TcpServer和TCPConnection类,并且解决上一节思考的问题【一定要理清思路】;TcpServer
源码分析
重要的变量ConnectionCallbackconnectionCallback
cyjiayou
·
2024-02-07 03:02
muduo源码分析
c++
Java Character源码剖析
下面结合
源码分析
Character的贡献。Unicode也许你没听过Unicode,但应该见过UTF-8。
洒水水儿
·
2024-02-07 02:54
Java常用类的源码剖析
java
开发语言
libevent
源码分析
(2)--2.1.8--结构体 struct event和struct event_callback
一、event_callback结构体structevent_callback{//下一个回调事件TAILQ_ENTRY(event_callback)evcb_active_next;//回调事件的状态标识,具体为://#defineEVLIST_TIMEOUT0x01//event在time堆中,min_heap//#defineEVLIST_INSERTED0x02//event在已注册事件
录事参军
·
2024-02-07 01:18
libevent
libevent
libevent
Libevent
源码分析
-----与event相关的一些函数和操作
Libevent提供了一些与event相关的操作函数和操作。本文就重点讲一下这方面的源代码。在Libevent中,无论是event还是event_base,都是使用指针而不会使用变量。实际上,如果查看Libevent不同的版本,就可以发现event和event_base这两个结构体的成员是不同的。对比libevent-2.0.21-stable和libevent-1.4.13-stable这两个版
amoscykl
·
2024-02-07 01:48
Libevent
Libevent
libevent
Libevent
源码分析
-----信号event的处理
信号event的工作原理:前面讲解了Libevent如何监听一个IO事件,现在来讲一下Libevent如何监听信号。Libevent对于信号的处理是采用统一事件源的方式。简单地说,就是把信号也转换成IO事件,集成到Libevent中。统一事件源的工作原理如下:假如用户要监听SIGINT信号,那么在实现的内部就对SIGINT这个信号设置捕抓函数。此外,在实现的内部还要建立一条管道(pipe),并把这
amoscykl
·
2024-02-07 01:47
Libevent
Libevent
libevent
Libevent
源码分析
-----超时event的处理
如何成为超时event:Libevent允许创建一个超时event,使用evtimer_new宏。//event.h文件#defineevtimer_new(b,cb,arg)event_new((b),-1,0,(cb),(arg)) 从宏的实现来看,它一样是用到了一般的event_new,并且不使用任何的文件描述符。从超时event宏的实现来看,无论是evtimer创建的event还是一般ev
amoscykl
·
2024-02-07 01:47
Libevent
Libevent
libevent
Libevent
源码分析
-event_base
event_base数据结构初始化event_base相关接口前面介绍了event,本节介绍Reactor的核心结构:event_base,它在event-internal.h中。event_base是整个libevent的核心,它持有所有注册的事件,并负责通知激活的事件。event_base数据结构structevent_base{conststructeventop*evsel;void*ev
KangRoger
·
2024-02-07 01:16
Libevent
libevent
event-base
reactor
GO实现高可用高并发分布式系统:g
RPC
实现客户端与服务端的一对一通讯
分布式系统的特点是不同的功能模块会以独立服务器程序的方式运行在不同主机上。当服务A想请求位于另一台机器的服务B完成特定请求时,就必须将要处理的数据提交给B。这个过程就涉及到一系列问题,首先A需要把数据进行序列化然后通过网络连接发送给B,B接收到数据后需要进行反序列化得到数据原型,进行相应处理得到结果,接着把结果序列化后再传递给A,A收到结果后进行反序列化,得到处理结果的数据结构。这一系列过程涉及到
tyler_download
·
2024-02-07 00:26
golang
rpc
网络
php+golang g
rpc
客户端和服务端详细案例
测试环境:win10、centos7.9、php7.4、golang1.17一、安装protobuf1、protoc的源码和各个系统的预编译包-https://github.com/protocolbuffers/protobuf/releases2、选择对应的安装文件下载,解压(tips:文件解压的路径最好是英文,无任何特殊字符,包括空格;之前安装es插件时就因为ProgramFiles中有个空
布帆云
·
2024-02-07 00:24
php
go
golang
php
go g
rpc
客户端与服务端连接简单使用
gog
rpc
客户端与服务端连接简单使用1.文件目录如下:2.建立接口文件在此之前需要对g
rpc
的使用环境进行配置,网上例程很多,不再赘述syntax="proto3";//定义包名optiongo_package
chenqianghqu
·
2024-02-07 00:24
go语言
golang
python分别作为客户端与服务端使用g
rpc
通信
protobuf语法2.下载依赖使用教程1.编写data.proto2.编写服务端3.编写客户端3.1一般客户端3.2flask作为客户端调用4.一般客户端测试官方python教程https://www.g
rpc
.io
Alex-Leung
·
2024-02-07 00:23
Python
python
rpc
grpc
04 使用g
RPC
实现客户端和服务端通信
使用g
RPC
实现客户端和服务端通信参考文档:基于C#的G
RPC
1创建项目和文件夹G
rpc
ClientDemoG
rpc
ServerDemoProtos解决方案和文件夹1.1添加nuget依赖客户端和服务器都要有依赖和
海纳百川程序员
·
2024-02-07 00:53
Net6
开发语言
.net
MyBatis的二级缓存以及装饰器模式运用
目录Mybatis中如何配置二级缓存基于注解配置缓存基于XML配置缓存Cache解析处理过程Cache支持的过期策略缓存的基本实现装饰器模式Mybatis缓存实现
源码分析
BlockingCacheLRU
陈脩
·
2024-02-06 21:08
iBatis
装饰器模式
java
缓存
eureka
开发语言
btcd、btcl、btcwallet的启动与交互
1启动btcd如上文所述,启动过程如下:btcd--simnet--
rpc
user=
rpc
user--
rpc
pass=
rpc
pass--
rpc
listen=0.0.0.0:18556--listen=0.0.0.0
链人成长chainerup
·
2024-02-06 21:49
上一页
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
其他