自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CUDA C编程权威指南笔记

GPU中的每一个SM都能支持数百个线程并发执行,每个GPU通常有多个SM。内核网格启动时,它的线程块会被分配到可用的SM上执行CUDA使用使用SIMT架构管理和执行线程,它把32个线程作为一个组,称为线程束(warp)。线程束中所有线程同时执行相同的指令,每个线程都有自己的地址计数器和寄存器状态。一个线程块只能在一个SM上被调度。一旦线程块在一个SM上被调度, 就会保存在该SM上直到执行完成。在同一时间, 一个SM可以容纳多个线程块线程束是SM中基本的执行单元。

2024-03-11 21:16:56 364

原创 C++的一些知识

c++一些fancy的知识

2023-12-30 15:34:26 682

原创 CSapp

csapp某些章节的笔记

2023-02-06 23:38:24 434

原创 C++好用的代码

C++各种容器遍历

2021-11-30 21:29:23 2219

原创 如何在 clion 运行多个 main 函数

安装插件 Single File Execution如果你的Clion不能打开插件商店的话,可以在插件官网 https://plugins.jetbrains.com/ 上搜这个插件,然后下载。如下图所示。点第一个。安装方法是打开File->Settings->Plugins,然后点击下图中的Install Plugin from Disk.安装完毕后,在代码出右击,Add executable for …,然后就能运行了愉快地刷题吧,少年。...

2021-08-20 13:04:31 480

原创 Shell

shell字符串匹配介绍下Shell中的KaTeX parse error: Expected 'EOF', got '#' at position 4: {}、#̲#和%%使用范例,本文给出了不…{ }分别替换得到不同的值:${file#/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##/}:删掉最后一个 / 及其左边的字符串:my.file.txt${file#.}:删掉第一个 . 及其左边的字符串:file.txt${file##

2021-08-13 19:30:41 150

原创 Linux技巧

1. 隐藏文件在Linux文件系统中隐藏文件是Unix操作系统中一个长期存在bug的结果,而后许多人都采用了这个功能,并认为它是一个特性。隐藏文件或目录的方法要比Windows上简单得多,要在Linux中隐藏整个文件,只需要重命名文件并在其前面放置一些文本。找到想用文件管理器隐藏的文件或目录,并选择它。 按F2或右键单击并选择【重命名】。 接下来直接放置一个【.】在文件名前面。 由于这样能大多数文件管理器默认隐藏,所以重命名的文件或目录现在是不可见的。 请注意,放置在隐藏目录中的文件也将默认隐藏。在终

2021-07-31 15:27:06 114

原创 redis数据结构

redis的使用http://c.biancheng.net/view/4506.html以下内容均来自该网站http://c.biancheng.net/view/4540.html1 字符串数据结构上面是Redis字符串数据结构哈希数据结构一个key对应着一个hash结构,这个hash结构里面也是有很多键值对,key-value43 链表数据结构一个key对应着一个链表,也就是说这个链表的名字叫做key。然后链表的每一个节点仅有一个值:value箭头指的分别是链表的名字.

2021-07-30 19:51:49 101

原创 Pytho业务相关

1. 日志https://www.cnblogs.com/xianyulouie/p/11041777.htmlimport logging # 引入logging模块import os.pathimport time# 第一步,创建一个loggerlogger = logging.getLogger()logger.setLevel(logging.INFO) # Log等级总开关# 第二步,创建一个handler,用于写入日志文件rq = time.strftime('%Y%m%d

2021-07-29 21:54:16 66

原创 C++不懂的知识点记录

宏定义#define的知识点https://www.cnblogs.com/wanqieddy/p/4377937.html

2021-07-23 21:42:33 161

原创 pytorch 创建tensor的方法

import torchimport numpy as npa = np.array([[1,2,3,4,5],[6,7,8,9,10]]) # 这是numpya_tensor = torch.from_numpy(a) # 这是tensor,与a共享内存dir_tensor = torch.Tensor(4,5) # 根据维度创建张量print(dir_tensor.size()) # 结果是torch.Size([4, 5])...

2021-03-05 07:57:22 338 1

原创 肿瘤代码记录

model/ellipses_transform.py/ellipse_transform_inv

2021-03-04 20:06:53 199 1

原创 win10+Anaconda+虚拟环境+pytorch+Jupyter Notebook

