自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 运维组所提Bug测试流程

一、发版到测试环境PageBuilder ESB(Release版本,打版分支名为hotfix/yangwei):\\10.129.8.170\FileShare\esb.Beisen.PageBuilder.Release\esb.Beisen.PageBuilder.Release-1.1.0.549多租赁运维工具V5(如果测试ok,会上传一个Release版本,打版分支名为hot...

2019-12-24 14:57:17 420

原创 C++基础---string类的构造函数

1. string类的构造函数1.1 default:string();原型: string(); 说明:默认构造函数,构造一个空字符串。 代码示例: #include <iostream>#include <string>using namespace std;int main(){ string s1; cout<&...

2018-10-29 21:43:52 2567

原创 C语言-与0比较

整型     应当将整型变量用“==”或“!= ”直接与0 比较。     假设整型变量的名字为value ,它与零值比较的标准if 语句如下:    if (0 == value)    if ( 0 != value)指针    应当将指针变量用“==”或“!=”与NULL比较。指针变量的零值是“空”(记为NULL)。尽管NULL的值与0 相同,但是两者意义不同。假设指针变量的...

2018-10-08 15:43:43 679

原创 c++的const和static区别

const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员变量。一般类的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。在C++中,static静态成员变量不能在类的内部...

2018-10-04 15:52:12 393

原创 STL特殊容器之bitset

一、概述bitset构造出一个内含位(bit)或布尔(bool)值且大小固定的array。不能改变bitset内位的数量。这个参数由template参数决定的。如果需要一个可变长度的位容器,考虑使用vector<bool>。Class bitset定义于头文件<bitset>中,有一个template参数用来指定位的数量:namespace std { t...

2018-10-04 10:57:21 415

原创 栈和栈帧

栈和栈帧    栈(stack)相对整个系统而言,调用栈(Call stack)相对某个进程而言,栈帧(stack frame)则是相对某个函数而言,调用栈就是正在使用的栈空间,由多个嵌套调用函数所使用的栈帧组成。具体来说,Call stack就是指存放某个程序的正在运行的函数的信息的栈。Call stack 由 stack frames 组成,每个 stack frame 对应于一个未完成运行...

2018-10-03 18:12:54 470

原创 多态的实现原理分析----虚表

实现多态三点:1.必须最少两个类,而且必须是继承2.必须函数是虚函数(同名,同参,同返回类型)3.通过基类的指针或引用来实现一个类里边无论有多少个虚函数,虚表指针__vfptr只会有一个,占四个字节虚表中有两部分内容:1、虚函数的地址;2、虚函数;#include<iostream>using namespace std; class Base{ virt...

2018-10-02 20:45:22 308

原创 C++中重载、覆盖和隐藏的区别

成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。 令人迷惑的隐藏规则 本来仅仅区别重载与覆盖并不算困难,但是C++的隐藏规则使问题复杂...

2018-10-02 20:38:16 218

原创 c++中string类的详解

通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!下面先罗列出string类的函数有哪一些,然后再罗列出函数的原型,最后到代码的实现标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧...

2018-09-30 22:31:44 267

原创 string中getline,cin的方法getline(),get总结

一、string中的getline不是string的成员函数,属于全局函数,使用需要include<string>,有两个重载版本:函数原型参见:http://www.cplusplus.com/reference/istream/istream/getline/标准信息来自《c++primer》和《c++ primer plus》,另http://blog.csdn.net/...

2018-09-30 20:27:08 896

原创 字符串循环右移n位函数

编写一个函数,作用是把一个 char 组成的字符串循环右移 n 个。比如原来是“abcdefghi” 如果 n=2,移位后应该是“hiabcdefgh”   函数头是这样的:   //pStr 是指向以'\0'结尾的字符串的指针   //steps 是要求移动的 n   void LoopMove ( char * pStr, int steps )   {   //请填充...  ...

2018-09-28 21:53:24 1468

原创 C++静态库与动态库详解

1 库的概念?库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库。2 动态库与静态库的概念?先回顾一下编译过程:静态库在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中,对应的链接方式称为静态链接。试想一下,静态库与汇编生成的目标文件(.o文件)一起链接为可执行文件,那么静态库必定跟.o文件格式相似。其实一个静态库可以...

2018-09-24 17:15:17 1027

原创 I/O多路复用技术(multiplexing)

作者:知乎用户链接:https://www.zhihu.com/question/28594409/answer/52835876来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。下面举一个例子,模拟一个tcp服务器处理30个客户socket。假设你是一个老师,让30个学生解答一道题目,然后检查学生做的是否正确,你有下面几个选择:1. 第一种选择:按顺序...

2018-09-21 17:44:47 378

原创 大端小端以及判别方式

1) 大端模式(Big-endian)是指将数据的低位(比如 1234 中的 34 就是低位)放在内存的高地址上,而数据的高位(比如 1234 中的 12 就是高位)放在内存的低地址上。这种存储模式有点儿类似于把数据当作字符串顺序处理,地址由小到大增加,而数据从高位往低位存放。2) 小端模式(Little-endian)是指将数据的低位放在内存的低地址上,而数据的高位放在内存的高地址上。这种存储...

