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
muduo网络库源码剖析
muduo网络库
使用心得
上个月看了朋友推荐的mudo网络库,下完代码得知是国内同行的开源作品,甚是敬佩。下了mudo使用手冊和035版的代码看了下结构,感觉是一个比較成熟并且方便使用的网络库。本人手头也有自己的网络库,尽管不敢说是一个多强大的网络库,但毕竟在外网也稳定运营了几年,多组同一时候在线也跑过30w左右,单组server也能跑上w人。做游戏server几年的经验,感觉稳定性才是网游server最核心最重要的环节,
weixin_34148340
·
2023-08-14 07:56
网络
Java集合底层
源码剖析
-ArrayList和LinkedList
文章目录ArrayList基本原理优缺点核心方法的原理数组扩容以及元素拷贝LinkedList基本原理优缺点双向链表数据结构插入元素的原理获取元素的原理删除元素的原理Vector和Stack栈数据结构的
源码剖析
猿与禅
·
2023-08-13 15:31
Java技术栈源码分析
java
集合
底层源码剖析
Redis
源码剖析
——线程模型
目录一、Redis是单线程吗?二、Redis单线程模式是怎样的?1.处理新连接请求2.处理客户连接上的可读事件3.beforesleep处理写任务队列三、Redis采用单线程为什么还这么快?四、Redis6.0之前为什么使用单线程?五、Redis6.0之后为什么引入了多线程?六、Redis6.0版本的多线程处理模型1.多线程模型2.开启多线程后,是否会存在线程并发安全问题?3.Redis多线程模型
oywLearning
·
2023-08-13 00:00
redis源码剖析
redis
c++
网络
Android:自定义沿着曲线轨迹移动
今天的文章大致如下:1、最终实现效果2、思路及主要
源码剖析
3、全部源码4、总结一、最终实现效果简单录制了一个Gif动画,如下图所示,虽然说是一个简单的Demo,但给出了相关属性和方法,像移动的Ico
程序员一鸣
·
2023-08-12 21:57
Android自定义View
Android自定义曲线
沿着曲线移动
Android曲线动画
Kotlin绘制曲线
linux1.0操作系统
源码剖析
sched.h sched.c
这篇文章只是学习笔记,如有错误或疑问,欢迎指出。#ifndef_SCHED_H#define_SCHED_H#defineNR_TASKS64//系统最多的进程数#defineHZ100//系统时钟频率100HZ#defineFIRST_TASKtask[0]//任务0是比较特殊init()#defineLAST_TASKtask[NR_TASKS-1]//任务数组里面最后一个#include#i
EW_DUST
·
2023-08-12 15:13
计算机系统
Linux
源码剖析
Stable Diffusion Webui
源码剖析
1、关键python依赖(1)xformers:优化加速方案。它可以对模型进行适当的优化来加速图片生成并降低显存占用。缺点是输出图像不稳定,有可能比不开Xformers略差。(2)GFPGAN:它是腾讯开源的人脸修复算法,利用预先训练号的面部GAN(如styleGAN2)中封装的丰富多样的先验因素进行盲脸(blindface)修复,旨在开发用于现实世界人脸修复的实用算法。(3)CLIP:Contr
benben044
·
2023-08-12 08:29
神经网络
AIGC
stable
diffusion
2022-01-03 Flink Standalone 集群启动
源码剖析
高并发FlinkRPC架构设计FlinkRPC基于Akka实现。它是异步、高性能、非阻塞事件驱动网络编程框架模型。JavaBIONIONettyScalaActorAkkaActorSystem是管理Actor生命周期的组件,重量。Actor是负责通信的组件,轻量。每个Actor都有一个MailBox,用于接收存储其他Actor发过来的邮件,通过这种方式实现异步。每个Actor单线程,轮询Mail
乔爱军
·
2023-08-12 06:37
01_ArrayList核心
源码剖析
一、基本原理数组的长度是固定的,java里面数组都是定长数组,如果不停的往ArrayList里面塞入这个数据,此时元素数量超过了初始大小,此时就会发生一个数组的扩容,就会搞一个更大的数组,把以前的数组拷贝到新的数组里面去缺点一、这个数组扩容+元素拷贝的过程,相对来说会慢一些.所以,不要频繁的往arralist里面去塞数据,导致他频繁的数组扩容,避免扩容的时候较差的性能影响了系统的运行缺点二、数组来
T_log
·
2023-08-11 03:10
Spark2.x精通:Master端循环消息处理
源码剖析
(二)
问题或建议,请公众号留言;如果您觉得“大数据开发运维架构”对你有帮助,欢迎转发朋友圈从微信公众号拷贝过来,格式有些错乱,建议直接去公众号阅读上一篇文章Spark2.x精通:Master端循环消息处理
源码剖析
大数据开发运维架构
·
2023-08-11 02:05
JVM
源码剖析
之System.getProperty实现
版本信息jdk版本:jdk8u40操作系统:MacSystem.getProperty方法大家并不陌生,在各大框架源码中都能见到,项目中也能使用到,那么此篇文章将带你揭开System.getProperty方法底层实现。System.getProperty可以拿到当前系统属性,比如当前操作系统的属性、动态链接库位置、编码集、当前虚拟机的版本等等一系列系统属性。当然,你可以把它理解为整个系统上下文的
程序员李哈
·
2023-08-10 13:24
Java底层
源码解读
java
jvm
JVM
源码剖析
之Java命令行参数全解
最近,有一位网友询问关于Java命令行参数方面的问题,因为在Java中参数有很多种,有不少的读者一直没弄明白,所以特意写下此篇文章。此篇文章分2大块,第一块是不同参数的解释,第2块就是JVM源码论证~1-1Java参数全解图1-1给出了运行Java代码的命令行,其中包括了启动命令和不同种类的参数,分别用红、黄、黑、绿、蓝、粉6种颜色代表。命令这个相信是一位Java程序员就能明白,使用javac命令
程序员李哈
·
2023-08-10 13:24
Java底层
源码解读
jvm
java
【C++】STL之map、set类
源码剖析
目录概述算法源码Iterator.hRBTree.hMap.hSet.htest.cpp概述map和set都是STL中的关联式容器,而vector、list、deque是序列式容器。map是映像,set是集合,map元素的数据类型是std::pair格式(key/value形成映像),set元素的数据类型只有key值。map和set的实现是对红黑树的封装,map根据key值进行排序,map和set
命运on-9
·
2023-08-10 05:27
c++
STL
map
set
红黑树
Spring
源码剖析
- SpringBoot启动流程
在Spring
源码剖析
的前三篇文章,我们介绍了ApplicationContext、Bean相关内容、BeanPostProcessor的内容;但从普遍反馈和自己事后阅读的体验来看,文章过长,没有重点,
zou8944
·
2023-08-08 04:47
后端
Spring
spring
spring
boot
java
C++ STL vector
源码剖析
vector比较容易理解面试中最重要的一个考点,就是两倍成长内存复制GNU2.0版本的vector源码并不难,主要的逻辑就是三根指针push_back源码内存的扩大更复杂的内容IteratorTraits
wwxy261
·
2023-08-08 03:27
算法
【C++】透过STL源码深度剖析及模拟实现vector
鉴于读者的响应,打算将文章拆分一下,方便观看,基本接口可看深入浅出STL之vector类一、源码引入以下我所介绍的都是基于【SGI】版本的STL,对源码有兴趣的同学可以去看看侯捷老师的《STL
源码剖析
》
烽起黎明
·
2023-08-07 00:49
C++
STL
c++
STL
vector
模拟
约定优于配置设计范式及Spring Boot
源码剖析
依赖管理在SpringBoot入门程序中,项目pom.xml文件中有两个核心依赖,分别是spring-boot-starter-parent和spring-boot-starter-web,关于这两个依赖的相关介绍具体如下:为何导入dependency时不需要指定版本号呢?首先在父依赖中指定了实际开发所依赖的版本号,当然是可以修改的。org.springframework.bootspring-b
范学博
·
2023-08-06 11:19
学习内容输出
Spring
Boot
依赖管理
自动配置(启动流程)
自定义starter
STL
源码剖析
——vector容器
写在前面vector是我们在STL中最常用的容器,我们对它的各种操作也都了然于胸。然而我们在使用vector的时候总会有一种很虚的感觉,因为我们不清楚接口内部是如何实现的。在我们眼里宛如一个黑箱,既危险又迷人。为了打破这种顾虑,接下来我就带大家深入vector底层,彻底弄懂vector接口内部实现细节,打开这个黑箱。这样在使用vector的时候我们也就不会慌了,做到真正的了然于胸。vector底层
编程异思坊
·
2023-08-06 07:30
go restful
源码剖析
-2
综述调试样例为examples\restful-no-cache-filter.go,在该例子主要是对helloworld样例的扩展,主要在helloworld中添加Filter,用来消除http访问的cache,代码如下。funcmain(){ws:=new(restful.WebService)ws.Filter(restful.NoBrowserCacheFilter)ws.Route(ws
tcuze
·
2023-08-05 07:55
java框架集合List子接口之ArrayList
源码剖析
感兴趣的话大家可以关注一下公众号:猿人刘先生,欢迎大家一起学习,一起进步,一起来交流吧!ArrayListArrayList实现了List接口,它是有序且可以重复的,允许存放所有所有元素,包括null,除了实现List接口之外这个类还提供了一些方法来操作内部存储列表数组的大小,这个类大致相当于Vector,只是它不是同步的,同时ArrayList还实现了RandomAccess,Cloneable
lingering fear
·
2023-08-04 14:30
java
java
list
数据结构
Vue.js
源码剖析
-组件化
Vue.js
源码剖析
-组件化组件化可以让我们方便的把页面拆分成多个可重用的组件组件是独立的,系统内可重用,组件之间可以嵌套有了组件可以像搭积木一样开发网页例如,你可能会有页头、侧边栏、内容区等组件,每个组件又包含了其它的像导航链接
Wuner
·
2023-08-04 05:13
python源码阅读(1)-- 类型对象及虚拟机
抽空看了《Python
源码剖析
》+python3.7的源码,记录一下觉得重要的知识点类型对象整数通过整数对象池解决对引用计数的过度访问频繁执行的代码会提供宏(节省函数开销,牺牲类型安全)和函数(检查类型安全降低效率
hoppyf
·
2023-08-04 03:40
Spark2.x精通:Master端循环消息处理
源码剖析
(一)
请公众号留言;如果您觉得“大数据开发运维架构”对你有帮助,欢迎转发朋友圈从微信公众号拷贝过来,格式有些错乱,建议直接去公众号阅读上篇文章:Spark2.x精通:Standalone模式Master节点启动
源码剖析
大数据开发运维架构
·
2023-08-03 12:57
微服务网关
源码剖析
一、微服务网关层的整体架构思考先回顾下网关层的功能:1.请求鉴权发布商品,登录鉴权。2.数据完整性检查数据定长Header,变长body3.协议转换JSON->HashMap(string,obj)如果value不支持json嵌套的话,就string就可以。hashmap(string,string)4.路由转发根据CMD转发到不同业务逻辑层5.服务治理限流,降级,熔断等。其中最核心的是1和4.1
牧码人爱跑马
·
2023-08-03 03:53
【重造轮子】golang实现可重入锁
造个可重入锁的轮子介绍目标正文sync.Mutexsync.Mutex介绍多协程计数器demo多协程计数器加锁
源码剖析
Mutex数据结构Lock()加锁核心逻辑UnLock()重入锁与可重入锁魔改sync.Mutex
SchopenhauerZhang
·
2023-08-03 00:21
总结
Golang
golang
sync.Mutex
可重入锁
造轮子
Thread
源码剖析
类的使用,可以说是java语言必备,但你是否真正意义上去剖析过他的内部结构,本文从概述的几个问题出发,一起进行源码阅读(本文基于Android-27中的Thread源码)概述对常用的Thread做一次
源码剖析
Felix_lin
·
2023-08-02 10:53
学习中遇到的好博客
大文件采用异步io+直接io(123条消息)Linux网络编程|彻底搞懂零拷贝(zero-copy)技术_socket零拷贝_linux大本营的博客-CSDN博客Boost库c++网络编程:Boost.asio
源码剖析
偏安一隅,占山为王
·
2023-08-02 00:29
学习
1w+的心路历程
写的内容围绕着安卓技术,
源码剖析
,生活感悟,职场人生。很庆幸的是,得到大家的支持,每一条留言都会是一次交流,看着后台用户有来有去,这才是该有的节奏。这就如同呼吸一样,说明我的公号有生命力。
明哥的江湖
·
2023-08-01 15:37
Redis
源码剖析
- Redis内置数据结构之字典dict
redis
源码剖析
训练营主讲内容包含8个技术点:1:数据存储分析2:redis存储原理3:redis事件机制4:redis6.0-IO多线程5:redis有序集合的实现-跳表6:跳表的
linux大本营
·
2023-08-01 12:11
linux页框回收之shrink_node函数
源码剖析
概述《Linux内存回收入口_nginux的博客-CSDN博客》前文我们概略的描述了几种内存回收入口,我们知道几种回收入口最终都会调用进入shrink_node函数,本文将以Linux5.9源码来描述shrink_node函数的源码实现。函数调用流程图scan_control数据结构structscan_control{/*Howmanypagesshrink_list()shouldreclai
nginux
·
2023-07-31 06:16
内存子系统
linux
操作系统基本原理
内核
Spring源码之基本标签与自定义标签解析的底层源码分析
目录Spring源码之基本标签与自定义标签解析的底层源码分析前言1前言2
源码剖析
自定义标签解析自定义标签的解析步骤自定义标签的解析步骤基本标签解析总结Spring源码之基本标签与自定义标签解析的底层源码分析前言
etcEriksen
·
2023-07-30 07:12
Spring源码
spring
java
spring
boot
java集合框架List子接口之LinkedList
源码剖析
感兴趣的话大家可以关注一下公众号:猿人刘先生,欢迎大家一起学习,一起进步,一起来交流吧!LinkedListLinkendList是一个双向链表,并且实现了Deque接口,可以作为一个队列来使用,虽然LinkendList是线性结构,但是数据的存储并不是按照线性的接口来存储的,而是在每一个节点里存数据及下一个节点的地址,同时实现了Cloneable接口,支持拷贝,并且实现了java.io.Seri
lingering fear
·
2023-07-28 10:26
java
java
list
数据结构
【C++】开源:
Muduo网络库
配置与使用
°★这篇文章主要介绍
Muduo网络库
配置与使用。无专精则不能成,无涉猎则不能通。——梁启超欢迎来到我的博客,一起学习,共同进步。
Frank学习路上
·
2023-07-28 09:15
#
c++开源项目学习
c++
开源
网络
JVM
源码剖析
之JIT工作流程
JVM
源码剖析
之达到什么条件进行JIT优化这篇文章大致讲述JIT的编译过程。
程序员李哈
·
2023-07-28 09:48
Java底层
源码解读
jvm
java
go restful
源码剖析
-3
概述调试go-restful\examples中的restful-options-filter,在该段代码中主要介绍了处理httpoption请求的流程,在改短代码中采用了之前通用的container初始化及注册流程,只是在fliter中添加了对应的OPTIONSFilter。typeUserResourcestruct{}func(uUserResource)RegisterTo(contain
tcuze
·
2023-07-28 02:26
Mybatis
源码剖析
之Mybatis执行流程(proxy 代理)
预读Mybatis在设计上,分为三层:接口层,数据处理层,框架支持层在接口层中,分为传统模式:通过sqlSession+statementId。接口代理模式:sqlSession+mapper接口准备-->-->-->-->-->Mybatis执行流程(proxy代理)proxy代理的方式创建代理对象,通过代理对象调用,执行invocationHandler的invoke方法,本质上还是通过exe
白鸽呀
·
2023-07-27 16:39
Mybatis源码
Java源码
Mybatis
java
代理模式
Mybatis源码
Mybatis
源码剖析
之Mybatis执行流程(传统方式)
预读Mybatis在设计上,分为三层:接口层,数据处理层,框架支持层在接口层中,分为传统模式:通过sqlSession+statementId。接口代理模式:sqlSession+mapper接口准备userMapper.xmlmybatis核心配置文件-->-->-->-->-->Mybatis传统方式执行流程1、通过classLoader读取核心配置文件为输入流注意:只要是流,底层就是数组,那
白鸽呀
·
2023-07-27 16:39
Mybatis源码
Java源码
Mybatis
java
maven
Mybatis源码
Mybatis
源码剖析
之插件interceptor执行原理
预读mybatis通过插件对(Executor、StatementHandler、ParameterHandler、ResultSetHandler)这四个核心对象创建代理进行拦截对mybatis来说插件就是拦截器,用来增强核心对象的功能,增强功能本质上是借助于底层的动态代理实现的,换句话说,MyBatis中的四大对象都是代理对象Mybatis核心对象介绍MyBatis的主要的核心部件有以下几个:
白鸽呀
·
2023-07-27 16:09
Mybatis源码
Java源码
Mybatis
java
Mybatis源码
Mybatis二级缓存
源码剖析
级缓存和具体的命名空间绑定,⼀个Mapper中有⼀个Cache,相同Mapper中的MappedStatement公用⼀个Cache,⼀级缓存则是和SqlSession绑定一,全局二级缓存开启配置方向:通过配置开启二级缓存,
源码剖析
从配置读
FYHannnnnn
·
2023-07-27 16:08
Mybatis
Mybatis二级缓存
Mybatis缓存
mybatis二级缓存源码
mybatis缓存源码解析
mybatis二级缓存原理
Mybatis
源码剖析
之二级缓存
序言mybatis默认开启一级缓存,一级缓存存在于Executor中,而executor存在于sqlSession中,因此一级缓存可以当作在sqlSession生命周期中。与一级缓存不同,二级缓存和具体的命名空间绑定,一个Mapper中有一个Cache,相同Mapper中的MappedStatement共用一个Cache,一级缓存则是和SqlSession绑定。准备启用二级缓存1、开启全局二级缓存
白鸽呀
·
2023-07-27 16:08
Mybatis源码
Java源码
Mybatis
缓存
java
Mybatis源码
Mybatis
源码剖析
(一)
Mybatis
源码剖析
(一)传统方式
源码剖析
:
源码剖析
-初始化InputStreaminputStream=Resources.getResourceAsStream("mybatis-config.xml
痛冕
·
2023-07-27 16:37
mybatis
java
Mybatis
源码剖析
:二级缓存
源码剖析
Mybatis
源码剖析
:二级缓存
源码剖析
二级缓存构建在一级缓存之上,在收到查询请求时,MyBatis首先会查询二级缓存,若二级缓存未命中,再去查询一级缓存,一级缓存没有,再查询数据库。
丿涛哥哥
·
2023-07-27 16:07
MyBatis
java
mybatis
Mybatis架构原理--二级缓存
源码剖析
Mybatis架构原理--二级缓存
源码剖析
二级缓存构建在一级缓存之上,在收到查询请求时,Mybatis首先会查询二级缓存,若二级缓存没有命中,再去查询一级缓存,一级缓存没有,在查询数据库;二级缓存-->
JavaShark
·
2023-07-27 16:05
mybatis
架构
缓存
Redis
源码剖析
之robj(redisObject)
我们在之前的文章中已经了解过一部分Redis的数据结构了,尤其是dict中讲到,可以把redis看做一个hashtable,存储了一堆的key-value,今天就来看下key-value中value的主要存储结构redisObject(后文统称robj)。robj的详细代码见object.c字段详解相对与其他几个数据结构,robj相对简单,因为只包含了几个字段,含义都很明确。typedefstru
xindoo
·
2023-07-27 13:07
linux初学者要读的书
Linux编程实践教程》5、《深入理解Linux内核》6、《Linux命令行与shell脚本编程大全(第3版)》7、《Linux内核设计与实现(第3版)8、《深入Linux内核架构》9、《ARMLinux内核
源码剖析
向阳菌
·
2023-07-27 12:08
linux
运维
服务器
muduo
源码剖析
--TcpConnection
TcpConnection类封装了一个个的tcp连接,实现了socket的四种回调,以及注册一些上层的回调classTcpConnection:noncopyable,publicstd::enable_shared_from_this{public:TcpConnection(EventLoop*loop,conststd::string&nameArg,intsockfd,constInetA
godaa
·
2023-07-27 08:46
muduo
c++
多线程
socket
muduo网络库
http连接池使用及
源码剖析
1背景内部系统调用腾讯微信公众号平台与其进行网络通信,通过监控观察发现业务高峰期调用大的时候,网络请求耗时高达数10秒甚至更高,走查代码发现网络请求使用了apache开源组件HttpClient调用微信api,实现方式是最常见的方案。起初怀疑可能是网络原因,咨询运维http抓包、网络带宽调研等,最终排除网络原因。至此便开始了http请求优化探索之路。2http连接池简介Http连接的建立和关闭本质
木子金丰
·
2023-07-27 03:50
http
网络
java
Spring
源码剖析
1:初探Spring IOC核心流程
本文大致地介绍了IOC容器的初始化过程,只列出了比较重要的过程和代码,可以从中看出IOC容器执行的大致流程。接下来的文章会更加深入剖析Bean容器如何解析xml,注册和初始化bean,以及如何获取bean实例等详细的过程。转自:http://www.importnew.com/19243.html1.初始化大致单步跟了下SpringIOC的初始化过程,整个脉络很庞大,初始化的过程主要就是读取XML
程序员黄小斜
·
2023-07-26 08:11
JVM
源码剖析
之达到什么条件进行JIT优化
版本信息:jdk版本:jdk8u40思想至上技术经过数百年的迭代,如今虚拟机中都存在JIT模块,JVM中Hotspot,Android虚拟机中dalvik、Art等等。并且存在一个共性,全部都是解释器和JIT共存。当然,如今都存在AOT编译(AheadofTimeCompiler)将Java文件直接编译成平台相关可执行文件,这并不是本文改论述的点。在Hotspot虚拟机中执行引擎包括解释器、JIT
程序员李哈
·
2023-07-25 18:32
Java底层
源码解读
jvm
java
Thread
源码剖析
前言昨天已经写了:多线程三分钟就可以入个门了!如果没看的同学建议先去阅读一遍哦~在写文章之前通读了一遍《Java核心技术卷一》的并发章节和《Java并发编程实战》前面的部分,回顾了一下以前写过的笔记。从今天开始进入多线程的知识点咯~我其实也是相当于从零开始学多线程的,如果文章有错的地方还请大家多多包含,不吝在评论区下指正呢~~一、Thread线程类API声明本文使用的是JDK1.8实现多线程从本质
Java3y
·
2023-07-25 14:45
Hashtable 与 HashMap初探
然后我就一脸愣逼,我记得《stl
源码剖析
》中好像没有讲到Hashtable,只说了map,set,mutimap,mutiset,所以哈希是什么东西?黑人问号。
portability
·
2023-07-25 11:03
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他