自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 问答 (1)
  • 收藏
  • 关注

原创 子网卡的配置

子网卡的配置(一个网卡配置多个ip地址)勤做笔记:想给ens224网卡再配1个同网段的ip:1)进入网卡配置文件所在目录cd /etc/sysconfig/network-scripts/,先把当前网卡配置拷贝一份,修改下ip;2)重启网络服务,ip a检查下;即可看到已经配置好了3)ifconfig再确认下...

2021-05-10 20:11:38 414

原创 window平台上的mysql(5.6.35)安装和navicat(10.0.11)安装

window平台上的mysql(5.6.35)安装和navicat(10.0.11)安装 准备:1、window电脑,我的是64位的2、mysql的压缩包mysql-5.6.35-winx64.zip 3、navicat的压缩包,我的版本是10.0.11 mysql的安装1、解压,把解压过后的文件夹放到你想放置的任何一个地方,我这里放在F盘,是:D:\mysql-5.6.35-winx6

2017-03-26 16:42:55 1361

原创 git学习之路3

自定义Git: 让Git显示颜色,会让命令输出看起来更醒目:git config –global color.ui true 忽略某些文件时,需要编写.gitignore; .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理! 在Git工作区的根目录下创建一个特殊的.gitignore文件, 然后把要忽略的文件名填进去,提交到git,Git就会自动忽略这些

2017-03-23 11:58:26 257

原创 github学习之路2

分支管理: 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码, 如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。 如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。 现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到, 还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交, 直到开发完毕后,再一次性合并到

2017-03-23 11:55:38 310

原创 git学习之路

Git的官方网站:http://git-scm.com windows下安装之后进行配置: git config –global user.name “name” git config –global user.email “[email protected]” git只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等. 选择一个合适的路径,创建一个空目录learngit,初

2017-03-23 11:41:03 309 1

原创 JAVA环境的搭建

jdk下载链接(Oracle官网):http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmljdk下载安装之后环境变量的搭建: jdk安装完成之后就可以在你电脑的dos窗口输入命令行 java 和 javac,若出现如下,则表示安装成功 eclpise下载链接: 选择自己需

2016-12-23 22:15:17 258

原创 单例模式-Singleton

单例模式是一种常用的软件设计模式。通过单例模式可以保证系统中一个类只有一个实例.并提供一个访问它的全局访问点。单例模式的动机: 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进

2016-10-07 17:46:50 371

原创 数据库表的查询

