自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL学习笔记——常用指令

1. 库命令Show databases 显示数据库Create database 库名 创建数据库Drop database 库名 删除数据库Use 库名 使用数据库2. 表命令1.Show tables 显示当前数据库中的表2.Create table 表名 创建一个数据表(列名称1 数据类型 [约束]列名称2 数据类型 [约束]列名称3 数据类型

2020-06-27 16:26:14 102

原创 LINUX学习笔记——常用指令

一. 常用快捷键快捷键:CTRL+U剪切光标前的内容CTRL+K剪切光标后至行末的内容CTRL+Y 粘贴CTRL+A 光标移动到行首CTRL+E 光标移动到行末CTRL+F光标跳到下一个空格CTRL+B光标跳到上一个空格ALT+Backspace 删除前一个单词CTRL+W 剪切光标下一个单词Shift+insert 向终端内粘贴文本二. 高频指令ls 列出目录下所有文件与目录的名称使用格式:ls [-lah] 路径(默认相对路径,/开头为绝对路径,./开头为相对路径,…/为上

2020-06-20 21:16:32 251

原创 设计模式——面试常问的几种设计模式

1.工厂模式①简单工厂模式:简单工厂模式是由一个工厂对象根据收到的消息决定要创建哪一个类的对象实例,一般需要switch或if进行类型选择;工厂类创建的对象比较少,客户只需要传入工厂类参数,对于如何创建对象不关心;比如有一个手机工厂,可以加工出苹果手机和华为手机,客户给需求说要什么类型的手机,工厂就可以加工出那种型号的手机//工厂加工的一般是一类产品,因此不同的手机继承自一个基类Phoneclass Phone{public: Phone(){}; virtual void make()=0;

2020-08-31 16:09:00 803 1

原创 git使用入门

1.创建git init2. 加入工作区git add . //当前目前所有文件都加入工作区git add a.c //将某一文件加入工作区3. 提交版本git commit -m "版本描述" //将工作区内容更新到新版本中4. 版本切换git log //查看当前版本及之前的版本,版本回退后将丢失部分信息git log --graph //显示版本间的关联图,此参数同样适用下面的其他指令git reflog //查看完整的版本信息git reset hard H

2020-08-09 17:09:58 150

原创 HTTP状态码

1开头:信息状态码2开头:成功状态码3开头:重定向状态码4开头:客户端错误状态码5开头:服务端错误状态码状态码含义描述100继续初始请求已经接受,请客户端继续发送200成功表示服务器成功处理客户端请求201已创建服务器依照客户端请求成功创建新的资源202已接受服务器接受客户端请求但稍后处理204无内容服务器接受请求但不返回客户端请求的资源为空301永久移动请求的页面已永久跳转到新的url302临时移动服务器目前从

2020-07-09 17:12:32 160

原创 位运算技巧归纳

1. 位运算基本操作逻辑运算a = 1 0 0 1 1b = 1 1 0 0 1与运算 & a & b = 1 0 0 0 1 //都为1时为1,否则为0或运算 | a | b = 1 1 0 1 1 //都为0时为0,否则为1非运算 ~ ~ a = 0 1 1 0 0 //所有位1变成0,0变成1异或 ^ a ^ b = 0 1 0 1 0 //相同为0,不同为1移位操作:左移和右移对于左移,直接丢弃高位,低位补0即可;但是对于右

2020-07-09 14:56:53 180

原创 MySQL学习笔记——默认编码方式修改

1查看默认编码方式MariaDB [fund_data]> show create database test;+----------+---------------------------------------------------------------+| Database | Create Database |+----------+-----------------------------

2020-07-09 13:58:27 84

原创 虚拟内存技术——从起因到优化

随着应用程序的不断升级,其在电脑中所占的内存也急剧增大,但是计算机内存大小的增长速度难以跟上,为了能在有限的内存中运行尽可能多的程序,计算机科学家提出了各种内存管理技术来尽可能适应这种情况。一。覆盖技术覆盖技术目的是使得单个程序尽可能少的占用内存资源,要求程序员在代码中指定内存的使用与释放,对代码要求较高。其具体实现有点类似union结构体的功能,同一块内存实现分时复用,不过必须是没有相互调用关系的子程序段才能对同一块内存进行分时使用。缺点:对程序员要求太高,需要对程序进行合理的划分;二。交换技术

2020-07-01 16:50:17 209

原创 内存分配——分页&&分段

关于计算机内存分配,主要有两种:连续内存分配和非联系内存分配一.连续内存分配连续内存分配是指为一个程序分配地址连续的一段内存,当出现许多程序时,由于程序大小不一必然会出现许多的内存碎片,无法充分发挥出所有内存的价值,一般来说,连续内存分配主要有三种形式:①首次适配: 遍历内存,在第一个能够将程序放进去的地方进行内存分配②最佳适配: 需要统计所有可用内存,按大小排序,选择满足程序所需的最小的内存,容易产生很多细小的碎片③最差适配: 同样需要统计可用内存并排序,每次都给程序分配最大的内存,不断将大的

2020-07-01 15:26:40 782

原创 深入浅出谈智能指针

一. 智能指针介绍1.为什么需要智能指针在C++中,动态内存的管理是用一对运算符完成的:new和delete,分别用来申请动态内存和释放。动态内存管理经常会出现两种问题:一种是忘记释放内存,会造成内存泄漏;一种是尚有指针引用内存的情况下就释放了它,就会产生引用非法内存的指针。而为了更好的管理动态内存,不出现上面两种问题,C++引入了智能指针的概念。2.什么是智能指针智能指针,名字听起来很容易让人以为它是指针,实则不然。它其实是披着指针外壳的类,它可以看作RAII技术的一种应用。RAII全称是“Res

2020-06-30 21:41:30 191

原创 树的创建与遍历详解

由于昨天面试字节跳动时挂在树的中序迭代遍历上,痛定思痛将树的创建及遍历代码从头到尾仔细写了一遍,至于为什么要把树的创建加进来嘛,一方面有时候笔试要求处理输入时可能会涉及到这块,另一方面没有树也没法进行后续遍历效果的验证,以上!!!#include "pch.h"#include <iostream>#include"TreeNode.h"#include<vector>#include<queue>#include<stack>using nam

2020-06-30 17:41:29 460

原创 C++学习笔记——内存管理机制(堆/栈详解)

1.内存分区C++内存模型一共分为五个部分,每个区存储内容如下:栈:栈区由编译器自动分配和释放,用来存放局部变量、函数的参数值等。堆:通过new,malloc分配的内存块,需要程序控制其释放静态区:存放全局变量和静态变量,程序结束后由系统释放常量区:存储常量代码区:存放二进制代码2. 堆和栈的区别详解管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生内存泄漏空间大小:一般来讲在32位系统下,堆内存可以达到4G的空间,从这个角度来看堆

2020-06-29 21:14:23 235

原创 QT字符串格式转换

1. 字符串->数字常用函数汇总:int QString::toInt(bool *ok = Q_NULLPTR, int base = 10) constlong QString::toLong(bool *ok = Q_NULLPTR, int base = 10) constshort QString::toShort(bool *ok = Q_NULLPTR, int base = 10) constuint QString::toUInt(bool *ok = Q_NULLPTR,

2020-06-28 17:32:52 1075

原创 STL容器使用语法总结

STL容器主要有序列式容器和关联式容器以及一些衍生而来容器配接器序列式容器:vector、deque、list关联式容器:set、map常见配接器:stack、queue下面分别对其进行介绍一. vector1. 特点(1) 数组的升级版,可以动态管理内存。当容量不足时,会开辟一个新的空间,将数据拷贝过去,再释放原空间。(2) 当删除元素时,不会释放对应的空间,所以向量容器的容量(capacity)一般大于向量容器的大小(size);(3) 对于删除或插入操作,执行效率不高,越靠后插入或删

2020-06-27 20:28:03 194

原创 计算机网络学习笔记——常见协议

1. TCP/UDP协议1. 区别:① TCP提供面向连接的传输; UDP提供无连接的传输.② TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。③ TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组; UDP是面向数据报的传输,没有分组开销。④ TCP提供拥塞控制和流量控制机制; UDP不提供拥塞控制和流量控制机制。2. 应用:根据上述特点,TCP用途较广,广泛用于文件传输等方方面面,而UDP协议主要应用与实时性要求较高的场合,如直播、视频会议等。

2020-06-27 17:21:47 283

原创 MySQL学习笔记——事务与隔离级别

1.简单概念事务是一个不可分割的最小的工作单元,事务能够保证业务正确进行。mysql中默认开启事务(查看方式:select @@autocommit)默认开启事务:执行一条命令语句时,效果会立即体现出来,且无法回滚(rollback),下面介绍两种可以使用撤销的方法。取消默认开启事务(永久性):set autocommit=0; 执行指令后数据并没有提交,只是生成了一个临时表,需要手动提交(commit)才能生效。2.通过手动开启事务的方式使rollback生效(一次性)。首先输入begin

2020-06-27 16:18:22 137

原创 LINUX学习笔记——用户&用户组管理

一. 用户操作1. 添加用户常用语法:useradd 选项 用户名常用选项:-g 表示指定用户的主组,选项值可以是用户组的id,也可以是组名-G 表示指定用户的附加组,……-u 表示用户的uid(用户的标识符),系统默认从500后开始分配uid,如果不想使用系统分配的,可以通过此选项自定义。-c 指定一些注释-m 为其创建一个家目录默认创建用户时,会自动生成一个同名的组作为用户的主组,同时在home下生成该用户的家目录。2. 修改用户常用语法:uesrmod 选项 用户名常用选项:

2020-06-27 16:06:31 138

原创 LINUX学习笔记——VIM编辑器使用

1. 打开文件的四种方式:Vim 文件路径 (打开指定文件)Vim +数字 文件路径 (打开指定文件,并将光标移动到指定行)Vim +/关键词 文件路径 (打开指定文件,并高亮显示关键词)Vim 文件路径1 文件路径2 文件路径3 (打开多个文件)2. Vim的三种工作模式模式切换:从命令模式出发,输入英文的冒号进入末行模式,删除末行内容就退回命令模型从命令模式出发,按下i、a进入编辑模式,按下esc退回命令模式①命令模式:不能编辑,输入快捷键操作(删除行、复制行、移动光标、粘

2020-06-27 16:01:46 221

原创 LINUX学习笔记——gcc&&gdb

一.程序从代码到运行在使用IDE编程时,写完代码直接点击运行就输出结果了,中间过程由编译器自动完成,而使用gcc时有必要对其中过程有一些简单了解。一般来说,程序需要经过预处理、编译、汇编、链接四个步骤,下面就分别对这这个环节进行简单介绍。//一步完成编译链接过程,-o为指定生成的文件名,默认名为a.outgcc -E hello.c -o hello1. 预处理gcc -E hello.c -o hello.i//将hello.c预处理输出hello.i预处理过程做的工作主要有以下几点

2020-06-20 21:06:55 301

空空如也

空空如也

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

TA关注的人

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