安装Pytorchhttps://www.cnblogs.com/oucsheep/p/13549296.html感谢这个网站流程:使用conda安装失败;换镜像源,使用conda失败解决办法:打开“开始”——>Anaconda->Prompt, 创建python3.6的虚拟环境,名为torch按照上面的网址下载镜像,一模一样的镜像,https://download.pytorch.org/whl/cpu/torch-1.6.0%2Bcpu-cp36-cp36m-win_amd

2021-01-26 16:59:38 168

原创 anaconda镜像的坑

当配置镜像源失败的时候,还原成默认的设置的命令conda config --remove-key channels设置中科大镜像conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/删除中科大镜像conda config --remove channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/查看镜像源conda config --show-

2021-01-26 14:31:15 238

原创 Pytorch和Python的坑

Pytorch和Python的坑张量新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入张量import torcha = torch.tensor( //一个三维张量 [ [

2021-01-23 18:50:12 122

原创 Linux知识点

Linux的命令有哪些查看目录和文件:ls切换目录:cd显示当前目录 pwd# pwd/root/test #输出结果创建空文件:touch# 在当前目录下创建文件desc.txttouch desc.txt创建目录:mkdir#在当前目录下创建test目录mkdir test查看文件内容:cat#查看desc.txt的内容cat desc.txt分页查看文件的内容:more查看文件尾内容:tail拷贝:cp剪切或者改名:mv

2020-11-19 10:23:57 91

原创 HTTP的知识点

1. 为什么要使用HTTPSHTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生。2. HTTPS和HTTP的区别HTTPS是加密传输协议,HTTP是明文传输的协议。HTTPS需要用到SSL证书,而HTTP不用。HTTPS的标准端口是443,HTTP则是80TLS/SSL的原理HTTPS协议的主要功能基本都依赖于TLS/SSL协议,TLS/SSL的功能实现主要依赖于三类基本算法:散列函数

2020-11-19 10:07:56 245 1

原创 面试问到的智力题

1. 老鼠试毒问题问题1. 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?解决办法:把1000化成二进制需要10位。将瓶子的编号化成二进制,比如8号化成0000001000,15是0000001111。然后把老鼠排成一排,把1000瓶水逐瓶按照规则喂给它们中的某几个。规则如下:8号水瓶的水就只让第7只老鼠喝,其他老鼠不喝。15号水瓶的水就只让第7,8,9,1

2020-11-10 11:13:50 206

原创 笔试不会的东西

Linux的各种命令观看档案内容:cat, tac, more, less, head, tail, nl,https://blog.csdn.net/yuyongpeng/article/details/1818713最常使用的显示档案内容的指令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的档案(好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外, tac 这个指令也可以达到!好了,说说各个指令的用途吧!cat 由第一

2020-11-09 16:32:04 243 1

原创 面试不会

ThreadLocalTCP连接,TIME_WAIT过多行锁怎么实现智力题999个无毒水瓶,一个有毒水瓶,给10个老鼠,7天时间100个亮灯泡,排成一排,第一轮隔一个灭一个。然后第二轮隔两个灭一个,一百轮后有多少亮着?内核缩有哪些cat,more,less查看命令。shell的知识10.cat怎么用vmstat...

2020-11-09 11:51:39 92

原创 Java SE常问

final关键字的使用在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)修饰类  当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。修饰方法使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中

2020-10-25 13:39:49 178

原创 Redis的读书笔记

我看的资料是同学给的,https://github.com/Snailclimb/JavaGuide/blob/master/docs/database/Redis/redis-all.md#1-%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D%E4%B8%80%E4%B8%8B-redis-%E5%91%97有的地方看不懂,对其中的疑问做一下记录。什么是AOF重写参考博客https://blog.csdn.net/hezhiqiang1314/article/detail

2020-10-20 17:07:04 119

原创 多线程的一些面经知识点

可重入锁和Synchronize的区别1.等待可中断,持有锁的线程长期不释放的时候,正在等待的线程可以选择放弃等待,这相当于Synchronized来说可以避免出现死锁的情况。2.公平锁,多个线程等待同一个锁时,必须按照申请锁的时间顺序获得锁,Synchronized锁非公平锁,ReentrantLock默认的构造函数是创建的非公平锁,可以通过参数true设为公平锁,但公平锁表现的性能不是很好。3.锁绑定多个条件,一个ReentrantLock对象可以同时绑定对个对象。Lock使用起来比较灵活,但是