数据库的查询:/选择查询结果输出列/*1.表示选择一个表或视图中的所有列SELECT *FROM STUDWHERE 专业='计算机'2.选择一个表中的指定列SELECT 学号,姓名,总学分FROM STUDWHERE 专业='计算机'3.定义列别名SELECT 学号 AS number,姓名 AS nameFROM STUDWHERE 专业='计算机'或者SELECT 学号=num

2016-10-06 19:19:18 4136 2

原创 数据库和表的增删改

对数据库的操作:创建,修改,删除,快照 1.创建数据库(CREATE DATABASE)CREATE DATABASE TEST1ONPRIMARY( NAME='TEST_DATA1', FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_DATA1.mdf', SIZE=20MB, MAXSIZE=

2016-10-06 12:06:34 442

转载 extern"C"用法

extern “c”用法解析引言 C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。 extern “C”的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern “C”后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C

2016-10-05 15:13:21 316

原创 计算机网络知识总结

网络协议(完成数据交换所定义的规则): 1)语法。数据与控制信息的格式 2)语义。需要发出何种信息和完成何种动作和响应 3)同步。时间实现顺序的详细说明网络的体系结构: tcp/ip四层结构:网络接口层,网际层,运输层,应用层 osi的七层结构:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 五层协议:物理层,数据链路层,网络层,传输层,应用层五层协议的基本知识点: 物理层

2016-10-05 11:23:23 3032

转载 正则表达式基本语法

1.正则表达式基本语法两个特殊的符号’^’和’$’。他们的作用是分别指出一个字符串的开始和结束。例子如下:“^The”:表示所有以”The”开始的字符串(”There”,”The cat”等); “of despair”:表示所以以”ofdespair”结尾的字符串;“abc”:表示所以以”of despair”结尾的字符串; “^abc”:表示开始和结尾都是”abc”的字符串——呵呵,只有”

2016-10-01 17:59:02 399

转载 C语言的内存管理

昨天面试百度,被问到,感觉题目好大,不知从何说起,可能提前没复习,导致答得不是很满意。现总结如下:C语言内存管理    1、内存分配方式  内存分配方式有三种:  (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。  (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自

2016-09-20 17:14:55 289

原创 堆排序

堆分为大根堆(双亲节点大于孩子节点)和小根堆(双亲节点小于孩子节点)一般用数组来表示堆。当一个节点的下标为i时,它的左右孩子下标为2*i+1,2*i+2由于我将进行从小到大的排序,因此我将使用的是大根堆。 此处我所将要进行的堆排序思路大致如下: 1)假设待排序数据元素有n个,那么我们就从n/2-1下标处开始倒着进行进行调整 2)当我们进行了n/2logn次调整之后,此时最大的值就在堆顶,交换堆

2016-09-02 17:10:22 330

原创 Libevent初探

Libevent简介libevent是一个开源高性能网络库,主要有以下几个亮点:事件驱动,高性能;轻量级,专注于网络;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。Libevent 已经被广泛的应用,作为底层

2016-08-29 13:30:56 377

原创 MYSQL技术内幕(二)

1.InnoDB体系结构 主线程: 2.InnoDB关键特性 1)插入缓冲区 2)两次写入 3)哈希自适应索引 3.InnoDB内存结构

2016-08-28 18:17:30 654

原创 N皇后问题---回溯法

//n皇后 回溯法 这里是将以为数组x模拟为二维数组,这里的列不会重复,只需要判定行和对角线是否会重复class Queen{ friend int Nqueen(int n);//该类的友元函数private: bool Place(int k)//x[m]=n表示从第m列的从上往下数第n个元素,这个很重要,将一维的变为二维 { for (in

2016-08-11 16:59:36 638

原创 数组元素全排列(递归版本)

#include<iostream>using namespace std;void Perm(int *arr,int k,int m){ if(arr == NULL) return; else if( k == m) { for(int i=0;i<=m,++i) { cout<<arr[i]<<" "; }

2016-08-10 19:25:41 325

原创 MySQL技术内幕(一)

1.MySQL是一种可移植的数据库,可在多种平台下使用,如Linux,Solaris,FreeBsd,Mac,Windows2.数据库和数据库实例的区别 数据库是指物理上存储的文件的集合 数据库实例是由后台的线程/进程和共享内存区组成,操纵数据库文件。3.MySQL区别于其他数据库的最重要的特性是插件式的表存储引擎。存储引擎是基于表的,而非数据库。 4.MySQL的体系结构是单进程

2016-08-06 16:34:00 916

原创 异常处理

throw:自己无法处理的异常抛出try:把可能抛出异常的代码括起来catch:处理异常面向对象角度:处理完异常,程序可以继续执行,并使得所有的异常可以集中处理异常的栈展开:即就是栈上的子函数有异常抛出时,先在子函数中找是否有相应的catch,如果没有,就逐层往下找,直到找到主函数也没有相应的catch话,那么异常将会被抛给系统,系统会调用terminate函数的abort函数,终止程序。如果找到c

2016-07-11 22:16:29 322

原创 MYSQL运算符

MYSQL运算符算术运算符 1.除法运算和求余运算中,x2不能为0或者NULL,否则运算结果为空。在进行算术运算时,应注x2参数值的合法性。 eg: 比较运算符(看是否符合条件) 1.运算符‘=’ 用来判断数字,字符串,表达式等是否相等,相等返回1,不相等返回0,不能用与对NULL值的判断。 当用来判断两个字符时,是根据字符的ascll码。 eg:

2016-07-09 18:20:07 600

原创 MYSQL----对表中数据进行插入,更新,删除

插入数据 1.为表的所有字段插入数据1)不指定具体字段名insert into 表名 values (值1,值2,……值n),每个值对应表中字段,值的类型要和字段数据类型相符eg: insert into employee values(001,huan,xian);2)列出表中所有字段,进行数据插入。(可以随意设置字段顺序) insert into 表名(字段1,字段2,……,

2016-07-08 21:04:44 703

原创 归并排序

#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>void Show(int *arr,int len){ for (int i = 0; i < len; i++) { printf("%d ", arr[i]); } printf("\n");}v

2016-07-07 20:35:05 380

原创 快速排序

#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>//count用来记录次数int count1 = 0;int count2 = 0;int count3 = 0;void Show(int *arr,int len){ for (int i = 0; i < len; i++)

2016-07-07 14:18:18 396

原创 插入排序,希尔排序

#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>//count用来记录次数int count1 = 0;int count2 = 0;int count3 = 0;void Show(int *arr,int len){ for (int i = 0; i < len; i++)

2016-07-06 22:45:09 279

原创 简单排序(冒泡(改进),交换排序,选择排序)

#include <stdio.h>#include <stdlib.h>#include<assert.h>#include<time.h>//count用来记录次数int count1 = 0;int count2 = 0;int count3 = 0;int count4 = 0;void Show(int *arr,int len){ for (int i = 0;

2016-07-04 23:02:34 508

原创 MYSQL-----数据查询(续)

3.使用集合函数查询。经常和group by连用1)sum() 字段值的总和sum只能进行数值类型的计算,int,float,double,decimal类型等,如果计算字符类型字段时,结果均为0. eg:select num ,sum(score) from grade where num=’1001’;//学号为1001学生的总成绩2)avg() 字段值的平均值eg:select num

2016-07-01 20:25:25 507

原创 MYSQL---查询数据

查询数据1.基本查询语句 select 属性列表 from 表名和视图列表 [where 条件表达式1] [group by 属性名1[having 条件表达式2]] [order by 属性名2[ASC|DESC]] where子句表示按指定条件查询;没有的话就查询所有记录。 group by是按照属性名指定的字段进行分组,如果有having关键字,则只输出符合条件表达式2的信息。

2016-06-30 23:12:45 667

原创 MYSQL-----触发器

触发器触发器是由 INSERT,UPSET,DELETE等事件来触发某种特定操作。 满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样可以保证操作的一致性。 example: 当学生表中新增了一个学生的信息时,学生人数的总数也应该增加,因此我们可以在这里设置一个触发器,当增加一个记录时,执行一次计算人数的操作.创建触发器1)创建只有一个执行语句的触发器 create

2016-06-28 17:32:21 612

原创 MYSQL-----视图

视图 视图是从一个或者多个表中导出来的表,是一种虚拟存在的表,视图就像一个窗口,通过这个窗口可以看到对自己有用的数据。使用户的操作更方便,保证了数据库的安全性。视图依赖原来表中的数据,一但之前表中的数据发生改变,显示在视图中的数据也会发生变化。如果需要经常从多个表中查询指定字段的信息,通过视图可以显示这些字段的数据。1.创建视图 创建视图是在数据库的表上创建视图,视图可以创建在一张表上也可

2016-06-28 12:04:01 607

原创 MYSQL-----索引

索引 (索引是对表上一列或者多列进行排序的结构,提高对表中数据的查询速度,不同存储引擎所支持的索引数不同,至少支持16个索引,索引长度256字节,索引有两种存储类型,Btree和hash,一般默认为btree)索引的优点是对于那些有依赖关系的父表和子表在进行联合查询的时候,会提高查询速度。缺点是创建和维护需要耗费时间。耗费时间的数量随数据量的增加而增加。索引需要占用一定的物理空间。在对数据进行增删改

2016-06-26 20:18:14 455

原创 MYSQL---数据库中表的操作

在数据库中创建表1.首先选中一个数据库 use example;//example为数据库名2.创建表: create table example0(id int,name varchar(20),sex boolean);//example0为表名 属性之间用逗号分隔开在创建表的同时考虑完整性约束条件 主键用来标识唯一记录,表中主键值互不相同1)设置表的单字段主键 create tabl

2016-06-25 12:02:51 892

原创 MYSQL-----数据库的操作及存储引擎的选择

下面说到的mysql数据库的操作都是在linux环境下,由于时间有限,就不截图上传,大家可以在自己Linux系统下进行操作。(前提保证你的linux平台安装了mysql数据库)1.数据库的操作: 1)登陆数据库 在root用户下,service mysqld start启动数据库,键入mysql即可进入。出现mysql>即成功2)创建数据库

2016-06-25 11:47:25 506

原创 STL中部分函数的实现

1.迭代器 普通迭代器: const Container::iterator it = con.begin(); int *const p; 常量迭代器:只能读不能修改 调用*元运算符重载,返回值为const 1)正向迭代器 Container::const_iterator it; begin() end() 2)逆向迭代器 Container::const_rev

2016-06-22 22:42:10 455

原创 STL的应用

#include <iostream>#include <deque>#include <list>#include <vector>#include<iterator>#include<fstream>#include <functional>#include <algorithm>using namespace std;template<typename Container >

2016-06-20 18:15:02 385

原创 智能指针---shared_ptr和weak_ptr

智能指针主要解决被多个对象引用时,资源如何释放的问题。下面介绍一下boost库中的shared_ptr和weak_ptr:Shared_ptr:当进行拷贝和赋值操作时, shared_ptr所指向的对象的引用计数都会增加,一旦变为0,就会自动释放自己管理的对象。(shared_ptr所指向的对象有一个被释放时,引用计数就会减1)Weak_ptr: weak_ptr是一种不控制所指向对象生存周期的智能

2016-06-20 11:46:13 1311

原创 STL库

近容器:char buff[1024] string bitset(操纵位) Vector自定义类型实例化 ——- T()伪构造 Vector内置类型实例化 ——– 0 Vector和deque区别: 搜索和中间插入时用vector 在头部插入用deque,vector成倍增长,可能会造成空间浪费。 Vector只有push_back ()和

2016-06-19 22:58:40 401

原创 关于操作系统的几个常被问的问题

在32位x86体系 32位linux内核下1.地址映射由谁来完成? 内核(GDT LDT PD PT)-硬件(MMU) MMU完成从线性地址到物理地址的映射 2.为什么说32位的Linux 的逻辑地址和虚拟地址是一样的? 逻辑地址 + 段基址 = 虚拟地址 如果一样的话,那就说明基地址为0.那么为什么基地址会为0?原因是在进行地址映射的时候,分页的效率明显高于分段,但是由于继承

2016-06-18 21:52:20 676

原创 多重继承

多重继承:一个派生类多次继承同一个基类为解决成员重叠问题,派生类有基类的多份数据,引入虚基类,虚继承。所有从基类直接继承的类采用虚继承方式大家可以找下这个图和上图的区别哦:虚基类:当基类被继承时,在基类的继承方式前加上关键字virtual,被虚继承的类是虚基类(Base). 继承了虚基类的类对象中有一个虚基类指针:vbptrvbptr到虚基类数据成员的偏移量一般说32或64位下字节大小不同是与编译

2016-06-13 22:02:30 435

原创 迭代器

//迭代器的编写Cstring 嵌套类(访问私有成员) 类似普通指针 遍历容器includeincludeusing namespace std;class Cstring { public: Cstring(char *p=NULL)//构造函数 带一个参数或不带参数的构造 { if (p != NULL) {

2016-06-12 23:28:54 340

空空如也

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

TA关注的人

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