2018-09-21 11:33:55 810 1

原创 进程间的五种通信方式介绍

进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNI...

2018-09-20 15:54:07 526

原创 mysql数据库引擎常用面试总结

总的思想:MyIASM引擎是为了查和增加,效率高。所有功能都围绕这这个Innodb引擎功能更强(事务等)效率低一些。Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别,关于数据库事务与其隔离级别的内容请见数据库事务与其隔离级别这篇文章。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MyS...

2018-09-20 11:50:55 533

原创 stl hashtable

一句话之Hashtable:哈希表(散列表)能通过键值对数据进行访问的数据结构;其在C++0X标准中未出现,可能是考虑到哈希表效率低下,出于其广泛用于工程中,C++11将其纳入了标准库。C++11的新特性:http://en.wikipedia.org/wiki/C%2B%2B11,C++11中哈希表的说明:http://en.wikipedia.org/wiki/C%2B%2B11#Hash_t...

2018-09-19 17:51:15 306

原创 静态变量初始化的时机

静态变量的内存分配和初始化对于C语言的全局和静态变量,不管是否被初始化,其内存空间都是全局的;如果初始化,那么初始化发生在任何代码执行之前,属于编译期初始化。由于内置变量无须资源释放操作,仅需要回收内存空间,因此程序结束后全局内存空间被一起回收,不存在变量依赖问题,没有任何代码会再被执行!C++引入了对象,这给全局变量的管理带领新的麻烦。C++的对象必须有构造函数生成,并最终执行析构操作。...

2018-09-16 22:29:20 732

原创 浅谈内存分配方式以及堆和栈的区别(很清楚)

对于一个程序要运行,涉及到的内存分配是一个首要问题,这里简单说一下一个简单的程序运行所涉及到的内存分配方式。另外,在数据结构中存在堆和栈的概念,栈是一种先进后出的数据结构,堆则是一种排序方式,而在内存分配中也存在堆(heap)和栈(stack)的概念,与数据结构中的概念不同,这里简单说明在内存分配中的堆栈之间的不同。一、内存分配方式1、全局变量和静态变量(static变量),是由编译器自动...

2018-09-16 22:27:27 489

原创 python中获取执行脚本路径方法

1、sys.path[0]:获取执行脚本目录绝对路径#每次执行脚本时,python会将执行脚本目录加入PYTHONPATH环境变量中(sys.path获取)#!/usr/bin/python3import osimport sysprint(sys.path)print(sys.path[0])执行结果:[root@localhost tmp]# ./py_test1/py...

2018-09-14 16:17:48 522

原创 python 获取当前目录,上级目录,上上级目录

import osprint '***获取当前目录***'print os.getcwd()print os.path.abspath(os.path.dirname(__file__))print '***获取上级目录***'print os.path.abspath(os.path.dirname(os.path.dirname(__file__)))print os.pat...