2020-10-20 12:35:23 262

原创 spring boot相关

spring boot元注解@Target、@Retention、@Documented、@Inheritedhttps://blog.csdn.net/mu_wind/article/details/102755071

2020-10-19 20:03:16 99

原创 2020-10-18

1.Mask-RCNN的ROI-Pooling的缺点在常见的两级检测框架(比如Fast-RCNN,Faster-RCNN,RFCN)中,ROI Pooling 的作用是根据预选框的位置坐标在特征图中将相应区域池化为固定尺寸的特征图,以便进行后续的分类和包围框回归操作。由于预选框的位置通常是由模型回归得到的,一般来讲是浮点数,而池化后的特征图要求尺寸固定。故ROI Pooling这一操作存在两次量化的过程。下图是第一次量化出现的误差下图是第二次量化后出现的误差所以改进就是下图(ROIAlign)

2020-10-18 08:56:51 116

原创 Mybatis

1. #{}和${}的区别是什么?#{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理时,就是把{}时,就是把时,就是把{}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。2. Mybatis的注解有@Insert : 插入sql , 和xml insert sql语法完全一样@Select : 查询sql, 和xml select sql语法完

2020-10-13 15:04:35 52

原创 leetcode题解

信件错排问题一共有n封信,初始状态每一封信都放在对应的信箱里面,如,1号信放在一号信箱,2号信在2号信箱,n号信在n号信箱中。现在要打乱他们的顺序,D(n)就是n封信的乱排个数,首先从n号信下手,n号信不能放在n号位置。把n号信拿出来,可以放在1,2…n-1号位置上,一共有n-1次选择,假如放在k号位置,现在k号信箱被n号信占据,现在处理k号信。k号信放在n号信箱。那么现在就处理剩下的n-2个信箱的东西就行了,所以是D(n-2).k号信不能放在n号信箱。我们把k号看做是新的n号,把原先的n号信放置.

2020-10-12 10:17:53 374

原创 Java IO

磁盘操作java.io.File类java把电脑中的文件和目录封装成了一个File类,我们可以使用File类对文件和文件夹进行操作。File类与系统无关,任何操作系统都能够使用这个类的方法。主要的方法有:创建文件/文件夹,删除文件/文件夹,判断文件/文件夹是否存在,对文件夹进行遍历,获取文件的大小。字节操作:InputStream和OutputStreamJava IO使用了装饰者模式,如在FileInputStream上套上一个BufferedInputStream对象,就能实例化一个具有缓存功能

2020-10-10 16:23:17 88

原创 计算机网络押题

各层协议和设备物理层考虑的是怎么在媒体上传输比特流协议数据单元是比特中继器:信号再生并放大转发出去。集线器:多端口的中继器数据链路层为同一链路的主机提供数据传输服务协议数据单元是帧网桥:将以太网隔离成多个碰撞域交换机:本质上是多端口的网桥,能够划分成多个小的冲突域网络层为网络上的不同主机提供数据传输服务协议数据单元是分组传输层TCP:面向连接,可靠的数据传输服务,可靠传输服务时通过超时重传来实现的。协议数据单元是报文段。UDP:无连接,尽最大努力的数据传输服务。协议数据单元

2020-10-09 20:21:56 778

原创 注解的三大作用

1.生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等;2.跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量;3.在编译时进行格式检查。如@Override放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出;...

2020-10-09 15:27:46 664

原创 泛型相关

什么是泛型把类型明确的工作推迟到创建对象或调用方法的时候的特殊的类型。为什么需要泛型早期的Java使用Object来代表任意类型的,但是向下转型有强转的问题,这样程序就不太安全。下面就是强转带来的问题。父类引用如果指向父类对象的话,向下转型为子类对象时,编译没有出错。运行时报ClassCastException。如果没有泛型,集合会变成下面这样。Collection集合装载的应该都是Dog对象,但是也可以把一个Cat对象放到里面去,这是没有任何语法错误的,因为Collection内部会采用一个

2020-10-09 15:23:47 53

原创 数据库相关

