-
什么是“类加载过程”你知道吗?
所属栏目:[语言] 日期:2021-05-27 热度:190
计算机能识别的是机器指令码,简称机器码。机器码是二进制的,计算机可以直接识别,但与人类的语言差别太大,不容易被人理解和记忆。后来,就诞生了各种高级语言,人们用高级语言编写程序,然后通过把程序解释或编译成机器码。 比如python,就是一种解释型[详细]
-
nonlocal 和 global的原理及其差异
所属栏目:[语言] 日期:2021-05-27 热度:86
副标题#e# 对变量名的赋值和引用,是两种不同的情况: 赋值:创建一个变量或者修改。 引用:检索其值。 以上两者的差别,会导致我们在函数中: 赋值一个 全局变量:等于创建一个局部变量。 自由变量:等于创建一个局部变量。 引用:正常检索其值。 我们修改[详细]
-
计算机视觉是一门高端技术
所属栏目:[语言] 日期:2021-05-27 热度:101
计算机视觉这种技术可以将静止图像或视频数据转换为一种决策或新的表示。所有这样的转换都是为了完成某种特定的目的而进行的。 输入数据可能包含一些场景信息,例如相机是搭载在一辆车上的或者雷达发现了一米之外有一个目标。一个新的表示,意思是将彩色图[详细]
-
OpenCV 的应用和使用开源许可证
所属栏目:[语言] 日期:2021-05-27 热度:126
许多计算机科学家和经验丰富的程序员多多少少都了解计算机视觉的某些方面,但是很少有人熟谙计算机视觉的每一个应用。比如: 很多人了解计算机视觉在安保行业的应用; 一些人也知道它在网页端的图像和视频处理中的应用在逐渐增加。 但很少有人知道计算机视[详细]
-
OpenCV 与IPPICV 加速的高效性
所属栏目:[语言] 日期:2021-05-27 热度:104
1999 年,Gary Bradski(加里布拉德斯基)当时在英特尔任职,怀着通过为计算机视觉和人工智能的从业者提供稳定的基础架构并以此来推动产业发展的美好愿景,他启动了 OpenCV 项目。 OpenCV 库用C语言和C++语言编写,可以在 Windows、Linux、Mac OS X 等系统[详细]
-
PyTorch 的基础入门及重要基础
所属栏目:[语言] 日期:2021-05-27 热度:71
为什么使用 Numpy?实际上 Python 本身含有列表(list)和数组(array),但对于大数据来说,这些结构是有很多不足的。 由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。例如为了保存一个简单的[1,2,3],都需要有 3 个指针和 3 个整数对象[详细]
-
两种典型的使用继承的情景情况叙述
所属栏目:[语言] 日期:2021-05-27 热度:100
派生类除了拥有基类的成员,还可以定义自己的新成员,以增强类的功能。 以下是两种典型的使用继承的场景: 1) 当你创建的新类与现有的类相似,只是多出若干成员变量或成员函数时,可以使用继承,这样不但会减少代码量,而且新类会拥有基类的所有功能。 2)[详细]
-
在派生类的构造函数中调用基类的构造函数极为重要
所属栏目:[语言] 日期:2021-05-27 热度:140
副标题#e# 前面我们说基类的成员函数可以被继承,可以通过派生类的对象访问,但这仅仅指的是普通的成员函数,类的构造函数不能被继承。构造函数不能被继承是有道理的,因为即使继承了,它的名字和派生类的名字也不一样,不能成为派生类的构造函数,当然更不[详细]
-
接口是一个抽象类还要抽象的类
所属栏目:[语言] 日期:2021-05-26 热度:55
在讲解接口之前,抽象类是绕不过去的一个概念,接口可以认为是一个比抽象类还要抽象的类。 什么是抽象类?「包含一个或多个抽象方法的类就是抽象类,抽象方法即没有方法体的方法」,抽象方法和抽象类都必须声明为 abstract。例如: //抽象类 publicabstrac[详细]
-
Go 语言新方案:支持使用-keepfuzzing进行模糊测试
所属栏目:[语言] 日期:2021-05-25 热度:60
据介绍,此项提案会为 Go 添加新的testing.F类型,在_test.go文件中支持FuzzFoo函数,并增加新的go命令行为。该提案的 Draft Design 已发布,并根据 Go 社区的反馈进行了迭代。下一步要做的工作是将提案实现为语言特性。 此项特性在 Go 1.17 中会被视为实[详细]
-
C++多线程基本概念及其创建线程的操作
所属栏目:[语言] 日期:2021-05-24 热度:113
副标题#e# 并发、进程、线程的基本概念 并发两个或者多个任务(独立的活动)同时发生(进行):一个程序通知执行多个独立的任务并发假象(不是真正的并发):单核CPU通过上下文切换方式实现进程 进程计算机中的程序关于某数据集合上的一次运行活动 进程特性 动态性[详细]
-
让你滔滔不绝的Java的泛型知识点梳理
所属栏目:[语言] 日期:2021-05-24 热度:188
副标题#e# 最近技术交流群里,有朋友问:Object和泛型T有啥区别。回答完问题,不禁在想,面试在即,还有那么多朋友不了泛型?是时候给大家整理一篇泛型相关的文章了,一篇文章全面搞定泛型,让大家再也不愁面试或实践中泛型相关的问题了。 什么是泛型 泛型是[详细]
-
Java高并发编程入门篇:AQS
所属栏目:[语言] 日期:2021-05-24 热度:138
曾经有一道比较比较经典的面试题你能够说说java的并发包下面有哪些常见的类?大多数人应该都可以说出 CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS)来实现的,所以学习三[详细]
-
FileOutputStream与FileInputStream的随机访问文件读写
所属栏目:[语言] 日期:2021-05-24 热度:186
副标题#e# 由于流是单向的,简单文件写可使用FileOutputStream,而读文件则使用FileInputStream。 任何数据输出到文件都是以字节为单位输出,包括图片、音频、视频。以图片为例,如果没有图片格式解析器,那么图片文件其实存储的就只是按某种格式存储的字节[详细]
-
用Python实现多Excel、多Sheet的合并处理的方法
所属栏目:[语言] 日期:2021-05-24 热度:179
1)如何选择要合并的Excel文件? 利用os,获取所有要合并的Excel文件。 2)如何选择要合并的Sheet? 利用xlrd库进行Excel读取,获取要合并的Sheet名。 3)如何合并? 利用pandas库,对所有Sheet名逐一循环打开,通过concat()进行数据追加合并即可。 4)如何保存文[详细]
-
Java中基础类型的包装类在拆箱和装箱过程中起到了什么用处
所属栏目:[语言] 日期:2021-05-24 热度:86
副标题#e# 下面通过一个简单的示例才重现一下异常出现的场景。 publicclassBoxTest{ publicstaticvoidmain(String[]args){ MapString,Objectresult=httpRequest(); longuserId=(Long)result.get(userId); } //模拟一个HTTP请求 privatestaticMapString,Obje[详细]
-
extends与super通配符的差异
所属栏目:[语言] 日期:2021-05-24 热度:122
副标题#e# 在定义泛型类型Generic的时候,也可以使用extends通配符来限定T的类型: publicclassGenericTextendsNumber{...} 现在,我们只能定义: GenericNumberp1=null; GenericIntegerp2=newGeneric(1,2); GenericDoublep3=null; 因为Number、Integer和Do[详细]
-
Java 泛型机制允许程序员在编译时检验到非法的类型
所属栏目:[语言] 日期:2021-05-24 热度:159
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 简单理解就是:泛型指定编译时的类型,减少运行时由于对象类型不匹配引发的异常。其主要用途是提高我们的代码的复用率。[详细]
-
Protobuf序列化这么强,为什么不花五分钟掌握一下呢?
所属栏目:[语言] 日期:2021-05-23 热度:136
一、为什么要使用protobuf? 使用protobuf的原因肯定是为了解决开发中的一些问题,那使用其他的序列化机制会出现什么问题呢? (1)java默认序列化机制:效率极低,而且还能不能跨语言之间共享数据。 (2)XML常用于与其他项目之间数据传输或者是共享数据,但是[详细]
-
自学Python需要多长时间从入门到掌握?
所属栏目:[语言] 日期:2021-05-23 热度:120
如果是自学,从零基础开始学习Python,依照每个人理解能力的不同,大致上需要半年到一年半左右的时间。如果有其它编程语言的经验,入门还是非常快的,大概需要2~3个月可以对上手Python语言编写一些简单的应用。 无论是新手还是有一定基础的朋友,建议找一[详细]
-
Java注解annotation的用途分析
所属栏目:[语言] 日期:2021-05-22 热度:93
今天在看以前写的代码,发现自己对注解的了解还不是非常透彻,经常选择性就忽视了对注解实现的探究,遂查询资料学习了一下。 注解是什么 实现格式 从代码来看我们知道注解的实现格式是: public@interfaceMyAnnotation{ 属性列表; } 所以我们有了第一直觉[详细]
-
如何构造一个死锁及处理方式
所属栏目:[语言] 日期:2021-05-22 热度:141
副标题#e# 很简单,只要让线程1占有对象a的锁后,再去请求对象b的锁。与此同时,对象2已经占有了对象b的锁,再请求对象a的锁。线程1与线程2互相等待,形成了死锁。(在面试中,也会被经常地要求手写死锁) 代码如下: packagecom.example.dl; importorg.sprin[详细]
-
Java 7以来增加得强大的新功能的示例
所属栏目:[语言] 日期:2021-05-22 热度:185
在Java 8中,功能编程和lambda被添加为语言功能。函数式编程的两个核心范例是不变的值和将函数提升为一等公民的方法。数据经过一系列修改步骤,其中每个步骤都需要一些输入并将其映射到新的输出。函数式编程可与Java中的Streams和null安全monad(可选)一起[详细]
-
java的乐观锁和悲观锁是如何实现的
所属栏目:[语言] 日期:2021-05-22 热度:86
java的锁有这么几类。 乐观锁和悲观锁 乐观锁就是JVM认为不通过加锁也能保证并发的正确性。典型实现是诸如AtomicInteger的实现。 悲观锁就是需要加锁互斥。典型实现是Synchronized(Synchronized属于乐观锁还是悲观锁其实跟具体实现有关,大部分场景下都是[详细]
-
Java8性能全面介绍意义深远
所属栏目:[语言] 日期:2021-05-22 热度:124
副标题#e# Java 8 已经发布很久了,很多报道表明 Java 8 是一次重大的版本升级,虽然我们的 JDK 环境也升级到1.8,但是在日常的开发过程中,使用最多的编程风格还是停留在 JDK1.7。 Java8 新增了非常多的特性,主要有以下几个: Lambda 表达式:Lambda 允许[详细]
