令牌桶、漏桶及相关算法

1. 漏桶是出,令牌是进 2. 令牌是允许伸缩漏桶算法漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。漏桶可以看作是一个带有常量服务时间的单服务器队列,如果漏桶(包缓存)溢出,那么数据包会被丢弃。 在网络中,漏桶算法可以控制端口的流量输出速率,平滑..
分类: 其他 发布时间: 11-19 08:30 阅读次数: 0

缓存淘汰算法(LRU)

1. LRU 1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:\1. 新数据插入到链表头部;\2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;\3. 当链表满的时候,将链表尾部的数据丢弃。1.3. 分析【命中率】当存在热点数据时,LRU的效率很好,但
分类: 其他 发布时间: 11-19 08:30 阅读次数: 0

glusterfs架构和原理

前言分布式存储已经研究很多年,但直到近年来,伴随着谷歌、亚马逊和阿里等互联网公司云计算和大数据应用的兴起,它才大规模应用到工程实践中。如谷歌的分布式文件系统GFS、分布式表格系统google Bigtable,亚马逊的对象存储AWS,阿里的TFS等都是很好的代表,同时也催生了一大批优秀的开源分布式存储系统,包括ceph、swift、Lustre和glusterfs等。分布式存储系统分布式存储按其存储接口分为三种:文件存储、块存储和对象存储。文件存储通常支持POSIX接口(如gluster
分类: 其他 发布时间: 11-19 08:30 阅读次数: 0

TCP连接超时机制

前言众所周知,TCP协议是一个可靠的的协议。TCP的可靠性依赖于大量的 Timer 和 Retransmission 。现在咱们就来细说一下TCP协议的那些TimerConnection-Establishment Timer在TCP三次握手创建一个连接时,以下两种情况会发生超时:client发送SYN后,进入SYN_SENT状态,等待server的SYN+ACK。 server收到连接创建的SYN,回应SYN+ACK后,进入SYN_RECD状态,等待client的ACK。当超时发生时
分类: 其他 发布时间: 11-19 08:30 阅读次数: 0

GFS详解

一、前言:文件系统的概述① API应用程序编程接口,是一些预先定义的接口,或指软件系统或指软件系统不同组成部分衔接的约定 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节 只要调用 API ,就能使用,例如 cd、ls 等命令。 FS:文件系统② 文件系统的组成文件系统接口(API) 管理对象的软件集合(可以对一些文件、目录等,对这些资源进行管理) 对象及属性(管理的数据及属性,每个文件都有对应的 inode 号)③ 文件系统的作用
分类: 其他 发布时间: 11-19 08:29 阅读次数: 0

GiusterFS分布式文件系统

一、前言:文件系统的概述① API应用程序编程接口,是一些预先定义的接口,或指软件系统或指软件系统不同组成部分衔接的约定 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节 只要调用 API ,就能使用,例如 cd、ls 等命令。 FS:文件系统② 文件系统的组成文件系统接口(API) 管理对象的软件集合(可以对一些文件、目录等,对这些资源进行管理) 对象及属性(管理的数据及属性,每个文件都有对应的 inode 号)③ 文件系统的作用
分类: 其他 发布时间: 11-19 08:29 阅读次数: 0

❤️一篇文章带你了解分页插件❤️PageHelper❤️

PageHelper插件我们在正常的查询业务之中,只需要加上一行代码就可以实现分页的数据的封装处理实现原理PageHelper方法使用了静态的ThreadLocal参数,分页参数和线程是绑定的。内部流程是ThreadLocal中设置了分页参数(pageIndex,pageSize),之后在查询执行的时候,获取当线程中的分页参数,执行查询的时候通过拦截器在sql语句中添加分页参数,之后实现分页查询,查询结束后在 finally 语句中清除ThreadLocal中的查询参数使用方法1.调用PageHe
分类: 其他 发布时间: 11-19 08:29 阅读次数: 0

Error creating bean with name ‘army‘ defined in class path resource [applicationContext.xml]: Cannot

自从学会用idea之后就很少用eclipse了,但是今天写ssm配置文件的时候遇到了一个bug,这里记录一下。十月 01, 2021 12:00:41 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7aec35a: sta
分类: 其他 发布时间: 11-19 08:29 阅读次数: 0

创建Spring Boot项目时候出现:Artifact contains illegal characters(日常小bug记录)

今天在使用IDEA创建Spring Boot项目的时候,报“Artifact contains illegal characters” :
分类: 其他 发布时间: 11-19 08:28 阅读次数: 0

RPC和HTTP对比(RPC学习笔记)

RPC和HTTP对比1.1 具体实现​ RPC:可以基于TCP协议,也可以基于HTTP协议。​ HTTP:基于HTTP协议1.2 效率​ RPC:自定义具体实现可以减少很多无用的报文内容,使得报文体积更小。​ HTTP:如果是HTTP 1.1 报文中很多内容都是无用的。如果是HTTP2.0以后和RPC相差不大,比RPC少的可能就是一些服务治理等功能。1.3 连接方式​ RPC:长连接支持。​ HTTP:每次连接都是3次握手。1.4 性能​ RPC可以基于很多序列化方式。
分类: 其他 发布时间: 11-19 08:28 阅读次数: 0

HttpClient实现RPC

HttpClient实现RPC1 HttpClient简介2 代码实现2.1 服务端2.1.1 新建控制器2.1.2 新建启动器2.2 客户端2.2.1 添加依赖2.2.2 新建类2.2.2.1 使用GET方法访问2.2.2.2 使用POST方式访问3. Jackson用法3.1 把对象转换为json字符串3.2 把json字符串转换为对象3.3 把json字符串转换为List集合4 HttpClient请求包含JSON4.1 java
分类: 其他 发布时间: 11-19 08:28 阅读次数: 0

RMI实现RPC

RMI实现RPC1 RMI简 介​ RMI(Remote Method Invocation) 远程方法调用。​ RMI是从JDK1.2推出的功能,它可以实现在一个Java应用中可以像调用本地方法一样调用另一个服务器中Java应用(JVM)中的内容。​ RMI 是Java语言的远程调用,无法实现跨语言。2 执行流程​ Registry(注册表)是放置所有服务器对象的命名空间。 每次服务端创建一个对象时,它都会使用bind()或rebind()方法注册该对象。 这些是使用称为绑定
分类: 其他 发布时间: 11-19 08:28 阅读次数: 0

《每日Java面试题day1》垃圾回收与算法

《每日Java面试题day1》垃圾回收与算法如何确定垃圾标记清除算法(Mark-Sweep)**复制算法**(**copying**)**标记整理算法(Mark-Compact)****分代收集算法****新生代与复制算法****老年代与标记复制算法**如何确定垃圾引用计数法在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为 0,则说明对象不太
分类: 其他 发布时间: 11-19 08:27 阅读次数: 0

问题:Xftp无法显示远程文件夹

问题:Xftp连接提示无法打开,无法显示远程文件夹解决方法一:在Xftp中修改如果还是不行解决方法二:在Xshell中修改权限chown -R rootzhang:rootzhang /root这里rootzhang是我的CentOS的用户名,root是无法显示远程文件夹看到这,如果对你有帮助,麻烦一键给个三连呗!...
分类: 其他 发布时间: 11-19 08:27 阅读次数: 0

《每日Java面试题day2》Java概述

Java概述何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并 终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、 和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一 步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编 程。什么是JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易 用两个特征。
分类: 其他 发布时间: 11-19 08:27 阅读次数: 0

《算法学习相关网站》快收藏吧

算法学习相关网站学习类网站CareerCup: 国外的https://www.careercup.com/牛客网https://www.nowcoder.com/LeetCodehttps://leetcode.com/查看LeetCode加锁题目https://leetcode.jp/problems.phpLintCodehttps://www.lintcode.com/看准网https://www.kanzhun.com/一亩三分地https
分类: 其他 发布时间: 11-19 08:27 阅读次数: 0

《微信小程序》音乐播放器项目

音乐播放器项目需求:在装有node.js的机器上使用微信开发者工具开发一个音乐播放项目展示:pages–>index–>index.js// pages/index/index.jsPage({ /** * 页面的初始数据 */ data: { item: 0, tab: 0, // 播放列表数据 playlist: [{ id: 1, title: '我的天空', singer: '南征北战
分类: 其他 发布时间: 11-19 08:26 阅读次数: 0

万字文:通过分析 JDK 源代码研究 TreeMap 红黑树算法实现

课程资料主要来源于马士兵教育,整理仅供大家学习TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码:public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cl
分类: 其他 发布时间: 11-19 08:26 阅读次数: 0

C++ struct的4种定义方式

C++ struct的4种定义方式第一种语法表示第二种语法表示第三种方式第四种方式结构体将不同的数据烈性整合在一起构成一个新的类型,相当于数据库中一条记录,比如学生结构体,整合了学号,姓名等信息。结构体的好处就是可以对这些信息进行整体管理操作,类似面向对象中类的属性,有了结构体,就可以更好抽象描述一个类别,个人感觉类就是由结构体发展而来的,在c/c++中,结构体声明的关键字为struct.语法:第一种语法表示struct 结构体名称{   数据类型 member1;   数据类型 member2
分类: 其他 发布时间: 11-19 08:26 阅读次数: 0

Python笔记:经典案例(选择结构和循环结构)

综合案例案例1 输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩,回答“yes”就继续输入下一个成绩,回答“no”就停止输入成绩。numbers = []while True: x = input('请输入一个成绩:') #异常处理结构,用来保证用户只能输入实数 try: #先把x转换成实数,然后追加到列表numbers尾部 numbers.append(float(x)) except: p
分类: 其他 发布时间: 11-19 08:26 阅读次数: 0