一. 索引什么是索引索引是存储引擎用于快速找到记录的一种数据结构。B+树叶子节点指针指向被索引的数据索引的优点减少了服务器需要扫描的数据行数帮助服务器避免排序和分组,避免创建临时表。能够将相关的数据保存在一起,减少IO次数B+树索引B+树索引的一个特点就是高扇出性,树高为2-4层。B+树索引分为聚集索引(也称为主索引)和辅助索引(也称为非辅助索引)。B+树节点的大小刚好等于操作系统一页的大小B+树的叶子节点是用链表连在一起的。由于B+树的有序性,除了用于查找,还可以用于排序和

2020-10-08 11:16:51 389

原创 操作系统

1. 虚拟内存定义虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。在虚拟内存中,每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存中。当程序引用到不在物理内存中的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败的指令。虚拟内存允许程序不用将地址空间中的每一页都映射到物理内存,也就是说一个程序不需要全部调入内存就可以运行,这使得有限的内存运行大程序

2020-10-07 21:55:23 476 1

原创 常用设计模式一句话概括

1. 简单工厂模式在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。2. 工厂方法定义了一个创建对象的接口,但由这个接口的子类决定要实例化哪个类。工厂方法把实例化操作推迟到子类。3. 抽象工厂提供一个接口,用于创建 相关的产品族 。原型模式创建一个原型对象,通过复制这个原型对象来创建新的对象建造者模式(生成器模式)(Builder模式)将一个复杂对象的构造和它的表示相分离,使同样的构建过程可以创建不同的表示。它将一个复杂的对象分解为多个简单的对象,一步一步地构

2020-10-07 13:35:06 199

转载 JVM面试相关

G1收集器看这篇文章就够了https://blog.csdn.net/mlplds/article/details/108695611https://www.cnblogs.com/wjh123/p/11146195.html

2020-10-05 16:35:34 179

原创 ConcurrentHashMap面试背

1.ConcurrentHashMap1.7Java 7 中 ConcurrentHashMap 的存储结构如上图,ConcurrnetHashMap 由很多个 Segment 组合,而每一个 Segment 是一个类似于 HashMap 的结构,所以每一个 HashMap 的内部可以进行扩容。但是 Segment 的个数一旦初始化就不能改变,默认 Segment 的个数是 16 个,你也可以认为 ConcurrentHashMap 默认支持最多 16 个线程并发。2.ConcurrentHashMa

2020-10-03 20:53:00 425

原创 select,poll和epoll特点和区别

select, poll和epoll的总结工作流程各自的特点区别1.支持一个进程所能打开的最大连接数2. FD剧增后带来的IO效率问题3.消息传递方式参考资料工作流程1.poll和select的工作流程poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,如果设备就绪则在设备等待队列中加入一项并继续遍历,如果遍历完所有fd后没有发现就绪设备,则挂起当前进程,直到设备就绪或者主动超时,被唤醒后它又要再次遍历fd。这个过程经历了多次无谓的遍历。2.epo

2020-10-03 11:09:02 276

原创 什么叫内存映射文件

内存映射文件什么是虚拟内存内存映射怎么工作什么是虚拟内存引入虚拟内存之后,对于每一个进程,操作系统提供一种假象,让每个进程感觉自己拥有一个巨大的连续的内存可以使用,这个虚拟的空间甚至还可以比内存的容量还大。这个“假象”就是虚拟地址空间。虚拟地址是面向每个进程的,只是一个“假象”罢了。此时CPU使用虚拟地址向内存寻址,通过专用的内存管理单元(MMU)硬件把虚拟地址转换为真实的物理地址(地址翻译),操作系统负责把虚拟地址和物理地址的映射关系维护在页表之中。内存映射怎么工作下面是页表的每一行的组成

2020-10-02 22:39:10 2020

原创 BeanUtils.populate函数报错

User user = new User(); //这个user是一个JavaBean类Map<String, String[]> parameterMap = request.getParameterMap(); 、//在servlet里面获取表单提交的参数BeanUtils.populate(user,parameterMap); //这个populat...

2020-04-17 22:49:25 1385

原创 算法导论复习

一. 二叉查找树1.一棵含有n个结点的完全二叉树,在上面进行操作的最坏情况运行时间是O(lgn)。2.如果x是一个包含n个结点的子树的根,那么用中序遍历的方法遍历的时间是O(n)...

2019-12-06 21:09:08 96

空空如也

空空如也

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

TA关注的人

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