🐱个人主页:不叫猫先生🙋♂️作者简介:前端领域新星创作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀!💫系列专栏:vue3从入门到精通、TypeScript从入门到实践📢资料领取:前端进阶资料以及文中源码可以找我免费领取🔥前端学习交流:博主建立了一个前端交流群,汇集了各路大神,一起交流学习,期待你的加入!(文末有我wx或者私信)目录前言一、index.html文件二、vue.js文件1.proxy代理发生了什么?2.observer监听数据3.订阅者Watcher4.订阅器Dep5.编译器Compiler三、文中用到的js基础1.reg.exec2.reg.test3
摘要1.快速排序其实也是分而治之的思想2.快速排序是递归的3.首先找一个基准点,把比基准点小的数字都放到它的左边,比它大的数字都放在它的右边,一趟下来基准点的位置找到了,且它左边的数字小于(等于)它,右边的数字大于(等于)它。再递归地对它左边的数字和右边的数字做同样的操作,直到递归结束则整个数组有序。 一般的实现需要两个指针,low初始指向需要排序的数据的头部,high指向需要排序的数据的尾部。low向尾走,找寻比基准点大的数字;high向头走,找寻比基准点小的数字,然后交换数字位置,相遇了则一次递归调用结束。不同的实现细节上会略有差异,但思想大概都是这样。4.快速排序的时间复杂度是O(N*l
摘要1.快速排序其实也是分而治之的思想2.快速排序是递归的3.首先找一个基准点,把比基准点小的数字都放到它的左边,比它大的数字都放在它的右边,一趟下来基准点的位置找到了,且它左边的数字小于(等于)它,右边的数字大于(等于)它。再递归地对它左边的数字和右边的数字做同样的操作,直到递归结束则整个数组有序。 一般的实现需要两个指针,low初始指向需要排序的数据的头部,high指向需要排序的数据的尾部。low向尾走,找寻比基准点大的数字;high向头走,找寻比基准点小的数字,然后交换数字位置,相遇了则一次递归调用结束。不同的实现细节上会略有差异,但思想大概都是这样。4.快速排序的时间复杂度是O(N*l
紧接上文,我们分析了Nacos的客户端代码,今天我们再来试一下服务端,至此就可以Nacos源码就告一段落,欢迎大家品鉴。nacos服务端注册中心服务端的主要功能包括,接收客户端的服务注册,服务发现,服务下线的功能,但是除了这些和客户端的交互之外,服务端还要做一些更重要的事情,就是我们常常会在分布式系统中听到的AP和CP,作为一个集群,nacos即实现了AP也实现了CP,其中AP使用的自己实现的Distro协议,而CP是采用raft协议实现的,这个过程中牵涉到心跳、选主等操作。我们来学习一下注册中心服务端接收客户端服务注册的功能。注册处理我们先来学习一下Nacos的工具类WebUtils,该工具
紧接上文,我们分析了Nacos的客户端代码,今天我们再来试一下服务端,至此就可以Nacos源码就告一段落,欢迎大家品鉴。nacos服务端注册中心服务端的主要功能包括,接收客户端的服务注册,服务发现,服务下线的功能,但是除了这些和客户端的交互之外,服务端还要做一些更重要的事情,就是我们常常会在分布式系统中听到的AP和CP,作为一个集群,nacos即实现了AP也实现了CP,其中AP使用的自己实现的Distro协议,而CP是采用raft协议实现的,这个过程中牵涉到心跳、选主等操作。我们来学习一下注册中心服务端接收客户端服务注册的功能。注册处理我们先来学习一下Nacos的工具类WebUtils,该工具
Nacos源码剖析Nacos源码有很多值得我们学习的地方,为了深入理解Nacos,我们剖析源码,分析如下2个知识点:1:Nacos对注册中心的访问原理2:Nacos注册服务处理流程源码环境搭建1、从官方项目上克隆下来,并且检出1.4.1版本,导入idea。nacos源码环境搭建起来比较轻松,几乎不会报什么错误,导入后编译安装到本地环境即可2、找到config模块中找到\resources\META-INF\nacos-db.sql,在本地mysql中创建数据库nacos-config,将该脚本导入执行创建表。3、找到console模块下的配置文件application.properties,修
Nacos源码剖析Nacos源码有很多值得我们学习的地方,为了深入理解Nacos,我们剖析源码,分析如下2个知识点:1:Nacos对注册中心的访问原理2:Nacos注册服务处理流程源码环境搭建1、从官方项目上克隆下来,并且检出1.4.1版本,导入idea。nacos源码环境搭建起来比较轻松,几乎不会报什么错误,导入后编译安装到本地环境即可2、找到config模块中找到\resources\META-INF\nacos-db.sql,在本地mysql中创建数据库nacos-config,将该脚本导入执行创建表。3、找到console模块下的配置文件application.properties,修
阅读本文前,请确保您已经了解了二叉搜索树的相关内容(如定义、增删查改的方法以及效率等)。否则,建议您先学习二叉搜索树。本文假定您对二叉搜索树有了足够的了解。效率?众所周知,在平衡条件下,对二叉搜索树中的元素进行增删查改,时间效率为\(O(log(n))\)。然而,理想很丰满,现实很骨感,实际上,二叉搜索树并不总是能够保持平衡状态。最极端的情况就是,除了叶节点之外,每个节点只有一个子节点,如图所示:这种情况下二叉搜索树已经退化成一个链表,时间复杂度达到了\(O(n)\),二叉搜索树在时间效率上的优势并没有发挥出来。要想解决这个问题,我们就要在每次动态操作(插入、删除)之后,采取某种措施,使二叉搜
阅读本文前,请确保您已经了解了二叉搜索树的相关内容(如定义、增删查改的方法以及效率等)。否则,建议您先学习二叉搜索树。本文假定您对二叉搜索树有了足够的了解。效率?众所周知,在平衡条件下,对二叉搜索树中的元素进行增删查改,时间效率为\(O(log(n))\)。然而,理想很丰满,现实很骨感,实际上,二叉搜索树并不总是能够保持平衡状态。最极端的情况就是,除了叶节点之外,每个节点只有一个子节点,如图所示:这种情况下二叉搜索树已经退化成一个链表,时间复杂度达到了\(O(n)\),二叉搜索树在时间效率上的优势并没有发挥出来。要想解决这个问题,我们就要在每次动态操作(插入、删除)之后,采取某种措施,使二叉搜