自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 进程线程通信同步以及对应原型函数

进程通信和同步(进程的同步是在进程通信基础上使用的)进程通信(参考APUE)主要方式: 管道、信号、信号量、消息队列、共享内存、套接字管道又分为有名管道和无名管道,管道都是半双工的有名管道:任意进程之间的通信,有名管道就是FIFO,采用先进先出队列,只允许数据单向流动,linux |就是管道。无名管道:父子进程通信匿名管道 用于解决父子关系的,用fork来创建子进程。#incl...

2020-04-20 11:48:29 288 1

原创 虚拟地址空间分布

之前整理过,进程由操作系统分配4G的虚拟地址空间,虚拟地址空间有两部分,第一部分是用户空间,第二部分是内核空间。在linux下是按照1G内核空间和3G用户空间来分配的。从低地址到高地址:.text 是正文段,保存可执行代码、只读变量、字符串变量.data 是初始化数据段,保存静态变量全局变量。.bss 是未初始化数据段,保存未初始化的全局、静态变量.heap 是堆,用于程序员动态申请...

2020-04-13 16:46:45 263

原创 socket函数整理.

面试问题CS模型调用的具体函数大概说一下socket() bind() listen() accept() connect() #数据上 recv() send() closesocket()什么是socket将底层复杂的协议体系,执行流程,进行了封装,封装完的结果,就是一个SOCKET,也就是说,SOCKET是我们调用协议进行通信的操作接口创建socketSOCKCET ...

2020-04-13 16:33:28 176

原创 面试题:虚拟内存和物理内存关系

虚拟内存和物理内存的联系和区别对于32位的机器,每个进程都认为自己有4G的内存空间,但是实际上虚拟内存对于的物理内存可能只有一点。进程得到的4G的虚拟内存是连续的地址空间,但是实际上,它是被分割成多个物理内存碎片,还有一些部分存储在外部磁盘存储器中,需要的时候进行数据交换。进程访问一个地址可能会经历的过程:每次访问一个地址,首先要把地址翻译成实际的物理内存地址所有的进程共享一块物理内存...

2020-04-13 13:56:59 1038

原创 移动构造函数和复制构造函数

