常用类

System类是一个final类,该类的所有属性和方法都是静态的
标准输入,指控制台输入
system属性:in、out、err(错误)
常用方法:
- currentTimeMillis() 获取当前时间用毫秒来表示
用于计算代码运行耗时。运行前有个毫秒,运行后的有个毫秒,两个相减得到代码运行时间
Long now1 = system.currentTimeMillis();
Long now2 = system.currentTimeMillis();
Now2 - now1;
- exit() 终止当前运行的系统属性
- getProperties() 确定当前的系统属性
- gc() 运行垃圾回收机制

String
string也是一个对象
在内存中的数据段中,有一个字符串常量池
池的特点:预先把一些对象预先放入到当中去,要用的时候直接从池里面去取
字符串特点:string对象的内容不可变,是给了一个新的string对象
对字符串方法的操作分类:
1.与字符数组相关,字符串中拥有一个方法是toChaarArray,可以把字符串放到数组当中去
返回第一个或者第几个的字符
返回字符串首次出现位置
返回字符串最后出现位置
看字符串长度
返回一个字符串是否包含另一个字符串
根据下标截取字符串(前闭后开,最后一个是不会截取到的)
替换(可以多个替换)
判断某个字符开头
判断某个字符结尾
把一个字符串加在另一个字符串的后面,用concat
2.与英文相关
toUpperCasse 转全大写
toLoweCasse 转全小写
equalsIgnoreCase 忽略大小写比较相等
比较两个字符串大小,根据首个字符前后位置(eg:a b c等,然后比较后面的字母,得到的结果是前面那个剪掉后面的ascll码,第一个相等就用第二个的去比,在相减,以此类推。若短的字符和长的字符一样,然后比较长 比如 hello和hellow)
3.重点方法:字符串判断
对任意一个字符串做非空判断,都要做两个判断(空与空串),而且顺序不能变
空是指没有指向一个对象(str != null)
空串是指向了一个对象,但是这个对象是一个空的对象(!Str.equals(” “))

trim()方法
去掉前面和后面的空格,如字符串中间有空格,中间的空格不会去掉
matches():正则表达式匹配
正则表达式理解为是一个字符串模版,规定了字符串的样式,去校验一个字符串的正确形式
regex
1.任何一个字符串都是一个正则表达式
2.学习模糊符号
暂学模糊符号:
2.1三种括号 [] () {} * +
书写好了过后,调用matches
Str.matches(正则);
模糊符号:
[] 一个方括号代表一个字符,在方括号内部书写上这个字符可以有哪些有效的选择
连续的东西可以用 - 来表示 eg:[0-9]
{} 话括号表示前面正则表达式反复出现的次数
具体语法是:正则表达式{m,n}
m和n分别表示最少出现出现m次,最多出现n次
若{m,} 表示最少出现m次,最多没有限制次数
若{m} 表示只能出现m次
* +? 这三种符号也可以表示前面表达式出现的次数
* 表示任意次
+ 表示至少一次,没有上限
? 表示零到一次
( | ) 一般会在中间用跟短竖线,表示可选择的表达式,指的是可以选择左边的也可以选择右边的。而且可以还在后面加上竖线在来进行选择。里面写的可以是一个字符串也可以是一个正则表达式

包装类
包装类是专门为基本数据类型设计的
八个包装类来对应八个基本数据类型
包装类的任务是:在基本数据类型和引用数据类型充当一个桥梁,使基本数据类型和引用类型进行互换(初次之外还可以使包装类、引用类、基本数据类型之间任意互换
eg:integer string int)
1.基本转包装类对象:
1.1调用包装类的带参构造,然后将形式参数传进去(需要new出来)
1.2还可以直接进行赋值——>这种叫做自动封箱(JDK1.5以后)
2.包装类对象转基本:
2.1直接赋值——>这种叫做自动拆箱(JDK1.5以后)
2.2调用包装类对象(没有static了,因为是向对象要的,而static修饰的都是与对象无关,与类有关的,所以是没static)的 (value前面写的是基本数据类型)Value方法

在不知道调用什么方法的时候,要自己去找方法,找方法的时候,先根据看返回类型,然后在看是不是需要传参,然后在看访问修饰符是什么,在去看可选修饰符是什么,最后来确定此方法

3.包装类对象转引用类(string):
3.1调用包装类对象的tostring方法
4.引用类(string)转包装类对象:
4.1调用包装类的带string的构造
5.基本转引用(string):
5.1用包装类的带参tostring方法(不是对象,中间借用integer帮忙,然后跟integer这个对象本身没什么关系,只是充当一个中间人的作用,就像生活中我们找个人帮忙递个东西,跟这个人身上有的东西没关系,只是我们要给他一个东西,因此在这里是有参的,而且是static的,是一个类)
6.引用类型(string)转基本—–>用的最多
6.1用包装类的带参parseInt方法(道理如同上面基本类型转引用类型)
6.2调用string本身的valueOf方法
当去调用方法的时候,在doc文档里没有的话,就需要借助包装类来协助完成转换

在使用字符串拼接的时候最好用stringBuffer或者stringBuilder
StringBuffer
内容是可变的字符串,他的用途主要集中在改变stringBuffer对象的内容
他是以个最终类,不能有子类
stringBuffer是要new出来的
是一个stringBuffer对象,不是String对象
append指的是在new出来的对象屁股末尾添加一个字符串
insert指的是往中间位置放,前面要写上数组的下标来表示放在哪个中间
reverse指的是反转过来,是在数组里的每一个元素都会转过来

stringBuilder
内容可变的字符串类型,他的用途主要集中在改变stringBuilder对象的内容,适用在单线程的时候,不考虑线程安全,执行效率高
StringBuffer他可以保证线程安全,适用于多线程,设计为线程安全,但是执行效率底

在大量需要做字符串拼接的时候,使用StringBuffer或者stringBuilder,具体看是否是多线程

凡是线程安全的执行速度一定慢,凡是线程不安全的,执行速度一定块,效率一定高

properties(属性):
1.是一个集合类
1.1集合特立
可变大变小
存放不占用连续空间
可存放object类型,但是操作文件时数据都被作为字符串String
*数据在内部存放是按照 键 值对 的方式存放
键和值是成对存在的,且键是不会重复的,是唯一的
如果键的名字是一样的那么就会形成后面那个键覆盖前面那个键,也就是平常说的修改数据
删的话直接用个remove 然后输入键就可以了,就是根据键移除数据
得到多少条数据有个size方法
(数组当中,数组下标就是键,里面存的数字就是值)

2.可以操作文件
2.1配置文件
属性文件
XML文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的别和位置,是计算机视觉领域的核心问题之一。由于各物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体别(目标分)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否包含检测对象的概率和各个别的概率(首先得到别概率,经过Softmax可得到别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分,并根据分结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测别匹配真实值(Ground truth)的别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值