自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风中一匹狼的博客

种一棵树最好的时机是十年前,其次是现在

  • 博客(54)
  • 收藏
  • 关注

原创 字节面试算法题:用集合中的数凑小于target的最大数(Java实现,各类用例均通过)

字节面试的一道高频算法题

2022-07-29 17:05:58 2373 1

原创 Anaconda3常用命令、清华源配置

Anaconda3常用命令

2022-05-14 14:53:43 2055

原创 git merge三种参数精简解释(fast-forward、--no-ff、--squash)

(1)fast-forward:现在有master分支,dev分支拉出来开发并commit了几次,再合并回master分支,如果master分支在dev分支拉出来以后没有任何提交了,就会使用fast-forward模式,直接把master指针指向dev的最后一个提交节点上,分支提交记录为一条直线,看起来就像这些提交是直接在master上做的,看不到任何关于dev分支的信息。 git merge命令不加参数的默认是执行fast-forward模式,除非不符合fast-forward条件,即拉出dev分支后m.

2022-03-01 14:07:42 4560 3

原创 数据库索引高频面试题梳理

引言数据库中的索引是用来加快查询速度的B TreeB+ Tree聚簇索引和非聚簇索引索引可分为两个大类:主键索引:主键本身就是一个索引辅助索引(也称为非主键索引、二级索引):设置主键之外的其他字段为索引聚簇索引定义:索引和数据是放在一块的(一个文件存储,主键索引的B+树的叶子节点中存放了索引值和数据行所有字段)索引的顺序和数据的物理存储一致(因为字段也在B+树的叶子节点中,因此索引按序则整个数据行也是按序的)非聚簇索引定义:索引和数据是分开存放的(两个文件存储,索引的

2022-02-21 10:49:09 5583 2

原创 Java基本数据类型取值范围(float、double范围勘误)

对于float和double的取值范围,网上很多有误的,其并不是按位直接计算。基本类型字节数位数最大值最小值byte182^7 - 1-2^7short2162^15 - 1-2^15int4322^31 - 1-2^31long8642^63 - 1-2^63float4323.4028235E38(2^128 - 1)1.4E - 4(2^-149)double8641.797693134862315

2022-02-17 11:27:05 1422

原创 几张图彻底理解Java字符串常量池、String.intern()(非复制粘贴,准确解释)

引言实话说,网上95%的文章都是错的,各种复制粘贴,我通过逐一排查以及实验证明,总结了比较准确的字符串在常量池中的存储过程,以及String.intern()方法的分析。String类常量池存储过程不废话,几幅图直接彻底搞清几种情况:(1)字面量直接赋值String s1 = "aaa";String s2 = "aaa";String s3 = "bbb";(2)new新对象String s1 = new String("aaa");String s2 = new String("

2022-02-10 19:10:53 2852 18

原创 数据库并发问题及四种隔离级别原理深入分析(最详细)

数据库隔离级别大白话讲清楚

2021-11-20 12:56:01 2410 3

原创 Java中字符串和字符数组转换方法

字符串转字符数组://toCharArray()方法String str = "abc";char[] arr = str.toCharArray();字符数组转字符串://直接用构造器char[] arr = new char[]{'a', 'b', 'c'};String str = new String(arr);

2021-10-28 10:47:21 560

转载 优快云如何转载他人博客

在参考“如何快速转载优快云中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载优快云博客步骤和一些知识小笔记。 参考博客原址:http://blog.youkuaiyun.com/bolu1234/article/details/51867099 转载优快云博客步骤: 1.优快云博客页面右键,点击【检查】 点击检查后,页面右侧出现html代码,如下图 2.如果需要转载全文,则在html代码下侧点击选中article_con..

2021-10-23 21:01:58 124

原创 Java中Random类和Math.Random()用法

Randomimport java.util.Random;//随机生成[0, 100)中的一个整数,左闭右开区间Random random = new Random(10);int res = random.nextInt(100);//随机生成[a, b)之间的一个整数res = random.nextInt(b - a) + a;//随机生成[a, b]之间的一个整数res = random.nextInt(b - a + 1) + a;Math.Random()impor

2021-10-18 14:56:25 5582

原创 Java中Integer和int之间判相等的区别

int和int可直接用==判断int和IntegerInteger会自动拆箱为int,所以也可以直接用==判断Integer和Integer(1)如果数值范围在[-128,127]之间,可以直接用==因为JVM会维护这个范围内的缓存,比如第一个Integer是127,会存放在缓存中;在创建第二个Integer时会直接返回缓存的127,所以两者是相等的(2)其他范围的Integer,不能用==,必须用equals...

2021-10-11 21:06:06 2257

原创 多线程经典问题——生产者消费者精简总结(Java版)

问题描述有一个缓冲区,生产者往里生产东西,消费者从里消费东西。缓冲区满时,生产者不能再生产;缓冲区空时,消费者不能再消费。关键点1、判断时必须用while不能用if,否则存在虚假唤醒问题。虚假唤醒(个人理解):多个同类正在wait,notify唤醒了同类。唤醒后的同类有可能会获得锁,则直接从wait开始继续往下执行了,而实际上此时可能并不满足生产或消费的条件,引发错误2、两套东西,不能混用:synchronized+wait+notifylock+condition.await+con

2021-10-04 17:26:48 357

原创 8位有符号整数的范围[-128, 127]最简单解释

计算机存储机器数是使用补码的形式,8位二进制数共可表示256个数,其中:0000 0001 ~ 0111 1111一共127个正数1000 0001 ~ 1111 1111一共127个负数剩下两个数是0000 0000 和1000 0000,本来分别表示+0和-0,但为了只用一个数来表示0,1000 0000就被规定为表示-128,原因如下:(-1) + (-127) = [1000 0001]原 + [1111 1111]原 = [1111 1111]补 + [1000 0001]补 = [1

2021-09-23 10:54:08 5891 2

原创 python中PIL.Image和opencv处理图像方法及区别

PIL.Image# 读取图片img = Image.open(img_path)# 获取图片大小(属性)img.size# 保存图片img.save(save_path)# 图片转为RGBimg.convert('RGB')PIL.Image读入的图片是RGB顺序,opencv读入的图片是BGR顺序cv2# 读取图片img = cv2.imread(img_path)# 保存图片img = cv2.imwrite(save_path, img)# 显示图片im

2021-09-16 11:15:53 1773

原创 Java中Comparable和Comparator对比

待完善

2021-09-01 10:17:57 283

原创 一文读懂Faster RCNN(大白话,超详细解析)

文章目录一 前言二 Faster RCNN模型详解1 测试(Test)1.1 总体架构1.2 conv layers1.3 RPN1.3.1 anchors1.3.2 cls layer——分类1.3.3 reg layer——回归2 训练三 总结一 前言Faster RCNN是two-stage目标检测模型中的典型代表,虽然已经是16年的老模型,但检测与训练过程还是比较复杂的,至少有80%以上调包使用该模型的人其实并不理解其检测原理以及很多细节。不需要对每一个细节都死扣,但理清其检测逻辑和训练过程还是

2021-08-30 15:40:54 181984 57

原创 一文理清L1 loss、L2 loss、smooth L1 loss原理与区别

L1 lossL2 losssmooth L1 loss

2021-08-29 12:05:03 16363 4

原创 布隆过滤器(附go语言代码实现,详细注释)

一、简介布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的,它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例False positives,即Bloom Filter报告某一元素存在于某集合中,但是实际上该元素可能并不在集合中)和删除困难,但是没有识别错误的情形(即假反例False negatives,如果Bloom Filter报告某元素不

2021-08-04 17:03:48 2349

原创 git rebase详解(图解+最简单示例,一次就懂)

在拉公共分支最新代码的时候使用rebase,也就是git pull -r但往公共分支上合代码的时候,使用merge

2021-07-26 17:14:38 567906 208

原创 git版本回退详解(本地库+远程库)

1、场景我在本地仓库进行了多次提交,但push到远程库时不希望有这么多提交记录,比如只想要保留最开始的一两条commit记录2、解决方案//git reset不加--hard,工作区的内容就不会变化//此时暂存区和版本库回滚到了指定commit_id的位置git reset commit_idgit addgit commitgit push............

2021-07-23 11:48:13 6424

原创 Goland(IDEA、Pycharm均可)可视化界面解决git merge冲突(超级高效!)

git merge冲突在以下几种情况会出现:使用git merge命令合并一个本地分支到另一个本地分支时使用git pull拉取远程仓库某个分支的最新代码时如果全程使用命令行操作,那么解决冲突时会非常麻烦,需要到每一个文件里去手动解决。Goland(包括JetBrains其他软件,如IDEA、Pycharm等)有比较友好的可视化界面,在解决冲突时非常高效。下面演示git pull拉取代码时产生冲突的解决步骤:1、找到Pull位置2、选择具体要pull的远程库的分支(注意:最好加上–no-

2021-07-20 17:14:45 8737

原创 git merge合并原则

git merge命令作用是将某个分支的内容合并到另一个分支,在合并时有可能会发生冲突,这个时候需要手动解决冲突之后进行提交,才能完成合并。假设现在有两个分支,一个是master,一个是dev,在master分支上执行:git merge dev合并原则:1、取并集。意思就是master上没有而dev上有的文件会合并过来,master上有而dev上没有的文件会保留下来。2、冲突仅会发生在同名文件。比如dev分支是基于master分支产生的,然后改动了其中一个文件的某行代码,或者是在某个文件中间插

2021-07-12 22:11:49 7147 7

原创 Git常见报错:Updates were rejected because the tip of your current branch is behind

1、报错原因说明:该报错在git push时出现,一句话解释就是你在本地仓库上的修改没有基于远程库最新版本,你的本地仓库版本落后于远程仓库。场景一:起初本地仓库和远程仓库是同步的,然后某一天你在远程仓库上直接做了修改,此时远程和本地就不同步了。过了几天你在本地仓库做了一些修改,修改完成后使用git push想要提交,此时就会报错,场景二:起初本地仓库和远程仓库是同步的,不过有多个人都在该分支上开发,另一个人在某一天做了修改并提交到远程库了。此时远程库和你的本地库就不同步了。

2021-07-12 16:44:05 70452 9

原创 Git常见报错:Your local changes to the following files would be overwritten by merge

1、报错原因说明:该报错在git pull时出现,一句话解释就是你在拉取最新代码时,本地工作区有进行一些改动,如果直接拉取的话会覆盖掉你改动的内容。2、解决方案//备份当前的工作区的内容,让工作区变为和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中git stash//拉取最新代码git pull//从Git栈中读取最近一次保存的内容,恢复工作区的相关内容//这样就相当于是基于远程库最新版本修改了git stash pop...

2021-07-12 16:43:51 80766 1

原创 Github配置ssh key的步骤(大白话+包含原理解释)

在github上配置ssh key很容易,网上一大堆教程,但基本没有详细解释其原理的,为什么要配?每使用一台主机都要配?配了为啥就不用密码了?下面简单通俗地解释一下:我们在往git上push项目的时候,如果走https的方式,每次都需要输入账号密码,非常麻烦。而采用ssh的方式,就不再需要输入,只需要在github自己账号下配置一个ssh key即可。ssh key的配置是针对每台主机的,比如我在某台主机上操作git和我的远程仓库,想要push时不输入账号密码,走ssh协议,就需要配置ssh key,放

2021-06-30 11:19:20 253868 43

原创 Java中String、StringBuilder、StringBuffer类常用方法

String://获取字符串长度(注意括号,和数组获取长度区分)str.length();//获取某一位字符str.charAt(i);//截取子串(左闭右开)str.substring(beginIndex);str.substring(beginIndex, endIndex);//获取子串在原串中第一次出现的位置str.indexOf(s);//字符串比较(str1小于str2返回负数,大于返回正数,相等返回0)str1.compareTo(str2);String

2021-06-28 11:26:47 731

原创 Java中Stack、Queue、Deque类常用方法

待完善

2021-06-25 16:54:53 849

原创 Git最常用命令

总结最常用的git命令,自己用到过的,每次忘了就来这里查git基础命令//从远程仓库拷下来git clone url //工作区->暂存区 git add file //暂存区->本地仓库 git commit file 查看提交记录 git log 查看文件修改状态 git status git分支相关//列出所有本地分支和远程分支git branch -a //新建分支并留在当前

2021-06-24 16:34:13 758 1

原创 Java中List、Set、Map常用方法

待完善

2021-06-24 16:32:31 2791

原创 吴恩达深度学习网课 通俗版笔记——(05.序列模型)第二周 自然语言处理与词嵌入

自然语言处理与词嵌入本周是序列模型第二周的内容。2.1 词汇表征上一周有讲到,处理句子时对于每个单词的表示是通过一个one-hot向量,也就是需要一个词汇库,向量显示其位置。这种语言模型的缺陷是无法捕捉词语之间的相关性,泛化能力比较差。引出一种特征表示的方法,每一个词语依然由一个向量表示,而向量的每个值代表一种特征,这样的向量表示可以使得相似的词语在表示上也更为接近,从而解决上述问题。...

2021-06-18 18:57:48 304

原创 吴恩达深度学习网课 通俗版笔记——(05.序列模型)第一周 循环系列模型

循环系列模型本周是序列模型第一周的内容。1.1 为什么选择序列模型序列模型有非常多的应用:语音识别、音乐生成、情感分类、DNA序列分析、机器翻译、视频行为识别、命名实体识别等等。1.2 数学符号从上一节可以看到,序列模型依然是监督学习范畴,即需要给定x和y。举一个例子,给定一段文本,想要识别其中表示名字的单词。下图展示了一些数学符号,表示单词位置。在自然语言处理中,x序列中每...

2021-06-18 18:57:25 275

原创 尚硅谷JAVA基础——分P笔记

需要关注的分P包括:重点理解起来有困难的以前没接触过的知识点P18JAVA EE学习路线P29JDK、JRE、JVM关系P37文档注释

2021-06-18 18:55:47 527

原创 Java中List、Set和数组之间转换方法总结

List转数组:方法一:(笨办法硬换)//array为待转换int[]int[] res = new int[list.size()];int i = 0;for(int num : list){ res[i] = num; i++;}方法二:(toArray)//int类型,其他基本数据类型同理(必须是包装类对象)Integer[] res = list.toArray(new Integer[0]);//String类型String[] res = list.toArray

2021-06-14 14:49:53 4705 2

原创 Ubuntu16.04下CUDA、CUDNN离线安装(全版本通用法),精准解释,实测一次成功!

目前经常有的情况是,需要在不能联网的机器上部署深度学习环境。给定一个已经装好系统的(这里以Ubuntu16.04为例),下面完成对cuda、cudnn的离线安装精准解释,无废话一次成功,小白一次入门!即使有网环境,采用如下方法也是最快最便捷的,必定一次成功!一、cuda安装1、首先,要确定cuda的版本,注意cuda的版本完全由显卡驱动的版本来确定,和你显卡本身型号没有关系,前提是你的显卡本身支持cuda加速的(到这里查看是否有对应型号,现在的Nvidia显卡大多都支持)2、然后,查看当前系统的显卡

2020-08-09 11:39:12 5252 3

原创 linux网络管理笔记

1.1 OSI七层模型MAC地址用于局域网通信,IP地址用于外网通信用一个例子来解释工作机制:写信,双方事先商量用摩斯密码做内容,在表示层完成,相当于加密;然后会话层判断,这是一封邮件需要传输,给到传输层;传输层处写信封的发件人和收件人,相当于记录端口信息;网络层再写具体的门牌地址,相当于记录IP地址;数据链路层再写邮局的地址,相当于记录MAC地址;物理层相当于邮筒,实际地开始传信。各层...

2020-07-21 11:06:56 233

原创 linux最常用命令汇总(兼linux达人计划笔记)

只记录常用易错,过于基础或者比较偏的不做记录。//ls命令-l 显示详细信息-a 显示所有文件,包括隐藏文件-d 显示目录属性-h 人性化显示文件大小-i 显示inodell 等于ls -l//第一个-表示文件类型,-表示普通文件,d表示目录,l表示链接文件//后面9个三个一组,u所有者,g所属组,o其他人//r可读,w可写,x可执行-rw-r--r--//递归创建目录...

2020-02-17 14:45:06 248

原创 神经网络中episode、epoch、iteration、batch_size的理解

epoch、iteration、bath_size、episode在DNN中的解释:epochone forward pass and one backward pass of all the training examples, in the neural network terminology,重点就是所有的训练数据都要跑一遍。假设有6400个样本,在训练过程中,这6400个样本都跑完了才...

2019-12-02 14:59:17 7113 7

原创 GDAL库(读取、写入图像信息)简易流程(C++)

要实现在图像上画出一些矩形框,给定了框的坐标位置,要将这些框画出来。考虑读入图像像素信息,将对应位置的像素值改成特定颜色值,实现画框。用GDAL库实现:// GDAL_1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "gdal_priv.h" #include "cpl_conv.h" #include&l...

2019-11-06 10:50:27 3975

转载 GDAL库RasterIO函数详解

首先说明一下GDALRasterBand的RasterIO函数,波段类的RasterIO函数相比GDALDataset类...

2019-11-06 10:48:32 3460

转载 Python字符串格式化--format()方法

本文为转载他人,特此声明并对原作者表达感谢!1.简单运用字符串类型格式化采用format()方法,基本使用格式是:     <模板字符串>.format(<逗号分隔的参数>)调用format()方法后会返回一个新的字符串,参数从0 开始编号。"{}:计算机{}的CPU 占用率为{}%。".format("2016-...

2019-11-02 20:13:26 793

空空如也

空空如也

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

TA关注的人

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