自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何找到并杀掉占用显存的僵尸进程

nvitop 命令可以实时监控显卡显存的占用,CPU 的占用,以及占用显卡的进程信息等(如下图)。nvitop 中显示的进程,且它的 CPU 使用率、内存使用率这一列显示N/A,说明在 1 号 GPU存在僵尸进程占用了显存。

2023-12-27 10:23:42 2615

原创 迁移mmrotate环境【详细过程】

4、在anaconda 的 envs 目录下新建一个目录,用来装你的环境,目录名称就是你的环境名。conda-pack是一个命令行工具,使用pip和conda安装的包都能打包。6、如果你有使用 editable 方式安装的包,需要在新环境中重新安装一下。3、使用 scp 命令把压缩包发送到其它服务器。1、安装 conda-pack 工具。解压到上一步新建的文件夹中。mkdir 环境名称。

2023-12-15 15:39:02 193

原创 【bug记录】-Linux与Windows中的文件换行符不同导致的格式问题

另外,确保你的文件名中没有包含特殊字符(例如空格、特殊符号等),因为这些字符在Linux中可能需要特殊处理。当你从Windows移动文件到Linux系统时,可能会遇到文件格式问题。这通常涉及到文本文件的换行符(line endings)格式。你可以在Linux系统上使用包管理器安装它。这将会将 filename 中的 Windows 格式的换行符转换为 Linux 格式。解决这个问题的方法之一是使用工具来转换文本文件的换行符格式。这个命令会删除文件中的 \r,即 Windows 格式的换行符。

2023-12-09 23:46:25 336

原创 2023小米秋招真题-手机流畅运行的秘密

在一个优化项中,为了尽可能提升用户白天使用手机的体验和续航,某些已经在系统中注册过的任务会被设置为空闲任务,仅在手机空闲时运行(比如数据备份或AI相册整理)。现在系统中注册了若干组空闲任务,每个任务有各自的耗电量以及允许任务运行的最低初始电量,我们需要计算手机能够串行完成全部任务的最低初始电量。假如任务 1 的最低电量 > 任务 2 的最低电量,按照我们刚才贪心方法,优先执行最低电量高的任务,也就是先执行任务 1,任务 1 执行完后剩余电量为。每个任务有允许任务运行的最低初始电量,按照第一眼的想法可能会。

2023-09-06 00:15:08 1071

原创 rand7构造rand10 通用构造方法

1、结果是有限的2、每个结果的概率相同。

2023-08-14 20:46:47 135

原创 比快排还好写的堆排序,你还不会?

