自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++对象模型

C++在布局及存取时间上主要额外负担是由virtual引起的,包括virtual function机制,支持运行期绑定(runtime binding) virtual base class,实现“多次出现在继承体系中的base class,有一个单一而被共享的实例”C++的两种成员变量:static和nonstatic;三种成员函数:static,nonstatic和virtualC++的对象模型中,Nonstatic data members放置于每一个class object内,stati

2022-03-19 09:19:49 102

原创 Linux与操作系统知识总结

常用命令ls -a列出目录所有文件,包括以.开始的隐藏文件ls -r 反序排列ls -s以文件大小排序cd ~进入home目录cd -进入上一次目录pwd查看当前路径mkdir t 在当前工作目录创建文件夹trm 删除文件夹或文件rm -rf test删除test子目录及其文件rmdir从一个目录中删除一个或多个子目录mv移动文件或重命名文件,根据第二参数类型决定,若为目录则移动文件,若为文件名则重命名mv test.log test1.txt 将test.

2022-03-09 21:53:53 186

原创 SVD加速神经网络

根据ip1和ip2的num_output,我们可以看出,ip1有64个神经元,ip2有10个神经元。也就是说在ip2这一层的权重矩阵W,其shape为(10, 64),根据SVD公式:分解之后,得到U矩阵的shape为(10, 10),V矩阵的(64, 64),s为10个奇异值组成的向量。对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用.

2022-02-24 00:05:03 924

原创 面试基础总结-操作系统、计算机网络、数据库

操作系统1.进程、线程和协程的区别和联系 进程 线程 协程 定义 资源分配和拥有的基本单位 程序执行的基本单位 用户态的轻量级线程,线程内部调度的基本单位 切换情况 进程CPU环境(栈、寄存器、页表和文件句柄等)的保存与新调度的进程CPU环境的设置 保存和设置程序计数器、少量寄存器和栈的内容 先将寄存器上下文和栈保存,等切换回来的时候再进行恢复 切换者 操作系统 操作系统 用户 切换过程 用户态-》内核态-

2022-02-06 19:36:40 731

原创 C++查漏补缺

函数调用有时空开销,执行函数前要将实参、局部变量、返回地址及若干寄存器压入栈中,再执行函数体中的代码,函数执行完还要清理现场,将之前压入栈中的数据出栈。在编译时将函数调用处用函数体替换,类似C中的宏展开,内联函数。缺点是编译后的程序存在多份相同的函数拷贝,使函数体积增大。内联函数替换带参数的宏,内联函数可定义在头文件,并且头文件多次引用也不会引发重复定义错误。内联函数在编译时会将函数调用处用函数体替换,编译完成后函数就不存在了,所以链接时不会引发重复定义错误。和宏很像,宏在预处理时被展开,编译时不存

2022-01-25 23:30:12 330

原创 Linux内核设计与实现

三.进程管理3.2 进程描述符及任务结构内核把进程的列表存放在叫做任务队列(task list)的双向循环链表中。链表中的每一项都是类型为task_struct、称为进程描述符(process descriptor)的结构,它包含一个具体进程的所有信息。内核通过一个唯一的进程标识符(process identification value)或PID来标识每个进程。PID实际是个int类型,最大值默认设置为32768(short int的最大值)。内核把每个进程的PID存在它们各自的进程描述符中。

2022-01-12 19:28:13 186

原创 Linux下C++开发

一.开发环境搭建1.1 安装IDE VSCodeVMware虚拟机种ubuntu 20系统。打开terminal:输入: sudo snap install code --classic 安装VSCode。1.2 安装编译工具gcc 安装步骤:打开terminal;输入:sudo apt install gcc。sudo apt install gccg++ 安装步骤:打开terminal;输入:sudo apt install g++。cmake 安装步骤:打开termin

2022-01-09 23:07:52 1172

原创 C++面试-数据库

1.数据存储引擎:InnoDB、myISAM、Memory数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。如果要提供提交、回滚、崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存到内存中的Memory引擎,MySQL中使用该引擎作为临时表,存

2021-12-16 23:19:23 1488

原创 C++面试知识总结-网络编程

目录1.IO多路复用1.1基础概念1.1.1用户空间和内核空间1.1.2 进程切换1.1.3 进程阻塞1.1.4 文件描述符1.1.5 缓存I/O1.2 IO多路复用1.2.1 同步阻塞(BIO)1.2.2 异步阻塞(NIO)1.2.3 IO多路复用的三种体现:select,poll,epoll1.2.3.1 select1.2.3.3 poll1.2.3.4 epollnginx/redis 所使用的IO模型是什么?Nginx的IO模型

2021-12-16 21:59:22 210

原创 C++面试知识-计算机网络

1.OSI7层模型:应用层、表示层、会话层、运输层、网络层、链路层、物理层2.TCP/IP四层网络模型应用层、运输层、网络层、接口层3.OSI和TCP/IP模型综合5层模型:应用层、运输层、网络层、链路层、物理层4.MTUMaximum Transmission Unit,缩写MTU,中文名是:最大传输单元。MTU是数据链路层的概念。MTU限制的是数据链路层的payload,也就是上层协议的大小,例如IP,ICMP等。假设把笔记本的MTU最大值设置成了1700,然后发送了

2021-12-16 21:11:33 1276

原创 C++面试知识总结-操作系统

1.进程和线程的区别进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。进程(线程+内存+文件/网络句柄):这里的内存是逻辑内存,指的是内存的寻址空间,每个进程的内存是相互独立的。网络/文件句柄是所有进程共有的。线程(栈+PC+TLS)栈:我们通常都是说调用堆栈就是调用栈的意思。我们从主线程的入口main函数,会不断的进行函数调用,每次调用

2021-12-13 19:35:25 1435

原创 C++面试知识总结-C++基础知识

一.C++基础1.移动构造函数和拷贝构造函数的区别C++11之前,对象的拷贝控制由三个函数决定:拷贝构造函数(Copy Constructor)、拷贝赋值运算符(Copy Assignment operator)和析构函数(Destructor)。C++11之后,新增加了两个函数:移动构造函数(Move Constructor)和移动赋值运算符(Move Assignment opera)。构造函数在创建或初始化对象的时候调用,而赋值运算符在更新一个对象的值时调用。移动语义,指的就是以移动而非深

2021-12-12 16:06:41 742

空空如也

空空如也

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

TA关注的人

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