2018-09-10 18:26:53 15292

原创 linux grep 命令

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文...

2018-09-04 10:01:58 363

原创 Linux下ps -ef和ps aux的区别及格式详解

Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。ps -ef 是用标准的格...

2018-09-04 09:33:36 315

原创 程序员常说的「哈希表」是个什么鬼?

今天聊聊「哈希表」,「哈希表」主要作用在于高效查找。    在编程实现中,常常面临着两个问题:存储和查找,存储和查找的效率往往决定了整个程序的效率。  脑补下,你在家里忘记了指甲刀放在哪里,通常要在你家所有抽屉中顺序寻找,直到找到,最差情况下,有N个抽屉,你就要打开N个抽屉。这种存储方式叫数组,查找方法称为「遍历」。  脑补下,你是一个整理控,所有物品必须分门别类放入整理箱...

2018-08-29 16:02:01 289

原创 C语言实现多态

综述多态性是面向对象程序设计的一个重要特征,利用多态性可以设计和实现一个易于扩展的系统。顾名思义,多态的意思是多种形态,在C++程序设计中,多态指的是:具有不同功能的函数可以用同一个函数名,这样可以用一个函数名调用不同内容的函数。C++的多态分两种:静态多态性和动态多态性。1. C++中的函数重载和运算符重载实现的多态性就属于静态多态,在程序编译时系统就能决定调用的是哪个函数,因此...

2018-08-07 18:04:44 416

原创 用C++开发Hadoop应用程序

最近做项目,用到了Hadoop架构,本身对C++比较熟悉,虽然接触过JAVA(3年前嵌入式。。)。决定用C++开发相关,以下为转载不错文章。-----------------------------------------------------------------------分割线------------------------------------------------------...

2018-08-07 17:56:54 1029

原创 SecureCRT通过sftp上传文件到Linux和下载方法

ecureCRT打开sftp方法很简单,直接在界面中同时按“ALT+P”就可以打开界面,当然还是命令行,没有界面,类似如下。在打开界面之前,最好先设置好sftp的初始化目录。打开SecureCRT的“选项”->“会话选项”->“SFTP标签页”,修改。使用方法和ftp命令基本一样,不清楚的可以参考lftp使用。常用命令有:ascii 设置传输模式为 ASCIIbi...

2018-08-07 16:13:12 2264

原创 Linux下的压缩zip,解压缩unzip命令详解及实例

