- 博客(24)
- 资源 (2)
- 收藏
- 关注
转载 MySQL索引类型
一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_name](col_name[length])[asc|desc]1.unique|fulltext为可选参数,分别表示唯一索引...
2018-03-27 21:37:40 206
转载 数据库索引原理
1.什么是索引?索引的常见类型有什么?索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。分类:这里我们主要介绍常见的聚集索引和非聚集索引聚集索引:对正文内容按照一定规则排列的目录称为聚集索引非聚集索引:目录自己按照一定规则排列,正文自己按照另一种...
2018-03-27 21:21:58 244
转载 数据库的内连接、外连接
SQL数据库的连接:内连接、和外连接(左外连接、右外连接、和全连接)本次实验在MySQL数据库中进行,数据库初始表如下:一、内连接:结果仅包含符合连接条件的两表中的行。如下:二、外连接:结果包含符合条件的行,同时包含不符合条件的行(分为左外连接、右外连接和全外连接)1、左外连接:左表全部行+右表匹配的行,如果左表中某行在右表中没有匹配的行,则显示NULL。如下:2、右外连接:和左外连接相反。如下:...
2018-03-26 23:59:38 1239
转载 MySQL的四种事务隔离级别
本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Con...
2018-03-26 22:34:18 139
原创 读数据流的操作InputStream和Reader
java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。弄清了两个超类的根本区别,再来看他们底下子...
2018-03-21 23:30:14 3680
原创 程序kill -9与kill -15的区别,以及回调函数的作用
在Linux/unix下,中止一个Java进程有两种方式,一种是kill -9 pid,一种是kill -15 pill(默认)。两种方式的区别是:SIGNKILL(9) 的效果是立即杀死进程. 该信号不能被阻塞, 处理和忽略。SIGNTERM(15) 的效果是正常退出进程,退出前可以被阻塞或回调处理。并且它是Linux缺省的程序中断信号。---》标准中断信号
2016-11-16 20:44:46 21231 1
原创 判断文件结束的几种方法和eof()函数
看下面一段代码:ofstream ofs("a.txt");int n = 1;while (--n) { //不进入循环体 ofs<<n<<"\t";}ofs.close();int x=5,z = 0;ifstream ifs("a.txt"); while (!ifs.eof()) { cout<<ifs.eofbit<<endl; //输出1
2016-04-29 13:07:16 15039
原创 用指针实现的二维数组创建及赋值
用指针实现的二维数组创建及赋值第一种:int m = 3;int (*p)[5] = new int[m][5]; // 可以理解为p是一个指向含有5个int型元素的型数组的指针for (int i=0;ifor (int j=0;jp[i][j] = i+j;}}for (int i=0;ifor (int j=0;jcout}c
2016-04-28 18:50:58 6006
原创 函数调用的本质与函数指针
typedef 声明函数指针的作用:typedef void(*Fun)(void); ---------------》》 这种形式声明函数指针的类型,可以多次使用。如果得到函数的地址就可以直接用Fun强制类型转换成这种类型函数的指针。void (*pFun)(void); ------------------》》 这种形式直接声明函数指针,是一个具体的指针。
2016-04-28 13:28:01 840
原创 类中取地址的相关操作------int*与&
class C{public:int a;int b;C(int fi, int se){a = fi;b = se;}};ostream& operatorosreturn os;} 令 C c(1,2);coutcoutcoutcout那么会得到结果是:0029F9B40029F9B41 2
2016-04-28 11:19:29 1350
原创 C++派生类构造函数调用顺序
我们来看下面一段代码: class B1 {public:B1(int i){cout }; class B2 {public:B2(int j) {cout }; class B3 { public: B3( ) {cout }; class C: public B2, public B1, publi
2016-04-27 21:34:02 1059 1
原创 C++对象赋值与C#对象赋值----C++与C#值传递与引用传递浅析
在C#中,看下面一段程序:class A { public int value; public A(int x) { value = x; } public void set(int x) { value = x;
2016-04-27 21:13:00 3553
原创 继承中多态的核心---虚函数表
在继承中多态是通过父类型指针指向子类对象,并调用虚函数实现的。实现这一行为的核心就是虚函数表。虚函数表存在于类对象中,有虚函数的类的对象中就有虚函数表。同时虚函数表在对象的最前面的位置(准确来说是指向虚函数表的虚函数表指针)。存在的这个指针(4字节)指向一张虚函数表,虚函数表中存放各个虚函数的指针,指向各个虚函数。所以获取虚函数表的地址是class Base { publi
2016-04-21 17:13:09 491
转载 求一个字符串中连续出现的次数最多的子串
思路:先建立一个后缀数组,再根据这个后缀数据求得重复子串题目描述:求一个字符串中连续出现的次数最多的子串。例如字符串“abababc”,最多连续出现的为ab,连续出现三次。要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab。两个题目的解法有些类似,都用到了后缀数组这个数据结构。求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的字符串为:
2015-10-09 14:12:35 1386
转载 寻找一个字符串中的最长重复子串
思路: 主要就是先定义一个后缀数组,将后缀数组排序后求共最长公共长度问题描述:首先这是一个单字符串问题。子字符串 R 在字符串 L 中至少出现两次,则称 R 是 L 的重复子串。比如字符串abcdeabcd的LRS的长度是2,LRS是abcdLongest Repeated Substring in GEEKSFORGEEKS is: GEEKSLongest Rep
2015-10-09 11:16:12 6976
原创 结构体中的位域及小端问题
1写出下列程序在X86上的运行结果1234567891011121314151617structmybitfields{ unsigned s
2015-10-07 10:48:50 645
转载 std::auto_ptr boost::shared_ptr智能指针的应用
C++ 智能指针详解 一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_p
2015-10-06 10:40:24 535
原创 static_cast转换类型输出
由于C++标准库中I/O类对#include using std::cout;using std::endl; int main(){ const char *pszStr = "this is a string"; // 输出字符串 cout
2015-10-05 19:00:36 392
原创 构造函数初始化列表中成员变量必须初始化的几种情况
有一个类A,其数据成员如下:12345678910classA {...private: inta;public: constint b; float* &c;
2015-09-28 21:57:12 7539 1
原创 strcat
strcat原型extern char *strcat(char *dest,char *src);用法#include 在C++中,则存在于头文件中。功能把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')。说明src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向de
2015-09-28 21:56:36 487
原创 多线程几种同步方式
1.事件 多线程之间由事件驱动2.互斥区 访问时加锁3.临界区 线程访问时加锁4.信号量 信号量可以实现几个线程对应一个信号量工作
2015-09-25 16:57:17 257
转载 Linux Top 命令解析
TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.top - 12:38:33 up 5
2015-09-25 12:52:27 382
转载 STL vector中的元素删除
删除vector中的元素,最容易的方法就是使用vector的erase()函数。vector vec;for ( vector::iterator iter = vec.begin(); iter! = vec.end();){ if(某条件成立) iter = vec.erase(iter); else iter ++;
2015-09-25 12:46:28 508
转载 C++派生类构造函数调用顺序
C++派生类构造函数调用顺序(详解)我们来看下面一段代码: class B1 { public: B1(int i) {cout }; class B2 { public: B2(int j) {cout }; class B3 { public: B3( ){cout }; class C:
2015-09-25 12:10:47 951
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人