- 博客(15)
- 收藏
- 关注
原创 Linux磁盘管理(磁盘、pv、vg、lv、挂载点之间的关系及常用命令)
最近对于服务器的磁盘管理搞的很懵,幸得大神指点,对pv、vg、lv之间的关系有了一些了解,现总结如下。如有错误之处,还请不吝赐教。Linux磁盘、pv、vg、lv、挂载点之间的关系用一张图来说:一、基本概念及关系梳理:磁盘:最基础的存在,物理磁盘PV:physical volume 物理卷,同一磁盘可划分为多个物理卷VG:volume group 卷组,一个到多个PV可组成一个卷组LV:logical volue 逻辑卷,卷组可划分为多个逻辑卷挂载点:lv与挂载点是1:1的关
2021-11-29 21:48:36 18113 5
原创 Flyway配置(包含多数据源配置)及使用规范
一、Flyway简介Flyway是一款开源的数据库版本管理工具,支持在所有环境中进行稳健的架构演变。Flyway具有幂等性,SQL脚本对数据库对影响只是一次性的,不会重复操作。Flyway独立于应用实现,对数据库版本进行管理,支持数据库版本的自动升级。二、为什么要用Flyway...
2020-06-04 15:20:50 6515 2
原创 sizeof函数
前几天腾讯笔试,一道关于sizeof的题做错了,因而想要总结一下关于sizeof的知识,如有不正确的地方,欢迎指正。 1.sizeof()定义char str[]="Tencent";求sizeof(str) 先说下我错的思路。 我的想法是,”Tencent”存放于常量存储区,因而在栈上,str里面存放的是”Tencent”地址,相当于一个指针,所以我理所当然的认为sizeof(str)为一个
2015-09-13 14:39:51 4162
原创 关于斐波那契数列三种解法及时间复杂度分析
斐波那契数列: f(n)=f(n-1)+f(n-2); n>=2 f(0)=0; f(1)=1; 即有名的兔子繁衍问题。 斐波那契数列共有三种解法,因而写这篇文章总结一下。 1. 递归求解 递归求解比较简单,是大家常见的一种解法。int fibonacci(int n){ cout<<"calculat
2015-09-02 22:03:11 61520 15
转载 C++重载操作符总结
作用:重载操作符可将操作符用于类对象。 重载操作符是一种特殊类型的函数,它也需要有返回类型和行参表。格式为:返回类型 operator操作符(行参)。重载操作符必须具有至少一个类类型或枚举类型操作数,如果是内置类型(例如int,double等),操作符含义不能改变。 重载操作符有两种:成员函数重载以及非成员函数重载 1. 作为类成员的重载操作符 其行参看起来比操作数目少1(显式行参
2015-09-02 20:46:21 773
原创 剑指offer——旋转数组最小数字问题
今天做到旋转数字最小数字时,看到需要考虑的边界有些麻烦,因而分析总结一下。 旋转数组其实就是一个递增排序数组的旋转,例如{3,4,5,1,2}即为{1,2,3,4,5}的一个旋转数组。 旋转数组有一个特性:包含两个递增子序列,因而可以考虑用二分查找简化。设置三个指针low,high,middle,low指向数组低部分,high指向数组高部分,middle指向high,low中间部分。若middl
2015-08-30 11:59:18 932
原创 阿里笔试——跳格子问题
问题:有1,2,3,……无穷个格子,你从1号格子出发,每次1/2概率向前跳一格,1/2概率向前跳两格,走到格子编号为4的倍数时结束,求结束时期望走的步数 这道题其实就是递归求解问题。 1 2 3 4 5 6 7 8 我们以1-8为例进行说明。 设E(i)为从第i个数走到结束第期望步数 E(1) = 1/2 * ( E(2) + 1 ) + 1/2 * ( E(3) + 1 ) E(1)为
2015-08-29 17:43:21 2804
原创 数据结构之链表操作
之前看数据结构时,以为链表操作很容易,真正写代码时才发现被打脸了。。。经历了各种错误后,现在总结一下走过的弯路。 这里主要说下链表的增加删除节点操作。typedef struct lnode{ int data; struct lnode *next;}lnode,*llist;以上是我定义的节点结构,比较简单,不再赘述。 下面说下犯的错误 错误1. addnode函数为
2015-08-27 11:58:15 795
原创 C++输入
C++输入比较简单,但是有时也比较容易出错,所以这里想大概总结一下。 C++输入函数主要有cin,cin.getline,getline 1. cin是最常用的输入函数,属于istream输入流对象,cin>>x其实是>>操作符进行将x赋值给cin对象的操作,最终返回cin对象本身(&istream)。 从键盘输入数据x时,当输入回车符时,数据被送入发送缓冲区中。网上有文章认为:每当按
2015-08-26 23:07:18 633
原创 类型转换
struct data2_t{ char *dt[1];};int main(void){ char data[8]="hello"; data2_t *d; d=(data2_t *)&data; printf("address of data is %lu\n",(unsigned long)&data); printf("address o
2015-08-20 21:32:02 340
原创 关于面试中的fork()问题
今天做面试题,发现fork()函数虽然经常用,但是具体产生几个进程却常算错,所以决定总结一下。 fork()用于创建子进程,新的子进程将拷贝父进程的一切资源(包括文件描述符,变量等)。 fork()函数最重要的特性是:执行一次,返回两次,有三种返回情况。 若返回为负,则创建子进程失败; 返回为0,即返回的是子进程; 返回为正值,即返回的是父进程。 fork()返回的结果为创建子进程的pi
2015-08-20 17:36:40 908
原创 虚函数及虚继承总结
一. 虚函数 虚函数的使用是为了实现c++中的多态,即同一接口,不同实现,可用父类指针调用子类成员函数。虚函数是基于虚函数表(virtual table,v-table for short)来实现的。 每个包含虚函数的类都将分配一张虚函数表,虚函数表是一张地址表,解决继承多态问题。虚函数表并不存在于类实例中,而是类实例生成一个指向虚函数表的指针。 多重继承中
2015-08-20 00:22:03 497
转载 C++ 虚函数表解析
转载地址:http://blog.csdn.net/haoel/article/details/1948051/前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模
2015-08-17 22:15:38 357
原创 360面试题--时钟问题
问题:上高中的小明暗恋女神三年,高考结束后,小明决定向女神表白。这天,小明来到女神楼下等待女神的出现,时间一分一秒的流逝,两个多小时过去了,女神还没有出现,小明看了下表,时针和分针的位置正好跟开始等的时候互换,请问小明一共等了女神多少分钟 解答: 此问题为时钟时针分针对调问题,主要解决思路为以分针求时针位置 开始时设时针在12-1之间,过了2个多小时分针时针对调,所以开始时分针在3-4之间。
2015-07-28 15:44:26 1216
原创 数据结构--二叉树遍历非递归实现
数据结构中二叉树的遍历主要分为先序,中序和后序。顺序是相对根节点来说的。 先序中序非递归实现比较简单,后序较为复杂些,需要判断右子树是否为空或遍历完。 以下为三种遍历方法的非递归C实现# include <stdio.h># include <stdlib.h>typedef struct BiNode{ char data; struct BiNode *lchild,*
2015-07-28 13:55:05 881 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人