Linux下的压缩解压缩命令详解及实例实例:压缩服务器上当前目录的内容为xxx.zip文件zip -r xxx.zip ./*解压zip文件到当前目录unzip filename.zip============================另:有些服务器没有安装zip包执行不了zip命令,但基本上都可以用tar命令的,实例如下: tar -zcvf /home/z...

2018-08-02 11:09:00 325

原创 Linux命令——rz命令与sz命令

1.rz命令1.1功能rz命令(Receive ZMODEM),使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹。当我们使用虚拟终端软件,如Xshell、SecureCRT或PuTTY来连接远程服务器后,使用rz命令可以上传本地文件到远程服务器。输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为...

2018-08-02 10:56:30 651

原创 gcc编译过程简述

在linux系统上,从源文件到目标文件的转化是由编译器完成的。以hello.c程序的编译为例,如下:dfcao@linux: gcc -o hello hello.c在这里,gcc编译器读取源文件hello.c,并把它翻译成一个可执行文件 hello。这个翻译过程可分为四个阶段逐步完成:预处理,编译,汇编,链接,如下图所示。逐步做下简单分析:在未编译前,hello.c 的...

2018-07-31 15:00:18 473

原创 gdb线程、进程调试

一,gdb的基础知识1>介绍: gdb是Linux环境下的代码调试工具。2>使用:需要在源代码生成的时候加上 -g 选项.3>开始使用: gdb binFile4>退出:ctrl + d 或 quit5>调试过程中的常用命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。 list/l 函数名:列出某个...

2018-07-30 15:57:51 417

原创 C++ 11 auto关键字

熟悉脚本语言的人都知道,很多脚本语言都引入了“类型自动推断”技术:比如Python,可以直接声明变量,在运行时进行类型检查。随着C++11标准的发布,C++语言也引入了类型自动推断的功能,这就是我们今天要介绍的auto关键字。C++是一种强类型语言,声明变量时必须明确指出其类型。但是,在实践中,优势我们很难推断出某个表达式的值的类型,尤其是随着模板类型的出现,要想弄明白某些复杂表达式的返回类型...

2018-07-27 16:31:22 210

原创 C++ 11 左值,右值,左值引用,右值引用,std::move, std::foward

这篇文章要介绍的内容和标题一致,关于C++ 11中的这几个特性网上介绍的文章很多,看了一些之后想把几个比较关键的点总结记录一下,文章比较长。给出了很多代码示例,都是编译运行测试过的,希望能用这些帮助理解C++ 11中这些比较重要的特性。关于左值和右值的定义左值和右值在C中就存在,不过存在感不高,在C++尤其是C++11中这两个概念比较重要,左值就是有名字的变量(对象),可以被赋值,可以在多...

2018-07-26 14:44:33 248

原创 emplace_back() 和 push_back 的区别

在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题是临时变量申请的资源就浪费。引入了右值引用,转移构造函数(请看这里)后,push_back()右值时就会调用构造函数和转移构造函数。在这上面有进一步优化...

2018-07-26 14:40:34 436

原创 linux sed命令详解(推荐)

sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。接下来通过本文给大家详细介绍linux sed命令相关知识,感兴趣的朋友一起学习吧概述sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。sed是按行来处理文本内容的。在shell中,使用sed来批量修改文本内容是非常方便的。sed命令的选项sed [选项] [动...

2018-07-24 17:52:51 230

原创 第一个shell脚本——修改配置文件

有需求,可以让自己偷懒才是学习的真正动力。由于测试环境在构建代码之后总是需要手动修改配置文件,因此边学习边完成了一个shell脚本,可以一键修改。  定义了一个函数,输出信息以绿色字体显示。function echo_green { echo -e "\033[32m$1\033[0m"}    输出提示信息echo_green "是否一键修改xxx?(y/n...

2018-07-24 16:48:33 4262

原创 StringUtils API(中英文对照)

public class StringUtilsextends ObjectOperations on String that are null safe. 字符串是null安全的,不会抛出NullPointerException,都做了相应的处理。IsEmpty/IsBlank - checks if a String contains text IsEmpty/IsBlank –...

2018-07-23 15:13:27 268

原创 string类的find()函数总结

string类的头文件提供了很多搜索相关的函数比如find()函数及其变体。这使得我们可以以多种不同的方式在字符串中搜索给定的子字符串或字符。但是对于初学者来讲,经常被这些长相类似的函数所混淆。下面总结了string类的find相关函数:1、find():find函数有四种变体:方法原型 描述 size_type find(const string & str, s...

2018-07-17 20:09:52 539

原创 Thrift

Thrift 的整体架构Thrift 包含一个完整的堆栈结构用于构建客户端和服务器端。其中代码框架层是根据 Thrift 定义的服务接口描述文件生成的客户端和服务器端代码框架,数据读写操作层是根据 Thrift 文件生成代码实现数据的读写操作Thrift 包含三个主要的组件:protocol,transport 和 server。 protocol 定义了消息是怎样序列化的; ...

2018-07-17 20:08:24 317

原创 Google gflags使用说明

gflags是google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt。gflags使用起来比getopt方便,但是不支持参数的简写(例如getopt支持--list缩写成-l,gflags不支持)。如何安装使用gflags:安装:请访问地址https://code.google.com/p/gflags/,下载最新版的gflags,编译...

2018-07-17 18:45:25 258

空空如也

空空如也

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

TA关注的人

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