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
grpc-go源码剖析
深入理解ngx_http_upstream_vnswrr_module负载均衡模块
目录1.引言2.启用vnswrr负载均衡模块3.
源码剖析
3.1配置指令分析3.2负载均衡算法配置初始化3.3负载均衡请求上下文的初始化3.4获取peer1.引言 之前有讨论了nginx的swrr算法的两个问题
码农心语
·
2024-03-17 15:22
nginx学习
LINUX
c++开发
http
负载均衡
网络协议
swrr
vnswrr
nginx
Java外观模式
源码剖析
及使用场景
外观模式一、介绍二、家庭影院项目案例使用三、JavaAPI或框架中应用分析三、Spring框架ApplicationContext源码一、介绍外观模式(FacadePattern)是一种结构型设计模式,它为子系统中的一组接口提供了一个统一的高层接口,使得子系统更加容易使用。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式的主要作用有以下几点:简化系统的调用复杂性。通过外观模
Java语录精选
·
2024-03-11 12:10
JAVA设计模式
java
外观模式
设计模式
spring
grpc、https、oauth2等认证专栏实战17:
grpc-go
自定义认证之base64验证介绍
已发表的技术专栏(订阅即可观看所有专栏)0
grpc-go
、protobuf、multus-cni技术专栏总入口1
grpc-go
源码剖析
与实战 文章目录2 Protobuf介绍与实战图文专栏
码二哥
·
2024-02-20 21:15
码二哥的技术专栏
golang
kubernetes
grpc-go
零入门容器云网络
网络协议
grpc-go
通过context传递额外数据
使用ctx.Value从context读取数据//ValueFromIncomingContextreturnsthemetadatavaluecorrespondingtothemetadata//keyfromtheincomingmetadataifitexists.Keymustbelower-case.////#Experimental////Notice:ThisAPIisEXPERI
一见
·
2024-02-20 21:11
go-zero
go
grpc
golang
grpc
go-zero
《STL
源码剖析
》---stl_iterator.h阅读笔记
STL设计的中心思想是将容器(container)和算法(algorithm)分开,迭代器是容器(container)和算法(algorithm)之间的桥梁。迭代器可以如下定义:提供一种方法,能够依序寻访某个容器内的所有元素,而又无需暴露该容器的内部表达方式。在阅读代码之前,要先了解一个新概念:Traits编程技法templatestructMyIter{typedefTvalue_type//内
KangRoger
·
2024-02-20 11:06
STL
stl
c++
迭代器
iterator
《算法零基础100讲》(第75讲) 滑动窗口(一) - 固定窗口
文章目录零、写在前面一、概念定义二、题目描述三、算法详解四、
源码剖析
五、推荐专栏六、习题练习零、写在前面 这是《算法零基础100讲》专栏打卡学习的第75天了。
英雄哪里出来
·
2024-02-19 22:59
《算法零基础100讲》
算法
数据结构
滑动窗口
Java ArrayList
源码剖析
当涉及到存储和操作数据时,动态数组容器类ArrayList是Java中最常用的集合类之一。本文会介绍它的基本用法、迭代操作、实现的一些接口,最后分析它的特点。基本用法ArrayList是一个泛型容器,新建ArrayList需要实例化泛型参数,比如:ArrayListintList=newArrayList();ArrayList的主要方法有:publicbooleanadd(Ee)//添加元素到末
洒水水儿
·
2024-02-19 14:28
Java常用类的源码剖析
java
开发语言
Java ArrayDeque
源码剖析
LinkedList实现了队列接口Queue和双端队列接口Deque,Java容器类中还有一个双端队列的实现类ArrayDeque,它是基于数组实现的。我们知道,一般而言,由于需要移动元素,数组的插入和删除效率比较低,但ArrayDeque的效率却非常高,它是怎么实现的呢?本文就来详细探讨。实现原理ArrayDeque内部主要有如下实例变量:privatetransientE[]elements;
洒水水儿
·
2024-02-19 14:28
Java常用类的源码剖析
java
开发语言
Java Arrays
源码剖析
Java中有一个类Arrays,包含一些对数组操作的静态方法,本文主要就来讨论这些方法以避免重新造轮子,在需要的时候自己实现它不具备的功能。toStringArrays的toString()方法可以方便地输出一个数组的字符串形式,以便查看。它有9个重载的方法,下面列举两个常用的方法分析publicstaticStringtoString(int[]a)publicstaticStringtoStr
洒水水儿
·
2024-02-19 14:57
Java常用类的源码剖析
java
开发语言
Java 抽象容器类
源码剖析
总体介绍抽象容器类接口和具体容器类的关系如图所示,顶层包括Collection、List、Set、Queue、Deque和Map6个抽象容器类。AbstractCollection:实现了Collection接口,被抽象类AbstractList、AbstractSet、AbstractQueue继承,ArrayDeque也继承自AbstractCollection。AbstractList:父类
洒水水儿
·
2024-02-19 14:22
Java常用类的源码剖析
java
开发语言
Java LinkedList
源码剖析
ArrayList随机访问效率很高,但插入和删除性能比较低;LinkedList同样实现了List接口,它的特点与ArrayList几乎正好相反。除了实现了List接口外,LinkedList还实现了Deque和Queue接口,可以按照队列、栈和双端队列的方式进行操作。本节会介绍这些用法,同时介绍其实现原理。基本用法LinkedList的构造方法与ArrayList类似,有两个:一个是默认构造方法
洒水水儿
·
2024-02-19 10:05
Java常用类的源码剖析
java
开发语言
Mybatis
源码剖析
-- 初始化过程(传统方式)
一、读取配置文件,读成字节输入流,注意:现在还没解析入口使用Resources.getResourceAsStream()方法获取字节输入流publicclassMybatisTest{/***传统方式*@throwsIOException*/@Testpublicvoidtest1()throwsIOException{//1.读取配置文件,读成字节输入流,注意:现在还没解析InputStrea
Travis_Wu
·
2024-02-15 01:03
Android
源码剖析
----EventBus的工作原理
现实开发中用到的框架为了方便更好的理解加深记忆,归纳如下:在开发中使用eventbus主要是为了进行传值和传递一些意图,第一次使用后就被这个框架的灵活和解耦性给折服。。。去熟悉eventbus的工作原理之前得首先知道一个设计模式那就是观察者模式,什么是观察者模式呢?就是为了定义对象间的一种一对多的依赖关系,即当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。整个eventbus
简书不简单iiii
·
2024-02-14 14:13
TreeMap就这么简单【
源码剖析
】
前言声明,本文用得是jdk1.8前面章节回顾:Collection总览List集合就这么简单【
源码剖析
】Map集合、散列表、红黑树介绍HashMap就是这么简单【
源码剖析
】LinkedHashMap就这么简单
Java3y
·
2024-02-14 12:48
Java StringBuilder
源码剖析
+面试题整理
在String中提到,如果字符串修改操作比较频繁,应该采用StringBuilder和StringBuffer类,这两个类的方法基本是完全一样的,它们的实现代码也几乎一样,唯一的不同就在于StringBuffer类是线程安全的,而StringBuilder类不是。基本用法创建StringBuilder对象:StringBuildersb=newStringBuilder();通过append方法添
洒水水儿
·
2024-02-13 11:13
Java常用类的源码剖析
java
面试
开发语言
多线程并发编程10-CopyOnWriteArrayList
源码剖析
今天来说一说CopyOnWriteArrayList类,纵观JUC包下并发List只有CopyOnWriteArrayList类。CopyOnWriteArrayList是一个线程安全的ArrayList,从它的命名也能看出在进行写操作的时候会进行复制,这种写时复制策略会产生弱一致性问题。下面对CopyOnWriteArrayList类继续剖析。在CopyOnWriteArrayList类中都是围
Demo_zfs
·
2024-02-12 18:01
Java String
源码剖析
+面试题整理
由于字符串操作是计算机程序中最常见的操作之一,在面试中也是经常出现。本文从基本用法出发逐步深入剖析String的结构和性质,并结合面试题来帮助理解。String基本用法在Java中String的创建可以直接像基本类型一样定义,也可以new一个Strings1="HelloWorld";Strings2=newString("HelloWorld");String可以通过+实现合并Strings="
洒水水儿
·
2024-02-12 09:34
Java常用类的源码剖析
java
开发语言
前端
【Spring源码分析】循环依赖的底层
源码剖析
循环依赖的底层
源码剖析
一、预知知识二、循环依赖的底层
源码剖析
1.Spring是如何存储半成品Bean的?getEarlyBeanReference方法的源码分析2.Spring是如何解决的循环依赖呢?
假正经的小柴
·
2024-02-11 20:08
Java源码分析
spring
数据库
java
gRPC-go
源码剖析
与实战 技术专栏介绍
grpc-go
专栏图片.jpg1、背景介绍无论是分布式架构,还是微服务架构,服务之间如何高效、可靠性的通信是具有一定的挑战性的;那么,解决方案之一就是使用RPC通信;而由google开发的
grpc-go
码二哥
·
2024-02-11 14:10
Vue.js
源码剖析
(一)-响应式原理(1)vue2源码启动与调试
电脑:mac;vue版本:2.7.14;编辑器:IntelliJIEDA一、下载源码github地址我是先下载了zip压缩包,直接使用https地址从github拉取代码会很慢:下载完源码之后可以放在自己的仓库里,我是放在了自己的gitlab仓库里。把项目解压到本地之后,根据gitlab的提示推送现有代码:下载完之后,在idea中打开项目:从远程仓库拉取代码之后,可以看到已经有一条初始化代码的gi
一棵开花的树,枝芽无限靠近你
·
2024-02-11 03:21
Vue
vue.js
前端
javascript
Vue
源码剖析
一:相当于Vue的构造函数实现
1.重点方法:1.1Object.keys(obj):得到对象自身可枚举属性组成的数组前提是指定属性名可以枚举1.2Object.defineProperty(obj,prop,descriptor)示例:constobj={firstName:'A',lastName:'B'}//obj.fullName='A-B'Object.defineProperty(obj,'fullName',{//
领带衬有黄金
·
2024-02-10 17:17
cpp11新特性之智能指针(下):深入理解现代cpp中的智能指针shared_ptr、unique_ptr 以及 weak_ptr
今天给大家带来的是对于shared_ptr、unique_ptr以及weak_ptr的深入理解,通过测试案例和
源码剖析
对这三种重要的智能指针的使用方法,注意事项以及适用范围进行了全面的总结,相信经过这些测试大家对于智能指针的理解会更上一层楼
unknown C++ beginner
·
2024-02-08 10:37
c++学习
c++
学习
笔记
开发语言
阻塞队列ArrayBlockingQueue,LinkedBlockingQueue
源码剖析
文章目录1.阻塞队列用途以及特征1.1继承结构1.2用途1.3与普通队列的区别2.ArrayBlockingQueue
源码剖析
2.1数据结构与类变量2.2构造方法2.3入队2.4出队3.LinkedBlockingQueue
Yungang_Young
·
2024-02-08 07:46
Java
java
数据结构
开发语言
并发编程
多线程并发编程9-ReentrantReadWriteLock
源码剖析
前面文章说到了ReentrantLock,解决线程间安全问题,使用ReentrantLock就可以,但是ReentrantLock是独占锁,某一个时刻只能一个线程获取锁,在写少读多的场景下,显然ReentrantLock并不能满足次场景。今天要说的ReentrantReadWriteLock锁就能满足写少读多的场景。ReentrantReadWriteLock锁采用读写分离的策略,读锁是一个共享锁
Demo_zfs
·
2024-02-08 07:42
【flink状态管理(2)各状态初始化入口】状态初始化流程详解与
源码剖析
文章目录1.状态初始化总流程梳理2.创建StreamOperatorStateContext3.StateInitializationContext的接口设计。4.状态初始化举例:UDF状态初始化在TaskManager中启动Task线程后,会调用StreamTask.invoke()方法触发当前Task中算子的执行,在invoke()方法中会调用restoreInternal()方法,这中间包括
roman_日积跬步-终至千里
·
2024-02-08 06:14
#
flink源码
flink
java
数据库
SpringBoot原理深入及
源码剖析
2.SpringBoot原理深入及
源码剖析
传统的Spring框架实现一个Web服务,需要导入各种依赖JAR包,然后编写对应的XML配置文件等,相较而言,SpringBoot显得更加方便、快捷和高效。
每天都在掉头发
·
2024-02-07 23:31
C++ STL: vector使用及
源码剖析
vector使用vector定义语句作用vectora(n);指定容器大小为nvectora(n,x);指定容器大小为n,并初始化所有元素为xvector>a(m,vector(n));m行n列的二维数组,可以直接用a[i][j]访问访问vector容器中元素的操作语句作用vec.at(index)返回由index指定的位置上的元素vec[index]返回由index指定的位置上的元素vec.fr
暮色_年华
·
2024-02-07 23:36
c++
c++
开发语言
《STL
源码剖析
》学习笔记-第6章(一) set相关算法
STL中定义的set要求元素不得重复且已经排序。而set算法要求的都是有序区间(输出也是有序的),但元素可以重复出现。STL提供了4个set相关的算法,分别是并集(union)、交集(intersection)、差集(difference)和对称差集(symmetricdifference),这4个算法接受的set必须是有序区间,都至少接受4个参数,分别表示两个set区间。一般而言,set算法前4
爱橙子的OK绷
·
2024-02-07 20:16
STL
stl
算法
《STL
源码剖析
》学习笔记——第六章:算法之set
set相关算法STL提供了四种与set相关的算法,分别是并集(union)、交集(intersection)、差集(difference)和对称差集(symmetricdifference),这4个算法接受的set必须是有序区间,都至少接受4个参数,分别表示两个set区间。所谓的set可细分为数学上的定义和STL的定义两种,数学上的set允许元素重复而未经排序,;例如{1,5,5,3,2},STL
Still_Believe_
·
2024-02-07 20:45
STL源码剖析学习笔记
set
数据结构
STL
算法
Java集合
源码剖析
之ArrayList
Java集合
源码剖析
之ArrayList1ArrayList概括1.1特性1.2数据结构2ArrayList
源码剖析
2.1继承关系2.2成员属性2.3构造方法2.4核心方法2.4.1添加元素2.4.2查询元素
JavaBigData1024
·
2024-02-07 02:25
源码阅读
Java
ArrayList
源码
Java集合
源码剖析
-工具类
一.Collections工具类概述:1.Collections(注意不是Collection,而是Collections,多了一个s)2.它是一个集合工具类3.方法分类:常规操作(查找,最大,最小等)、排序、线程安全(同步)操作、不可变集合packagecom.cxy.collection;importjava.util.ArrayList;importjava.util.Arrays;impo
AHU_
·
2024-02-07 02:25
Java
集合类
Java集合源码解析
Java Character
源码剖析
Character类除了封装了一个char外,还封装了Unicode字符级别的各种操作,是Java文本处理的基础。下面结合源码分析Character的贡献。Unicode也许你没听过Unicode,但应该见过UTF-8。UTF-8(8-bitUnicodeTransformationFormat)是一种常用的Unicode字符编码方案之一。它使用变长编码方式,将Unicode码点编码成1至4个字节
洒水水儿
·
2024-02-07 02:54
Java常用类的源码剖析
java
开发语言
Java 基本数据类型包装类
源码剖析
基本类型的包装类Java的八种基本类型都有对应的包装类,包装类内部有一个实例变量,保存对应的基本类型的值,这个类一般还有一些静态方法、静态变量和实例方法,以方便对数据进行操作。包装类的类名除了Integer和Character外,其他类名称与基本类型基本一样,只是首字母大写。装包和拆包包装类与基本类型的转换代码结构是类似的,每种包装类都有一个静态方法valueOf(),接受基本类型,返回引用类型,
洒水水儿
·
2024-02-07 02:53
Java常用类的源码剖析
java
开发语言
Java Integer
源码剖析
valueOf的实现下面展示了Integer对象缓存机制的基本原理。Java为了提高性能和减少内存使用,在-128到127(包含)这个范围内的整数值上实现了缓存。当调用Integer.valueOf(inti)时,如果这个整数处于缓存范围内,那么就会从缓存中返回相应的Integer实例。publicstaticIntegervalueOf(inti){assertIntegerCache.high
洒水水儿
·
2024-02-07 02:51
Java常用类的源码剖析
java
算法
开发语言
STL容器的底层数据结构
multimap哈希表hashtable(底层数据结构)unordered_setunordered_mapunordered_multiset/unordered_multimap各容器的具体用法各容器的详细
源码剖析
你喜欢梅西吗
·
2024-02-07 01:33
链表
数据结构
stl
Apollo配置中心之Server端
三、
源码剖析
1、配置监听1.1、建立长轮询1.1.1、逻辑描述1.1.2、时序图1.1.3、代码位
xdpcxq1029
·
2024-02-05 12:12
java
Runtime
源码剖析
对象、类(元类)与isa
源码面前,了无秘密在iOS开发的过程中,对象、类应该是我们接触最的一个部分,本篇文章就以对象为主题,分一下对象和类在底层是如何实现的,让你更深入了解iOS开发。从这篇博客开始我们就会进行Runtime源码分析,所以你需要准备一份最新的源代码,源码建议从Apple官方获取本篇博客所用的是750.1版本的objc4源码(目前最新版)对象objc_object定义在OC中每一个对象都是一个结构体,结构体
萨缪
·
2024-02-05 08:20
JAVASE进阶:Collection高级(2)——
源码剖析
ArrayList、LinkedList、迭代器
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:JAVASE进阶:Collection高级(1)——源码分析contains方法、lambda遍历集合订阅专栏:JAVASE进阶希望文章对你们有所帮助ArrayList的底层其实还是比较复杂的,如果你去尝试阅读源码的话,但是这又是面试常考的问题,网上有些面经会说当创建ArrayList的时候会在底层创建长度为10的数组,后续会以1
布布要成为最负责的男人
·
2024-02-04 23:04
JAVASE进阶
java
javase
jvm
面试
数据结构
链表
源码分析
JAVASE进阶:Collection高级(3)——HashSet、LinkedHashSet底层原理
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:JAVASE进阶:Collection高级(2)——
源码剖析
ArrayList、LinkedList、迭代器订阅专栏:JAVASE进阶希望文章对你们有所帮助
布布要成为最负责的男人
·
2024-02-04 23:34
JAVASE进阶
java
jvm
源代码
Set
面试
Spring 之
源码剖析
AOP
一、概述面向切面编程:这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。面向切面编程的前世今生①面向切面编程(AOP是AspectOrientedProgram的首字母缩写),面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就是说,让不同的类设计不同的方法。这样代码就分散到一个个的类中去了。这样做
康俊1024
·
2024-02-03 14:04
Spring
源码剖析
(二) - Bean对象的三级缓存
前面讲到Spring在创建Bean的过程中使用了三级缓存来对Bean对象进行缓存。这个三级缓存是用来解决对象的循环依赖问题。什么是对象的循环依赖?举个例子:classA{privateBb;privateCc;}classB{privateAa;}classC{privateAa;}classA中引用了B和C,而B和C中又引用了A。那么在spring中创建Bean对象时,需要先创建对象,然后对其属
Jasper_Chen
·
2024-02-03 10:37
UE5动画
源码剖析
重点剖析的类:UAnimationInstanceFAnimInstanceProxy参考:https://zhuanlan.zhihu.com/p/405437842参考:https://blog.csdn.net/qq_23030843/article/details/109103433参考:https://ikrima.dev/ue4guide/gameplay-programming/an
弹吉他的小刘鸭
·
2024-02-01 12:26
ue5
SpringMVC进阶(三) SpringMVC框架源码深度剖析
一.SpringMVC框架
源码剖析
准备工作(一)前段控制器DispatcherServlet继承结构图(二)SpringMVC
源码剖析
准备工作1.下载并在IDEA中导入spring-5.1x_ch源码,
enterpc
·
2024-01-31 06:30
JAVA进阶笔记整理
java
spring
intellij-idea
springMVC源码解析
【C++11】深挖列表初始化、initializer_list
镇楼图目录1.核心
源码剖析
2.使用介绍3.完整源码核心
源码剖析
来看看源码:templateclassinitializer_list{public:typedef_Evalue_type;typedefconst_E
DanteIoVeYou
·
2024-01-31 05:23
C++
c++
开发语言
设计模式之框架
源码剖析
(实战+图解)
Java设计模式1,概述随着软件开发人员人数的增多,一些公司急需一些高端人才。作为一个高端人才,设计面向对象软件是必不可少的能力,而软件设计是需要很深的功力,设计模式就要求你必须掌握。2,本章特色本章是从设计模式的一些相关的概念开始,再到软件设计原则,重点讲解23种设计模式,针对每一种模式都配备了相关的代码。最后通过一个综合案例将常用的设计模式使用起来。案例经典:学习spring框架是最好的提升的
有心不在迟
·
2024-01-31 04:54
设计模式
java
架构
设计语言
gRPC 基础(二)-- Go 语言版
gRPC-Go
gRPC-GoGithubgRPC的Go实现:一个高性能、开源、通用的RPC框架,将移动和HTTP/2放在首位。有关更多信息,请参阅GogRPC文档,或直接进入快速入门。一、快速入门本指南通过一个简单的工作示例让您开始在Go中使用gRPC。1.1先决条件Go:三个最新主要版本中的任意一个。Protocolbuffer:compiler,protoc,version3.有关安装说明,请参阅协议缓冲区
chinusyan
·
2024-01-29 22:27
Golang
分布式
golang
开发语言
后端
6.1开源框架-okhttp网络框架-详解
okhttp网络框架OkHttp使用简介OkHttp
源码剖析
1.OkHttp使用简介图图图图创建客户端OkhttpClientclient=newOkHttpClient();//作为单例,这样所有的请求可以公共
205蚁
·
2024-01-29 05:55
spark 内核
源码剖析
七:Work工作原理
image.pngWorker.scalacaseLaunchDriver(driverId,driverDesc)=>{logInfo(s"Askedtolaunchdriver$driverId")valdriver=newDriverRunner(conf,driverId,workDir,sparkHome,driverDesc.copy(command=Worker.maybeUpdat
雪飘千里
·
2024-01-28 18:08
Java学习之HashMap
源码剖析
- 图文分析(附面试中常见问题)
HashMap原理其本质就是那个我们习以为常的hash算法。Hash算法自己先来设计一个普通的hash算法:1.设计数组的长度(length):8。通常情况下是设计成素数,因为理论上证明取素数发生冲突的概率要小于合数。但是HashMap中数组长度设计为零16,2^4,是一个合数,主要是为了优化后续的计算过程;而HashTable初始化长度为11,为素数。2.设计一个hash算法:hash=key%
李楠琳
·
2024-01-28 18:38
Java
java
hashmap
Vue 响应式原理
源码剖析
文章目录1.说明2.初始化initState()initProps()initData()observe()ObserverdefineReactive()3.数据代理4.模板解析4.1.模板解析的基本流程4.2.模板解析(1):大括号表达式解析4.3.模板解析(2):事件指令解析4.4.模板解析(3):一般指令解析5.数据绑定5.1.数据绑定5.2.数据劫持5.3.四个重要对象5.3.1Obse
fmk1023
·
2024-01-28 09:32
vue.js
javascript
前端
上一页
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
其他