自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vision Transformer(ViT) --TransReID学习记录(一)

TransReID这篇文章是首个将视觉Transformer的ViT应用在ReID领域的研究工作,在多个ReID基准数据集上取得了超过CNN的性能。原文:TransReID: Transformer-based Object Re-Identification代码:https://github.com/heshuting555/TransReID作者:阿里巴巴&浙江大学Contributions以调整适用于ReID任务的ViT作为Backbone进行特征提取,提出了名为ViT-Bo

2021-07-23 21:55:14 1617 2

原创 乐观锁和悲观锁学习

什么是悲观锁?总是假设最坏的情况,每次去拿数据的时候都认为别人会修改。所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)互斥锁的同步方式是就悲观的,就是操作系统认为如果不严格进行线程调用,那么一定会产生异常,所以互斥锁就会把资源锁定,只供一个线程调用,将其他线程阻塞。例如Java中的synchronized就是一种悲观锁。使用悲观锁的例子public class Test { //开三个线程

2021-03-17 21:04:59 153

原创 滑动窗口算法学习

滑动窗口算法学习滑动窗口算法主要应用在数组和字符串的场景中,常常可以用以解决数组或字符串的子元素问题,它可以将嵌套的循环问题,转换为单循环问题,降低时间复杂度。1. 无重复字符的最长子串题目描述:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。暴力解决方法:用两层循环生成所有的子串,再利用HashSet判断他们是否含有重复字符,这种方法需要的时间复杂度为O(

2021-03-05 23:33:39 227

原创 JWT基础学习

JWT介绍JWT(Java Web Token) 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519)。JWT一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该Token也可直接被用于认证,也可被加密。JWT能做什么?Authorization (授权) : 这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点

2021-01-22 14:19:04 325 1

转载 关于数据链路层提供的可靠传输和传输层提供的可靠传输的区别

原文地址: 数据链路层和TCP传输层的迷思关于数据链路层和传输层提供的可靠传输的疑问和回答传输层协议UDP,书上说不必事先建立连接,是无连接的不可靠的协议,只是尽最大努力交付,但UDP仅是传输层协议,下面还有数据链路层协议啊,该层中有超时重传,差错重传的ARQ协议,这样,原始的数据帧就能可靠通信了,上层数据也是通过下层数据表现的,不同样也能保证可靠通信吗?为什么说UDP是不可靠的?数据链路层可以实现无差错的数据帧的交付,但是并不一定一定要实现,这个实现是需要有代价的,比如HDLC协议等等。

2020-10-05 19:09:18 8522 3

原创 折半查找(二分查找)的理解

目录折半查找的算法思想查找过程演示折半查找的判定树代码实现折半查找的算法思想折半查找又称二分查找,仅适用于有序的顺序表首先将给定值key与表中中间位置元素的关键字比较,若相等,则返回该元素的位置;若不等,则在前半部分或者是后半部分进行查找。查找序列升序时,若key小于中间元素,则查找前半部分;若key大于中间元素,则查找后半部分。重复该过程,直到找到查找的元素为止,或查找失败。查找过程演示mid = (low + high)/2 向下取整mid = 29,大于16,查前半部

2020-08-03 15:16:59 2335

原创 数据结构 - 关键路径

目录一、AOV网介绍二、关键路径事件(点)的最早开始时间事件(点)的最迟开始时间活动(边)的最早开始时间活动(边)的最迟开始时间关键路径三、计算关键路径的例子一、AOV网介绍在带权有向图中,以顶点表示事件,以有向边表示活动,以边上的权值表示完成该活动的开销(如完成活动所需的时间),称之为用边表示活动的网络,简称AOE网。AOE网具有两个性质:只有在某顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始。只有在进入某顶点的各有向边所代表的活动都已结束时,该顶点所代表的事件才能发生

2020-08-02 11:21:43 1661

原创 求解最短路径-Dijkstra算法

一、最短路径当图是带权图时,把从一个顶点到图中其余任意一个顶点的一条路径(可能不止一条)所经过边上的权值之和,定义为该路径的带权路径长度 。把带权路径长度最短的那条路径称为最短路径。二、Dijkstra算法求最短路径采用Dijkstra算法求下图中从点a到到其他各个顶点的最短路径:步骤顶点集bcdef1a2 , a5 , a∞∞∞2ab3 , b5 , b∞∞3abc5 , b7 , c4 , c4abcf

2020-08-01 20:25:55 13595

原创 并查集的学习以及Java代码实现

笔记来源目录并查集简介一、树的双亲表示法二、并查集的初始化 - Initial(S)三、并查集合并 - Union(S,Root1,Root2)四、并查集查找 - Find(S,x)五、代码实现并查集简介并查集是一种简单的集合表示,通常用树(森林)的双亲表示法作为并查集的存储结构,每个子集合以一棵树表示。所有表示子集合的树,构成表示全集合的森林,存放在双亲表示数组内。通常用数组元素的下标代表元素名,用根结点的下标代表子集合名,根结点的双亲结点为负数。并查集有三种操作:并(Union):

2020-07-26 19:30:50 234

原创 七种方法实现单例模式

笔记来源:尚硅谷目录一、单例模式的介绍二、饿汉式应用实例饿汉式(静态常量)饿汉式(静态代码块)三、懒汉式应用实例懒汉式(线程不安全,不推荐使用)懒汉式(线程安全,同步方法,也不推荐)四、双重检查(推荐使用)五、静态内部类(推荐使用)六、枚举(推荐使用)一、单例模式的介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创

2020-07-19 16:18:38 562 1

原创 java多线程的学习之路(二)

笔记来源java多线程的学习之路(一)一、临界资源问题模拟四个售票员同时售票的场景public class SourceConflict { //演示临界资源问题 //某个景点有4个售票员在同时售票。 public static void main(String[] args) { //1 实例化四个售票员,用4个线程模拟4个售票员 Runnable r = () -> { while (TicketCenter.

2020-07-16 16:26:50 103

原创 java多线程的学习之路(一)

笔记来源:https://www.bilibili.com/video/BV1Z4411G7vn?p=1一、线程的生命周期生命周期:在程序开发中,将一个对象从被实例化完成,到这个对象使用结束,并销毁,将这样的过程称为对象的生命周期。类似于人的一生。线程的生命周期: .一个线程被实例化完成,到这个线程销毁,中间的过程。线程的状态:新生态: New一个线程对象被实例化完成,但是还没有做任何的操作。就绪态: Ready一个线程已经被开启,已经开始争抢CPU时间片。运行态: Run

2020-07-16 11:24:30 140

原创 几种特殊的二叉树 - 满二叉树、完全二叉树、二叉排序树、平衡二叉树

目录一、满二叉树二、完全二叉树三、二叉排序树四、平衡二叉树一、满二叉树定义满二叉树:一棵高度为h,且含有2^h-1个结点的二叉树称为满二叉树。简单来说就是树中的每层都含有最多的结点。特点满二叉树的叶子结点都集中在二叉树的最下一层,并且除叶子结点之外的每个结点度数均为2。(对满二叉树从上到下,从左到右依次编号,如图)对于编号为i的结点:若有双亲,双亲节点编号 = ⌊i/2⌋若有左孩子,左孩子编号 = 2*i若有右孩子,右孩子编号 = 2*i + 1二、完全二叉树定义高

2020-07-11 21:46:50 1059

原创 解析json字符串,把json字符串转换成Java对象

目录一、导入一个fastjson的jar包二、Json字符串格式一、导入一个fastjson的jar包在pom.xml里加上这个依赖:<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.60</version></dependency>二、Json字符串格

2020-07-08 16:19:29 2240 1

原创 KMP算法的理解

KMP算法本文内容主要来自天勤公开课的KMP算法讲解KMP算法的作用快速从一个主串中找到一段和模式串(字串)相同的串一种简单的模式匹配算法:模式串与主串左端对齐,开始逐个比较:当扫描到某一个位置发现不匹配后,就让模式串后移一位,并且让比较指针回到模式串的第一位,再开始下一轮的比较:这个过程中,比较指针从后面回到前面,称为比较指针的回溯。指针回溯是造成这个简单匹配算法效率比较低的主要原因。但是KMP算法能做到仅让模式串后移,指针不回溯,提高算法的效率。理解KMP算法的原理:如何

2020-07-02 16:54:13 561 3

空空如也

空空如也

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

TA关注的人

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