复制构造函数复制构造函数在之前整理过了class A{public: A(const A& rhs);//复制构造函数};复制构造函数常见的问题就是浅拷贝问题,因此会重写复制构造函数改为深拷贝。因此就出现了一个问题,在很多情况下我们只需要创建一个临时变量,或者只是一个函数调用的返回值;这时候用复制构造函数就会占用很多空间,如果对象占用的堆空间非常大,那么复制构造函数...

2020-04-08 22:30:53 406

转载 k8s基础概念--面试问题

什么是k8s首先,他是一个全新的基于容器技术的分布式架构领先方案。Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。这个还是不整理了,没用过也没心思去看了。参考博客:https://blog.csdn.net/weix...

2020-04-06 12:21:46 276

转载 面试题:用memcmp比较结构体是否可行

比较两个结构体时, 若结构体中含有大量的成员变量, 为了方便, 程序员往往会直接使用memcmp对这两个结构体进行比较, 以避免对每个成员进行分别比较。 这样的代码写起来比较简单, 然而却很可能深藏隐患。 请看下面的示例代码:#include <stdio.h>#include <stdlib.h>#include <string.h>typedef s...

2020-04-05 17:45:09 974

原创 主机字节序 网络字节序

主机字节序又叫CPU字节序,分为大端和小端大端字节序,就是高字节序的存在低位地址,低字节序存在高位地址小端字节序,就是高字节序存在高位地址,低字节序存在低位地址例子:0x12是高位字节,大端会放在低地址上如0x00可以看出数据的高位是越前面越高,内存地址的高位是越后面越高。数据0x12345678 高字节->低字节内存地址 0x00 0x01 0x02 0x03 低地址-&...

2020-04-05 17:21:07 299

原创 arm架构和x86架构有什么区别,指令集

区别一、性能 X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU随便就是1G以上、双核、四核大行其道,通常使用45nm(甚至更高级)制程的工艺进行生产;而ARM方面:CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用不到65nm制程的工艺,可以说在性能和生产工艺方面ARM根本不是X86结构系统的对手。但ARM的优势不在于性能强大而在于效率,...

2020-04-05 11:02:58 3958

原创 RPC简单理解

昨天面搜狗的时候问了RPC和gRPC,之前都没听过,现场一度十分尴尬.可能是项目里用到了zmq的东西,面试官就顺口问了。 今天整理下RPC的基本概念,做个记录。RPCRPC是 Remote Procedure Call Protocol 的简写,中文描述是远程过程调用,它可以实现客户端像调用本地服务(方法)一样调用服务器的服务(方法)。RPC 可以基于 TCP/UDP,也可以基于 HTTP 协...

2020-04-04 23:29:50 317

原创 python实现linux监控系统资源

系统进程信息都在/proc下Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc 虚拟文件系统实现的。/proc 文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/proc”),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(on the fly)改变设置(通过改变...

2020-04-04 22:06:24 308

原创 python和c++的区别以及python回收机制

语言类型python是一种基于解释器的语言,解释器会逐行读取代码;首先将python编译成字节码,然后由C程序解释.C++是一种编译语言,在其他章节里写过,整个过程是编译器编译代码成汇编语言,汇编语言由汇编器生成机器码,之后还要经过链接器载入文件\库等指令生成可执行代码,最后装载器将可执行代码和数据载入内存,CPU读取内存执行.内存管理python由自动垃圾收集器进行内存管理.c...

2020-04-04 21:16:27 248

原创 Docker基本概念和面试常见问题

Docker基本概念由于不同机器不同的操作系统上,不同的库和不同的组件,如果要将一个应用部署到多台机器上就需要有大量的环境配置的操作。而且配环境是非常麻烦的事情,不同的系统下库版本可能不同或者有的机器是物理断网的很多环境配置上就很麻烦。Docker主要解决了环境配置的问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主的操作系统和其他隔离进程。Docker和虚拟机的比较虚拟机也...

2020-04-04 02:35:23 970

原创 程序装载及静态动态链接

程序装载程序执行的过程是 编译-汇编-链接成可执行文件–通过装载器把可以执行文件装载到内存中,cpu从内存中读取装载器装入的指令和数据。装载器把指令和数据装载到内存需要满足两个要求:可执行程序加载后占用的内存空间是连续的。执行指令的时候是一条一条指令的执行不能让程序自身决定他在内存中加载的位置,因为如果有很多程序执行的话,那么程序本身不知道那个内存地址是否已经被占用了。为了满足这些条件...

2020-04-04 00:04:03 175

原创 windows和linux运行程序的区别

本文摘自牛客:https://www.nowcoder.com/discuss/224797?type=post&order=time&pos=&page=0为什么同一个程序,在同一台计算机上,在Linux下可以运行,而在Windows下却不行呢?反过来,Windows上的程序在Linux上也是一样不能执行的1编译、链接和装载:拆解程序执行一个程序执行的过程是什...

2020-04-03 23:48:09 1322

原创 计算机组成原理1

1 概览完好的程序都满足以下特征自动运行我们的程序和指令都是一条条顺序执行,不需要通过键盘或者网络给这个程序任何输入正常运行没有遇到计算溢出之类的程序错误。不过,现实的软件世界可没有这么简单程序不仅是简单的执行指令,更多的还需要和外部的输入输出打交道程序在执行过程中,还会遇到各种异常情况,比如除以0、 溢出,甚至我们自己也可以让程序抛出异常。遇到这些情况,计算机是怎么运转的呢,也...

2020-04-03 20:41:12 141

原创 面试常见问题,c++11新特性

新特性auto关键字,编译器根据上下文情况确定auto的真正类型decltype ,有点类似于auto的反函数,能够获取变量类型 int a=1; decltype(a) b=a;nullptr ,空指针,为了解决原来C++中NULL的二义性问题而引进的一种新的类型,因为NULL实际上代表的是0void F(int a){ cout<<a<<endl;}v...

2020-04-03 16:40:10 2236

原创 线程、进程和协程区别联系

进程每个进程都有自己独立的地址空间,有自己的堆;还有进程状态的转换(就绪状态、运行状态、等待状态)。操作系统是以进程为单位分配系统资源的,如cpu、内存啊,进程是资源分配的最小单位。线程线程是轻量级进程,是操作系统调度(CPU调度)的最小单位。线程的状态:新建---->就绪<----->运行<----->死亡在运行状态中又细分为,等待阻塞、同步阻塞、其他...

2020-04-03 12:17:45 140

原创 shell常见问题

常见的命令:less less 文件名,q退出;可以查看文件内容 和cat -A filename很像cat cat 文件名,打印文件内容,可以打开多个文件 cat file1 file2grep -参数 文件名-i 不区分大小写...

2020-04-03 03:11:15 274

原创 vector、list、map常见问题以及实现原理

vector和list区别从底层实现来说,vector是通过数组实现的,存储空间上是一段连续的存储空间;list是通过双向链表实现的,把不连续的内存块通过链表的方式连接在一起。从插入删除时间复杂度来说,vector是随机访问的O(1),但是插入和删除需要移动元素O(n)。 list不支持随机访问,需要遍历链表来查询O(n), 但是插入和删除效率就很高。vector空间扩大,stl中的源码可...

2020-04-02 14:18:54 1705

原创 c++构造函数,虚函数等面试问题

概念先说下c++中的类的特性:封装、继承、多态封装:将数据和操作数据的函数绑定在一起,同时能设置访问权限,比如类中的所有成员变量都是私有的,这就是封装的意义。继承:继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行时间的效果。多态:多态的方式有两种多态多态分为静态多态(函数重载)和动态多态(函数重写(覆盖、虚函数))静...

2020-04-02 03:12:18 214

原创 new和malloc的区别--面试问题及其延伸

参考博客:https://blog.csdn.net/zhong29/article/details/80930919malloc的实现方式malloc函数将内存空间中可用的内存块连接成一个很长的空闲链表。当调用malloc函数的时候,就会在链表中进行遍历,直到找到满足用户申请空间大小的内存块,然后就从链表中把这段内存拿出来分配给用户,剩下的接回原空闲链表。如果无法获取符合大小的内存块的时候,...

2020-04-01 21:59:04 159

原创 面经4

Effective C++尽量用编译器替换预处理器,如const\enum\inline替代#define2.尽量使用const3.编译器会默默为类创建默认构造函数,copy构造函数(A a; A b=a;这里就用到了copy构造函数),copy assignment操作符,析构函数)4.如果不想用编译器生成的函数,应该明确拒绝,把不想使用的成员函数声明为private并不予实现5.为...

2020-03-31 21:47:31 134

原创 面经3

decltype有点类似于auto,但是比auto的区别在于,1.它是用来获取一个变量的类型然后就可以去定义其他变量了。int tmp1=2;decltype(tmp1) tmp2;//此时tmp2就是int类型decltype(getSize()) tmp3;//此时tmp3也是int类型,因为decltype只分析其返回值是什么或者其变量类型是什么,并不考虑其是否真正有值。2.a...

2020-03-31 21:46:52 140

原创 面经2

const作用修饰变量说明是不可修改的修饰指针-指向常量的指针和指针常量常量引用,常作为形参,可以避免被函数修改//在类中class A{ private: const int a; //常量成员,只能在类初始化的时候被赋值 public: A():a(0){}; A(int x):a(x){}; ...

2020-03-31 21:46:14 152

原创 面经问题整理1

CDNCDN:内容分配网络,任何内容都可以通过CDN进行加速;CDN概念:CDN是在现有internet上增加的新的一种网络架构,好处是用户可以在最近的节点上访问到所需要的内容,加快了网站响应的速度。那么是如何做到的呢:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-snoCKiWF-1585662254322)(en-resource://database/...

2020-03-31 21:45:11 148

原创 论文笔记 Unsupervised Extraction of Video Highlights Via Robust Recurrent Auto-encoders

本文提出了一个视频精彩片段检测算法之前的精彩视频剪辑的方法常用的是处于监督学习或者启发式规则下,本文采用的无监督学习的方法,同时也借助到Youtube上各种各样的用户剪辑过的视频用于训练,同时作者考虑到在用户剪辑过的视频中,精彩部分出现的频率和时长肯定会大于不是那么精彩部分出现的时长。视频的highlights存在着三个巨大的挑战,第一个是尽管大部分人对于highlight有着相同的概念但...

2019-02-28 20:28:22 695

转载 [转发] [ECCV18-行为识别论文笔记] 多纤维网络

原文:https://zhuanlan.zhihu.com/p/46804541代码:https://github.com/cypw/PyTorch-MFNet行为识别/视频分类 是视频理解领域的重要方向。之前该方向的深度学习方法大致可以分为两个大类:一类是双流网络,即以rgb图像和光流图像作为2D网络两个分支的输入,再在网络的某处进行融合,典型的如TSN;另一类则是将多帧RGB图像看做是...

2019-02-26 15:31:15 450

转载 Non-negative Matrix Factorization 非负矩阵分解

Non-negative Matrix Factorization 非负矩阵分解Introduction定义  非负矩阵分解(non-negative matrix factorization),或非负矩阵近似(non-negative matrix approximation),是多变量分析和线性代数的算法。给定非负矩阵,求两个非负矩阵和,使得。起源  著名的科学杂志《Nat...

2019-02-25 16:50:20 4026

原创 OpenCV学习笔记2

1. 图像腐蚀与膨胀    这两个操作都是形态学的变化,将图像与任意的卷积核进行卷积,通常我们使用的卷积核为正方形或者圆形。    同时在内核中我们也要设置一个锚点,一般为内核的中心点。    进行腐蚀操作时,将内核  划过图像,将内核  覆盖区域的最小相素值提取,并代替锚点位置的相素。    进行膨胀操作时,将内核  划过图像,将内核  覆盖区域的最大相素值提取,并代替锚点位置的相素。显然,这一...

2018-03-27 11:00:14 186

原创 OpenCV3入门学习1--vs2013+opencv320

1.配置系统环境变量    在计算机高级系统属性-&gt;高级-&gt;环境变量中的系统变量的Path中加入即对应x64表示我用的是我的电脑是64位的系统,同时我用的编译器也是64位的。2. 工程的配置(添加固定文件能一劳永逸)    首先我们新建一个空白的控制台项目,在菜单栏的视图中找到属性管理器在属性管理器中,右键Debug|Win32,添加一个新的项目属性表可以命名为OpenCV_Debug...

2018-03-27 10:15:58 416

原创 Fundamentals of Image and Video Processing--week2-1

1. 2D and 3D Discrete Signals    1.1 2D        在2D平面上用表示一个图片上的任意一点。        当在彩色图上表示一个点时,x(n1,n2)就变成了一个向量,这个向量包含在RGB三个图上对应的点。        当在video上表示点时,就要用x(n1,n2,n3)来表示每一帧图片上的对应点。    1.2 Discrete Unit Impul...

2018-03-27 09:44:34 250

原创 Fundamentals of Image and Video Processing-first week

Introduction to Image and Video Processing1. Analog v.s. Digital Signals 1.1 Signals        A function containing information about the behavior or nature of some phenomenon of interest. 1.2 Analog to...

2018-03-23 16:21:44 316

原创 数字图像和视频处理基础学习第一部分笔记

1.The Pinhole Camera在针孔相机模型中,x,y代表着投影在某个平面的位置,而z表示光轴即图像距离相机/小孔的距离。因此,我们的目标就是根据实际物体的x,y,z计算出相机投影平面上物体的x,y;用公式表示就是x=-fX/Z, y=-fY/Z.2.Parallel lines converge to a vanishing point在3-D模型中原本平行的线条在2-D平面上会交汇到...

2018-03-23 14:50:00 391

Computer Vision Algorithms and Applications

Computer Vision Algorithms and Applications Computer Vision Algorithms and Applications

2018-04-15

空空如也

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

TA关注的人

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