有一个可以优化的地方是,其实我们不用从最后一个节点开始做堆化,而是从最后一个非叶子节点做堆化就可以了。大顶堆堆顶的元素一定是堆中最大的元素,每次将堆顶元素与最后一个元素做交换,并把交换后的最后一个元素排除到堆外(,如果孩子节点大于当前节点,就做交换,否则就不用操作。当前节点与孩子节点进行交换后,孩子节点的位置得到了更小的值,因此为了。可以非常方便的获取每个节点的左右子节点下标。只要牢记以上堆的这两条性质,堆排序十分好写的,感觉比快排都好写!,最后一个元素的父节点就是第一个非叶子节点,它的下标是。

2023-06-27 23:33:51 87

原创 2023秋招人均手撕的跳表,你还不会?【力扣跳表实现】

最近听到同学在面试实习时遇到了面试官让😑😑。而我对跳表也只是了解的水平,于是这两天学习了一下。

2023-06-26 11:57:38 170

原创 【个人感想】

当你焦虑自己为什么找不到好工作,为什么比赛比不过别人时,考试为什么考的分不高时。先想想CS必读书籍是否读过,做的算法题的数量是否够了,是否做过有含金量的项目,你就知道,这些事情的发生并没有什么奇怪的了。多做些能增加自己核心竞争力的事情,这些东西不仅能让你获取一时的利益,更会永远成为你的自信来源。

2023-05-27 21:02:54 73

原创 Java快读模板 竞赛必备

【代码】Java快读模板 竞赛必备。

2023-05-09 16:55:59 258 1

原创 服务器之间快速传输文件的方式

这将先将本地文件夹/local/folder压缩为folder.tar.gz文件,然后传输到远程主机remotehost的/remote/目录下,最后在远程主机上解压到/remote/目录下。这将递归传输本地目录/local/folder下的所有文件和子文件夹到远程主机remotehost的/remote/folder目录下。需要注意的是,传输文件夹时可能需要花费一定的时间和网络带宽,因此建议在传输前检查文件夹内容和大小,以确保传输的正确性和效率。

2023-05-05 21:31:59 4215

原创 Linux快速查找文件的方法locate -b filename

命令去查找,该命令是从linux的一个数据库中检索的,该数据库存储了系统中的文件名,因此查询速度较快。在linux中查找文件可以使用。

2023-05-04 22:58:41 101

原创 Think twice,Code Once

地理解了题意后,再去思考解法。以免在没有读完题的时候就去想怎么做,这样有可能进入一个解题误区,反而会浪费大量的时间。在遇到一些叫较为困难的题时,先思考暴力解法(容易实现的解法),然后再去思考怎么降低复杂度。今天看到这样一句话,在做算法题的时候要想清楚,再动手编码。Think twice:认真阅读题目,确保自己。

2023-05-04 22:01:36 375

原创 基于MMDetection的atss模型在kitti数据集上进行训练

首先先对COCO数据集的格式做一个介绍,coco数据集的目录结构如下:cocoimages:一个list,里面每个元素是一个字典,包含file_name,height,width,id等内容annotations:一个list,里面每个元素也是一个字典,包含segmentation, area, iscrowd, image_id, bbox, category_id, id等内容。其中对于目标检测任务有用的字段有id, image_id, category_id, bbox, area。

2023-04-23 22:56:43 1182 1

原创 【瑞吉外卖】-复盘(六)

套餐的查询比较简单,需要根据CategoryId,Status查询,然后再根据UpdateTime降序排列即可。(需要往订单表oreders中插入一条记录,并且需要往order_detail中插入一条或多条记录)对于同一个菜品/套餐,如果选择多份不需要添加多条记录,增加数量number即可。根据当前登陆用户ID查询购物车列表,并对查询结果进行创建时间的倒序排序。点击去结算按钮,跳到订单确认页面,点击去支付则完成下单操作。清空购物车,登录用户ID,删除购物车数据。当点击”去结算“按钮,需要获取用户的。

2023-03-25 17:20:17 328

原创 【瑞吉外卖】-复盘(五)

对于移动端的页面,也是用户登录之后才可以访问的,如果用户已登录,我们获取到登录信息,存入ThreadLocal中(在后续的业务处理中,如果需要获取登录用户的Id,可以直接从ThreadLocal中获取)删除单个和批量删除套餐可以合并成一个函数,根据传递过来的要删除的套餐id列表去删除套餐表中的套餐基本信息和SetmealDish表中,套餐对应的菜品信息。这个数据传输对象DTO,主要用于封装页面在新增套餐时传递过来的json格式的数据,其中包含套餐的基本信息,还包含套餐关联的菜品集合。

2023-03-25 12:30:17 245 1

原创 【瑞吉外卖】-项目复盘(四)

保存菜品信息的功能,前端页面传过来的数据除了,Dish的基本信息外,还有flavor等口味信息。而Dish实体类中是没有这些flavor属性的。因此,需要自定义一个实体类dto(data transfer object,数据传输对象),继承自Dish,并对Dish的属性进行拓展,增加flavors集合属性。在实体类Dish中,仅仅包含categoryId,不包含categoryName,因此在这里我们可以返回DishDto对象,在该对象中扩展一个属性categoryName,来封装菜品分类名称。

2023-03-12 15:46:20 185

原创 【瑞吉外卖】-复盘(三)

在业务逻辑操作过程中,如果遇到一些业务参数、操作异常的情况下,我们直接抛出此异常。/*** 自定义业务异常类} }在CategoryService中扩展remove方法,并在CategoryServiceImpl中实现remove方法。/*** 根据id删除分类,删除之前需要进行判断//添加查询条件,根据分类id进行查询菜品数据 LambdaQueryWrapper < Dish > dishLambdaQueryWrapper = new LambdaQueryWrapper < >();

2023-03-11 16:34:11 111

原创 【MMDetection学习笔记】-整体构建流程(二)

重点分析了 MMDetection 框架中 Model 整体构建流程,但仅对 Model 算法组件方面进行深入分析,并未涉及整个框架训练和测试流程。本文核心内容是,从最抽象层讲起,到最后核心代码实现,希望帮助大家更容易理解 MMDetection 开源框架整体构建细节。

2023-03-09 22:46:28 210

原创 【虚拟内存】-操作系统重点内容总结

让程序拥有超过系统物理内存大小的可用内存空间。另外,。这样会更加有效地管理内存并减少出错。虚拟内存是计算机系统内存管理地一种技术。虚拟内存地重要意义是它定义了一个连续地虚拟地址空间,并且把内存扩展到硬盘空间。使得应用程序认为它拥有连续地可用的内存,而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。与没有虚拟内存技术的系统相比,使用这种技术使得大型程序的编写变得更容易,对真正的物理内存的使用也更有效率。

2023-03-09 22:45:09 166

原创 【MMDetection学习笔记】-整体构建流程(一)

任何一个目标检测算法都可以分成 n 个核心组件,组件和组件之间是隔离的,方便复用和设计。当面对一个新算法时候我们可以先分析其主要是改进了哪几个核心组件,然后就可以高效的掌握该算法。

2023-03-08 22:32:25 365

原创 【瑞吉外卖】-复盘(二)

自定义一个过滤器 LoginCheckFilter 并实现 Filter 接口, 在doFilter方法中完成校验的逻辑。

2023-03-08 11:23:32 97

原创 【内存管理基础】-操作系统重点内容总结

为了提高内存的空间性能,提出了多级页表的概念;但是提高空间性能是以浪费时间性能为基础的,因此为了补充损失的时间性能,提出了快表(TLB)的概念。不论是快表还是多级页表实际上都利用了程序的局部性原理,局部性原理在后面的虚拟内存这部分会介绍到。

2023-03-08 10:23:39 87

原创 【瑞吉外卖】-复盘(一)

本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括系统管理后台 和移动端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类(菜品分类、套餐分类)、菜品、套餐、订单、员工等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。序号表明说明1employee员工表2category菜品和分类表3dish菜品表4setmeal套餐表5套餐菜品关系表6菜品口味关系表7user用户表(c端)8。

2023-03-07 09:14:36 619

原创 【进程篇】操作系统重点内容总结

多个进程/线程同时被阻塞,他们中的一个或者全部都在等待某个资源被释放,由于进程/线程被无限期地阻塞,因此程序不可能正常终止。

2023-03-05 22:05:45 136

原创 【2022年省赛Java A组真题】-蓝桥杯【拿了国一】

✨✨备战2023年蓝桥杯,一起冲鸭!!这些题目跟力扣好不一样啊😅😅。力扣上的部分简单题有固定的套路,很容易想出来。而蓝桥杯脑筋急转弯、数学、推公式题目占大多数,且每题数据范围都很大,想AC必须想出来最佳解。最短路欧拉筛&线性筛平方和公式等,后边还得复习复习。

2023-02-17 16:46:08 2674 2

原创 【Java基础-集合篇】-HashMap及其扩容机制

Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMapHashtable和TreeMap,类继承关系如下图:这四个类的特点有:(1)HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。

2023-02-14 23:29:53 1522

原创 【MySQL存储索引】-黑马程序员视频观看笔记

存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。# 1、在创建表时,指定存储引擎CREATE TABLE 表名{字段1 字段1类型 [COMMENT 字段1注释],字段2 字段2类型 [COMMENT 字段2注释]}ENGINE = INNODB [COMMENT 表注释]# 2、查看当前数据库支持的鵆引擎1、体系结构连接层、服务层、引擎层、存储层2、存储引擎简介3、存储引擎特点INNODB与MyISAM:事务、外键、行级锁4、存储引擎的应用。

2023-02-12 23:07:35 124

原创 【Java基础-集合篇】-ArrayList及其扩容机制

ArrayList继承于,实现了ListCloneable这些接口。RandomAccess是一个标志接口,表明实现这个接口的List集合是支持快速随机访问的。在ArrayList中,我们即可以通过元素的序号快速获取元素对象,这就是快速随机访问。ArrayList实现了Cloneable接口,即覆盖了函数clone(),能被克隆。ArrayList实现了接口,这意味着ArrayList支持序列化,能通过序列化去传输。

2023-02-07 23:42:13 433

原创 MySQL锁-详解

(并行执行的两个事务A和B,事务A的执行不会影响事务B,事务B的执行不会影响事务A的执行)行锁是所有行级别锁的一个统称,记录锁、间隙锁、临键锁都是属于行锁,行锁是指加锁的时候锁住的是标的某一行或多行记录,多个事务访问同一张表时,只有被锁住的记录不能访问,其他记录可正常访问。临键锁也属于行锁的一种。实现的,在Innodb中我们的锁都是作用在索引上面的,当我们的SQL命中索引时,那么锁住的就是命中条件内的。记录锁属于行锁的一种,记录锁的范围只是表中的某一条记录,记录锁是说事务在加锁后锁住的只是表的某一条记录。

2023-02-02 18:04:50 218

原创 【MySQL锁】-黑马程序员视频观看笔记

锁是计算机协调多个进程或并发线程访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

2023-01-23 00:16:34 128

原创 【MySQL事务】-黑马程序员视频观看笔记

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,这些操作要么同时成功,要么同时失效。1、事务简介事务是一组操作的集合,这组操作,要么全部执行成功,要么全部执行失败2、实务操作-- 开启事务-- 提交/回滚事务3、事务的四大特性原子性(Automicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)4、并发事务问题脏读、不可重复读、幻读5、事务隔离级别。

2023-01-18 21:57:30 135

原创 【MySQL索引】-黑马程序员视频观看笔记

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

2023-01-13 23:41:49 295

原创 TCP”粘包“问题

TCP”粘包“问题

2023-01-11 23:50:05 102

原创 DNS域名解析详解

DNS域名解析详解

2023-01-10 23:32:43 2011

原创 Cookie与Session的区别

Cookie与Session的区别

2023-01-09 23:32:17 57

原创 【TCP专题】-流量控制与拥塞控制

【TCP专题】-流量控制与拥塞控制

2023-01-09 21:56:52 1493

原创 【TCP专题】-三次握手与四次挥手

计算机网络高频面试题-三次握手与四次挥手

2023-01-07 23:37:19 112

原创 ✨✨开始写博客啦~

开始写博客啦

2023-01-06 23:02:26 73

原创 KMP算法小结

假设有两个串目标串s和模式串t,串的模式匹配就是要在串s中找到一个与t相等的子串。假如用暴力算法(简单匹配算法),设s.length=m,t.length=n,则最坏情况复杂度达到O(mn)。而KMP算法解决此问题复杂度可达到O(m+n)。KMP算法思路假设用i扫描目标串s的字符,用j扫描模式串t的字符在暴力算法中,若s[i]==t[j],则 i++;j++若s[i]!=t[j],i要向...

2019-11-08 20:02:06 166 1

空空如也

空空如也

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

TA关注的人

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