自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Gorrila论文阅读

简介大规模的互联网服务旨在在出现意外故障时保持高可用性和响应性。提供这种服务通常需要在大量系统中每秒监视和分析数千万个测量值,一个特别有效的解决方案是在时间序列数据库(TSDB)中存储和查询这些测量值。Gorilla 通过村存储时间戳的变化量的变化量(delta of delta)以及对存储的value进行异或(XOR)操作从而提升读写性能,查询延迟降低了73倍,查询吞吐率提升了14倍。Gorilla在监控数据写入HBase存储之前,起到一个write-through cache的作用。Gorilla的

2021-09-30 13:56:07 318 1

原创 深度学习基本概念

1.深度学习基本概念1.1 张量我们在学习线性代数的时候,学习过向量和矩阵。对于张量从数学和物理方面讲解就篇幅过长。我们可以简单的理解张量(Tensor)为向量以及矩阵的扩展。向量可以理解为一维张量,矩阵可以理解为二维张量。对于更高阶的可以以深度学习里常要处理的图片来举例。彩色图片有(RGB)三个通道,可以看作一个三维张量即H*W*C,(H为高度,w为宽带,c是通道数目)。在深度学习里常使用四维的张量,NCHW或NHWC两种其中N为批次的大小。在深度学习的网络构造过程中,会遇到各种各样的线性变换,这

2021-07-20 11:17:01 1374

原创 FairMOT论文阅读笔记

Abstract近些年目标检测和Re-ID有很大的发展,但是没有人在单个网络中联合这两个任务。由于re-ID任务没有公平的学习,这导致了大量id的转换。不公平之处在于两个方面:(1)他们将重新身份识别视为次要任务,其准确性在很大程度上取决于主要检测任务。所以训练很大程度上偏向于检测任务,而忽略了重识别任务;(2)它们使用感兴趣区域对齐来提取直接从对象检测中借用的重标识特征。然而,这在表征对象时引入了许多模糊性,因为许多采样点可能属于干扰实例或背景。为了解决这些问题,我们提出了一种简单的方法FairMOT,

2021-07-11 21:20:52 410

原创 Redis学习(十)——db.c

文章目录1.lookupKey2.lookupKeyRead3.lookupKeyReadOrReply4.addReply5.addReplyErrorFormat6.dbRandomKey7.dbUnshareStringValue8.emptyDb9.selectDb10.flushdbCommand11.flushallCommand12.delCommand13.keysCommand14.scanGenericCommand15.moveCommand16.expireIfNeeded17.ex

2021-06-29 20:50:37 291

原创 Redis学习(九)——数据库

文章目录一、数据库的结构二、有关数据库的操作1.键空间的操作2.键的生存时间或过期时间3.过期键的删除4.AOF、RDB对过期键的处理4.复制一、数据库的结构数据库的数据结构如下typedef struct redisDb { // 数据库键空间 dict *dict; // 键的过期时间,字典的键为键,字典的值为过期事件 UNIX 时间戳 dict *expires; // 正处于阻塞状态的键

2021-06-28 21:03:45 120

原创 Redis学习(八)——object.c源码

文章目录1.createObject2.createRawStringObject3.createEmbeedStringObject4.createStringObject5.createStringObjectFromLongLong6.createStringObjectFromLongDouble7.dupstringObject8.createListObject9.createZiplistObject10.createSetObject11.createIntsetObject12.creat

2021-06-24 20:57:57 213

原创 Redis学习(七)——对象

文章目录一、对象二、字符串对象三、列表对象四、哈希对象五、集合对象六、有序集合对象一、对象前面学习了SDS、双端列表,字典,压缩列表,整数集合等。但是Redis并没有直接使用这些数据结构来实现键值对数据库,而是使用这些数据结构来创建一个对象系统,这个系统包含字符串对象,列表对象,哈希对象,集合对象和有序集合对象。通过这五种不同类型的对象,redis在执行命令前,根据对象的类型来判断一下对象是否可以执行给定的命令,另一个好处是我们可以通过不同的场合从而设置多种不同的数据结构实现,从而优化对象在不同场景的

2021-06-24 16:20:17 110

原创 Redis学习(六)——压缩列表

文章目录一、压缩列表一、压缩列表压缩列表(ziplist)是列表键和哈希键的底层实现之一。当一个列表键只包含列表项,并且每个列表要么就是长度较短的字符串,要么就是小整数值,那么redis就会使用压缩列表作为列表键的底层实现。压缩列表是redis为了节约而开发的,是一系列由特殊编码的连续内存块组成的顺序型数据结构。一个压缩列表可以包含任意多个节点,每个节点包含一个字节数组或者一个整数值。压缩列表的布局<zlbytes><zltail><zllen><entry

2021-06-23 22:45:18 2207

原创 Redis学习(五)——整数集合

文章目录一、整数集合1.介绍2.升级三、API四、源码1.intsetNew2.intsetAdd3.intsetRemove4.intsetFind5.intsetRandom6.intsetGet一、整数集合1.介绍整数集合是集合键的底层实现之一,当一个集合只包含整数元素,并且这个集合的元素不多时,redis就会使用整数集合作为集合键的底层实现。整数集合用于保存整数值的集合抽象数据结构,它可以保存 类型为int16_t、int32_或者int64_t的整数值,并且保证集合中不会出现重复元素。它

2021-06-23 13:38:08 169

原创 Redis学习(四) —— 跳跃表

文章目录一、跳跃表二、 跳跃表API三、API的源码1.zslCreate2.zslFree3.zslInsert4.zslDelete5.zslFirstInRange6.zslLastInRange7.zslGetRank一、跳跃表跳跃表(skiplist) 是一种有序数据结构,它通过在每个节点中维持多个指向其它 节点的指针,从而达到快速访问节点的目的,其结构如下:typedef struct zskiplistNode { // 成员对象 robj *obj; //

2021-06-22 20:25:30 77

原创 Redis学习(三)——字典

文章目录一、字典1.字典的结构二、哈希算法和rehash三、字典的API四、源码1.dicCreate2.dicExpand3.dicRehash4.dicAddRaw5.dictReplace6.dictReplaceRaw7.dictGenericDelete8.dictRelease9.dictFind10.dictFetchValue11.dictResize12.dicGetIterator13.dictGetSafeIterator14. dictNext15.dictReleaseIterat

2021-06-22 14:59:15 181

原创 Redis学习(二)——链表

文章目录一、链表的结构二、链表的API三、链表api源码1.listCreate2.listRelease3.listAddNodeHead4.listAddNodeTail5.listInsertNode6.listDelNode7.listGetIterator8.listReleaseItertor9.listRewind10.listRewindTail11.listNext12.listDup13.listSearchKey14.listIndex15.listRotate一、链表的结构typ

2021-06-20 17:49:34 255

原创 Redis学习(1)-SDS

文章目录前言一、SDS的定义二、区别及优点三、SDS的API以及源码1.sdsnewlen2.sdsnew3.sdsempty4.sdslen前言一、SDS的定义Redis没有直接使用C语言传统的字符串表示(以下简称字符串),使用的是一种叫简单动态字符串(simple dynamic string)的类型。sds.h/sdshdr结构表示SDS值如下struct sdshdr { // buf 中已使用的长度 int len; // buf 中剩余可用空间的长

2021-06-19 20:38:27 211

原创 zookeeper内部原理

文章目录一、请求,事务和标识符二、群首选举三、Zab:状态更新的广播协议四、观察者五、本地存储一、请求,事务和标识符zookeeper在本地处理只读请求(exists、getData和getChildren)因为服务器会在本地处理请求,那么此时zookeeper处理只读请求,那么它的性能就会很高。而那些会改变zookeeper状态的请求,将会被转发给群首,群首执行响应的请求,并形成状态的更新,我们称之为事务。当群首产生了一个事务,就会为该事务分配一个标识符,我们称之为zookeeper会话ID(zxi

2021-06-18 21:40:16 130 1

原创 zookeeper注意事项

文章目录一、使用ACL1.内置的鉴权模式2.SASL和kerberos二、恢复会话三、顺序性保1.连接丢失时的顺序性2.同步API和多线程的顺序性3.同步和异步混用的顺序性一、使用ACL对于zookeeper,开发人员往往负责访问控制的权限,而不是管理员。这是因为每次创建znode节点,必须设置访问权限,而子节点并不会继承父节点的访问权限。访问权限的检查是基于每一个znode节点的。zookeeper通过访问控制表来控制访问权限。一个ACL包括以下形式的记录:schema:auth-info。zoo

2021-06-18 13:50:48 210

原创 curator增删改查以及监视

文章目录一、Curator二、引入依赖二、增删改查前言代码可以看这个https://gitee.com/song_mengyu/Example/tree/master/Project/Zookeeper-Curator-Demos我的仓库一、CuratorCurator是zookeeper的一个高层次封装库,为开发人员封装了zookeeper的一组开发库,它的核心目标就是为你管理Zookeeper的相关操作,将连接的复杂性隐藏起来。Curator为开发人员实现了一组常用的操作管理的菜谱,同时结合

2021-06-17 19:12:06 176

原创 docker安装zookeeper

首先docker search zookeeper我们选择官方的,所以接下来下载镜像docker pull zookeeper然后运行 docker run -d -p 2181:2181 --name myzookeeper --restart always zookeeperdocker ps可以看到然后我们进入容器内开启一个client试一下能不能用docker exec -it myzookeeper bash然后输入命令开启一个客户端./bin/zkCli.sh结

2021-06-16 17:57:36 1484

原创 了解Zookeeper

文章目录一、Zookeeper概述二、Zookeeper基础1.API2. znode的不同类型3.监视与通知,4.版本三、Zookeeper架构1.zookeeper仲裁2. 会话一、Zookeeper概述ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。关于zookeeper 这样的系统功能的讨论都围

2021-06-16 14:22:01 116

原创 RabbitMQ虚拟主机

文章目录一、介绍二、创建三、代码四、结果一、介绍每一个RabbitMQ服务器都能创建虚拟的消息服务器,我们称之为虚拟主机(virtual host),简称vhost.每一个vhost是一个独立的小型服务器,拥有自己独立的队列,交换器等。它拥有自己独立的权限。vhost之于这个RabbitMQ服务器就像虚拟机于物理服务器一样。它能将众多客户分割开来,又可以避免队列和交换器等的命名冲突。vhost之间是绝对隔离的。通常来讲,默认的vhost名字是"/".二、创建使用命令行模式rabbitmqctl

2021-06-11 10:06:06 1278

原创 RabbitMQ的TTL和死信队列

文章目录前言一、TTL2.死信队列3.结果前言代码可以在 我的仓库里找到https://gitee.com/song_mengyu/Example/tree/master/Project/rabbit-ttl一、TTLTTL ,Time to Live,过期时间,rabbitMQ可以对消息和队列设置。设置类package com.my;import org.springframework.amqp.core.Queue;import org.springframework.beans.fa

2021-06-10 16:45:23 303

原创 RabbitMQ备份交换器

文章目录一、介绍二、配置三、代码部分三、结果一、介绍备份交换器,英文名字为Alternate Exchange, 简称AE。我们知道有这样一个参数,mandatory。当这个参数为false时,如果投放消息时没有找到指定的路由键,消息就会直接丢弃。而当这个参数为true时,如果消息不会直接丢弃,而是将其返回生产者,而这样需要在生产者里添加一些代码。我们不想复杂生产者的编程逻辑,同时又不想消息丢失就可以使用AE。二、配置 <dependencies> <depen

2021-06-10 12:20:19 152

原创 RabbitMQ 发送接受确认与mandatory参数

文章目录前言一、 配置一、发送确认三、上节的修改三、消费者确认前言代码什么的在我的仓库里都有https://gitee.com/song_mengyu/Example/tree/master/Project/rabbit-ack-test一、 配置<dependencies> <dependency> <groupId>org.springframework.boot</groupId>

2021-06-09 19:05:02 742

原创 RabbitMQ六种模式

文章目录前言一、配置一、Hello World1.生产者2.消费者二、Work Queues1.生产者2.消费者三、Publish/Subscribe前言一、配置xml配置文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2021-06-08 17:13:56 690

原创 RabbitMQ开发向导

文章目录前言一、Queue二、Exchange前言其实通过之前讲的入门知识还有示例,大概就能了解怎么进行开发,这里大概对其中的一些配置进行分析吧。一、Queue首先我们看Queue类的代码public class Queue extends AbstractDeclarable { public static final String X_QUEUE_MASTER_LOCATOR = "x-queue-master-locator"; private final String n

2021-06-06 18:41:56 241 1

原创 RabbitMQ入门

文章目录一、相关概念介绍1.生产者和消费者2.队列3.交换器、路由键,绑定4.交换器类型5.RabbitMQ运转流程二、AMQP协议介绍一、相关概念介绍RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的。它整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。1.生产者和消费者Producer:生产者,就是投递消息的一方。消息包含消息体和标签两个部分。消息体也可称为payload, 一般是带有逻辑

2021-06-03 22:57:46 145

原创 【RabbitMQ】第一个SpringBoot应用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2021-06-03 10:00:05 114

原创 RabbitMQ安装(ubuntu)

文章目录前言一、直接安装前言一、直接安装首先得安装erlangsudo apt-get install erlang这样在我这个时间点安装的是20.0的版本,而官网已经出到24了,想要安装很复杂,我也尝试过,失败了。不过20.0也能使就这样吧。然后安装rabbitmqsudo apt-get insatll 启动、停止、重启、状态rabbitMq命令sudo rabbitmq-server startsudo rabbitmq-server stopsudo rabbitmq-se

2021-06-01 22:08:08 253 2

原创 Docker安装配置(ubuntu)

文章目录一、Docker安装配置二、设置容器自启动三、进入容器一、Docker安装配置安装sudo apt-get install docker.io查看是否设置开机启动systemctl list-unit-files | grep enable设置开机启动systemctl enable docker.service关闭开机启动systemctl disable docker.service二、设置容器自启动如果容器没有启动则docker run --restart=al

2021-06-01 21:52:52 146

原创 二分法总结

文章目录一、基本二分法二、lower_bound三、upper_bound一、基本二分法这个没有什么可多说的public int find(int[] nums, int target){ int left = 0; int right = nums.length; while(left < right){ int mid = (right - left) / 2 + left; if(nums[m

2021-06-01 20:16:29 146

原创 Dubbo过滤器

文章目录一、过滤器概述二、原理1.初始化的实现原理2.AccessLogFilter2.ExecuteLimitFilter3.Context Filter4.ExceptionFilter5.TimeoutFilter6.TokenFilter7.TpsFilter一、过滤器概述Dubbo 中的过滤器和 Web 应用中的过滤器的概念是一样的 , 提供了在服务调用前后插入自定义逻辑的途径 。 过滤器是整个 Dubbo 框架中非常重要的组成部分 , Dubbo 中有很多功能都是基于过滤器扩展而来的 。 过

2021-05-30 16:44:21 297

原创 Dubbo 集群容错(2)

文章目录一、负载均衡1.Random 负载均衡2.RoundRobin 负载均衡3.LeastActive负载均衡4.一致性Hash负载均衡二、Merger的实现三、Mock一、负载均衡我们发现在很多容错策略中都会使用负载均衡方法 , 并且所有的容错策略中的负载均衡都使用了抽象父类 Abstractclusterinvoker 中定义的 Invoker select 方法 , 而并不是直接使用 LoadBalance 方法 。 因为抽象父类在LoadBalance 的基础上又封装了一些新的特性 :(1

2021-05-29 16:38:36 65

原创 Dubbo集群容错(1)

文章目录前言一、Cluster层概述二、容错机制的实现前言《深入理解Apche Dubbo与实战》 第七章笔记一、Cluster层概述可以将Cluster层看作一个集群容错层,该层中包含Cluster、Directory、Router、LoadBalance等几大核心接口。其中,Cluster层指的是对外的整个集群容错层;而Cluster是容错接口,提供Failover、Failfast等容错策略。Cluster层的总体流程如下:(1) 生成Invoke对象(2)获得可调用的服务列表(3)

2021-05-29 14:32:09 107

原创 Mxnet、Pytorch环境安装配置(Windows)

文章目录前言一、Anaconda安装二、Cuda安装三、虚拟环境以及框架安装1.虚拟环境2.Pytorch安装3.MxNet安装四、开发环境问题1.jupyter lab2.pycharm前言一、Anaconda安装首先是为什么选用Anaconda,总而言之就是省事,主要是它的虚拟环境管理什么的都太方便了,具体操作配置什么的后边再将。本人在安装pytorch时,最开始安装的是1.7.0+cu102那个版本,但是它有的依赖都是有一定的版本范围的,比如它要求numpy的版本大于等于1.8小于1.17,而此

2021-05-27 17:09:21 2303

原创 Dubbo远程调用

文章目录前言一、Dubbo调用介绍二、Dubbo协议三、编码与解码四、Telnet调用原理前言Dubbo核心调用流程Dubbo协议详解Dubbo编解码器原理Telnet调用原理Dubbo线程模型一、Dubbo调用介绍假如手写简单的RPC调用,需要把调用信息传递到服务端,把方法参数等信息序列化传递到服务端,然后在服务端按照客户端的序列化顺序做一次反序列化来读取信息,然后拼装成请求对象进行服务反射调用,最终将调用结果返回给客户端。在Dubbo中调用基本类似。首先在客户端启动时会从注册中

2021-05-25 22:28:51 1597

原创 Dubbo启停原理

文章目录前言一、配置解析1.基于schema设计解析2.基于XML的配置原理 解析3.基于注解配置原理解析二、服务暴露1.配置承载初始化2.远程服务的暴露机制3.本地服务的暴露机制三、服务消费机制1.单注册中心消费2.多注册中心消费原理四、优雅停机原理解析前言《深入理解Apache Dubbo与实战》第五章Dubbo配置解析Dubbo服务暴漏原理Dubbo服务消费原理Dubbo优雅停机原理一、配置解析目前 Dubbo 框架同时提供了 3 种配置方式: XML 配置 、 注解 、 属性文件

2021-05-24 21:42:08 157

原创 Dubbo扩展点加载机制

文章目录前言一、加载机制概述1.Java SPI2.扩展点加载机制的改进3.扩展点的配置规范4.扩展点的分类与缓存5.扩展点的特性二、扩展点注解1.扩展点注解:@SPI2.@Adaptive3.@Activate三、ExtensionLoader的工作原理1.工作流程2.getExtension的实现原理3.getAdaptiveExtension 的实现原理4.getActivateExtension的实现原理四、扩展点动态编译的实现1.Javaassit 动态代码编译2.JDK动态代码的编译前言《深

2021-05-23 19:42:20 158

原创 《深入理解Apache Dubbo与实战》第三章的阅读笔记

文章目录前言一、注册中心概述1.简介2.工作流程二、Zookeeper注册1.原理2.发布/订阅三、Redis的注册四、缓存五、设计模式前言本文是《深入理解Apache Dubbo与实战》第二章的阅读笔记。第二章的主要内容是讲注册中心,书中主要围绕:1.注册中心的工作流程2.注册中心的数据结构3.订阅发布的实现4.缓存机制5.重试机制6.设计模式这几个部分讲解一、注册中心概述1.简介Dubbo通过注册中心实现了分布式环境中各服务之间的注册与发现。其作用如下:1.动态加入。一个服

2021-05-15 21:01:36 182

原创 吴恩达机器学习视频第七八部分

文章目录前言一、第七章二、第八章前言吴恩达机器学习视频第一、第七章神经网络模型是许多神经元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。这些神经元(也叫激活单元,activation unit)采纳一些特征作为输入,并且根据本身的模型提供一个输出。下图为一个 3 层的神经网络,第一层称为输入层(Input Layer),最后一 层称为输出层(Output Layer),中间一层称为隐藏层(Hidden Layers)。在神经网络中,参数又可被称为权重(weight)。我们为每一层

2021-05-15 18:05:31 65

原创 《深入理解Apache Dubbo与实战》第二章阅读笔记

文章目录前言一、工程结构与依赖二、xml方式二、基于注解实现三、基于API方式前言《深入理解Apache Dubbo与实战》第二章阅读笔记,内容主要是通过xml,注解以及api的方式实现第一个dubbo程序。其中遇到了一些坑,比如依赖的配置,因为书上并没有介绍依赖的配置,本人花了一段时间才解决。一、工程结构与依赖总的结构如图所示,父工程是echo。echo-api里是服务的接口,echo-server,echo-client是使用xml方式的服务器与客户端。echo-server-annotat

2021-05-14 20:40:10 142

原创 吴恩达机器学习视频第五第六部分

文章目录前言一、逻辑回归1.介绍2.代价函数3.梯度下降二、过拟合问题1.正则化2.正则化与线性回归3.正则化与逻辑回归前言吴恩达机器学习第五第六部分一、逻辑回归1.介绍分类问题,希望分类器的输出值在 0 和 1 之间,因此,假设函数需要满足预测值要在 0 和 1 之间。回归模型的假设是:hθ(x)=g(θTX)h_\theta(x)=g(\theta^TX)hθ​(x)=g(θTX)g 代表逻辑函数(logistic function), 是一个常用的逻辑函数为 S 形函数(Sigmoi

2021-05-14 19:35:12 51

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除