- 博客(49)
- 资源 (6)
- 收藏
- 关注
转载 c++ 虚函数的实现机制
1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public: virtual void f(); virtual void g();private
2013-10-20 21:22:44
322
原创 重载(overload), 重写(override), 重定义(redefine) 及多态性,虚函数总结
一、重载(overload)指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。(1)相同的范围(在同一个作用域中即同一类中) ;(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。(5)返回值可以不同;特殊情况:若某一个重载版本的函数前面有virtual修饰,则表示它是虚函数。但它也是属于重载的一个版本
2013-09-24 22:42:42
499
转载 指针和引用的区别
(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针. 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. String & rs = string1; 由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需
2013-09-24 20:08:51
254
原创 Redhat 7(64bit) / Centos 6.4 下安装chrome提示 libstdc++.so.6问题的解决方案(目前最简单的)
Centos6.4 和 Redhat 7_64bit下安装chrome (或者别的版本的也会)安装的时候提示 requires libstdc++.so.6(GLIBCXX_3.4.15)比如我的提示是: libstdc++.so.6(GLIBCXX_3.4.15)(64bit) is needed by google-chrome-stable-28.0.1500.63-
2013-08-17 14:21:19
4419
转载 mongodb中journal工作原理
先介绍一下Journal: journal文件在MongoDB中的作用相当于redo日志文件在oracle中的作用,它可以在即使服务器意外宕机的情况下,将数据库操作进行重演。 在64位的机器上,2.0以上版本默认是开启了journal的,但是在32位机器上,或者2.0以下的版本中,默认是不开启journal的。所以在我的安装了2.4.3版本的32位机器上,每次启动mon
2013-08-14 14:31:35
718
转载 MongoDB的db.serverStatus()状态分析
目录(?)[+] 单个BSON对象/文档最大4MMongoDB1.8支持16Mstorage engin最大2G在32位模式下;64位则根据你磁盘大小每个集合可以包含无限个文档 接着上一篇,来介绍另一
2013-08-14 14:27:18
839
转载 linux shell 终端快捷键
本文讲述了Linux命令行编辑快捷键的方法,希望对您有所帮助。Linux命令行编辑快捷键:history 显示命令历史列表↑(Ctrl+p) 显示上一条命令↓(Ctrl+n) 显示下一条命令!num 执行命令历史列表的第num条命令!! 执行上一条命令!?string? 执行含有string字符串的最新命令Ctrl+r 然后输入若干字
2013-07-29 13:01:40
262
转载 Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
一、http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz
2013-07-23 18:18:35
415
转载 linux 上传文件rz和下载文件sz命令用法
我们在用SecureCRT客户端做开发的时候,往往需要上传和下载文件到本地或服务器上,例如:从线上数据库导数据的时候,数据文件无法下载到本地,以前的解决办法是借助一台外网服务器做中转,今天偶尔发现在服务器上安装了rz/sz软件包, 以后就可以通过这两个命令来实现上传和下载文件,不用借助外网服务器. Rz上传文件: 在命令行下输入rz 回车.即可弹出一个对话框,让你选择上传的文件,点击确
2013-07-19 19:06:22
776
转载 linux进程状态查询命令及结果说明
系统维护的时候难免会遇到进程的状态的查询和管理,到底什么是R,有的是S,有的还是S+呢?一直有些混沌的问题,今天细细的来总结一下: ps是用来报告系统中程序执行状况的命令这个是无可厚非的,linux进程的状态:D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生R 正在运行或可运行(在运行队列排队中)S 可中断睡眠 (休
2013-07-19 11:44:13
314
原创 Sublime Text 使用介绍/全套快捷键及插件推荐
Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:选
2013-07-16 13:19:44
323
转载 shell定时任务crontab
cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。 cron 假定系统持续运行。如果当某任务被调度时系统不在运行,该任务就不会被执行。 要使用 cron 服务,你必须安装了 vixie-cron RPM 软件包,而且必须在运行 crond 服务。要判定该软件包是否已安装,使用 rpm -q vixie-cron 命令。要判定该服务是否在运行,
2013-07-15 11:44:44
752
转载 从文件中读取指定的行
你想根据给出的行号,从文本文件中读取一行数据。Python标准库linecache模块非常适合这个任务:import linecache theline = linecache.getline(thefilepath, desired_line_number) 讨论对这个任务而言,标准的linecache模块是Python能够提供的最佳解决工具。当你想要对文件中的某些
2013-07-12 19:13:53
300
转载 python开发RabbitMQ应用
使用python开发RabbitMQ应用(参考了RabbitMQ网站上提供的英文版本入门指南: http://www.rabbitmq.com/getstarted.html)测试环境:CentOS 6.21,测试环境准备安装RabbitMQ server,python(一般系统都自带了python)和pika 0.9.5。安装pika一般有两种方式:可以通过pip或者ea
2013-07-10 09:31:25
520
转载 python调用Shell脚本:os.system(cmd)或os.popen(cmd)的区别
两者的区别是:os.system(cmd)的返回值只会有0(成功),1,2 os.popen(cmd)会吧执行的cmd的输出作为值返回。 python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。现假定有一个shell脚本test.sh:
2013-07-09 13:39:16
428
转载 Python日期操作
目录(?)[-]日期输出格式化日期比较操作1. 日期输出格式化所有日期、时间的api都在datetime模块内。1. datetime => string now = datetime.datetime.now()now.strftime('%Y-%m-%d %H:%M:%S')
2013-07-09 13:37:07
363
转载 python 安装
转载自Life吧 本文永久链接地址:http://www.lifeba.org/arch/python_windows_linux.html1、linux安装1) Python2.7安装Centos 5.5默认安装的Python版本是2.4。要升级到2.7或者其他版本需要下载源码包自己编译安装。tar xjf Python-2.7.tar.bz2cd P
2013-07-07 15:27:11
408
原创 CentOS 下安装运行 MongoDB
mongoDB数据库在32位机器上大小超过2G时就会出错(2G并不是指单库的容量,是整个mongoDB的所有库容量总和),所以选用CentOS 64bit作为其运行载体,下面直接切入主题。1、下载mongoDB进入mongoDB下载页(http://www.mongodb.org/downloads),获取Linux 64-bit的最新版mongoDB下载URL,然后进行下载:
2013-07-07 14:12:45
306
转载 python学习之argv[1:] 命行选项模块optparse
目录(?)[-]Background术语What are options forWhat are positional arguments for教程理解option actionsstore actionboolean flag options 的处理其它actionsDefault values缺省值产生help组合Options打印version字符串
2013-07-01 22:11:58
414
转载 Mongodb 的python模块---pyMongo
一、pyMongo1、安装非标准库需要安装#easy_install pyMongo2、连接使用pymongo.connecttion.Connection类与MongoDB服务器连接from pymongo Connectiondb=Connection('localhost',27017).apachelog #这里创建连接和使用库写在一起来了>>> conne
2013-06-24 20:42:42
397
转载 MySQL与MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。以我们公司项目为例,在早期的项目中,都在使用关系型数据库,用过SQLServer,Oracle,DB2,后来全部转向Mysql,原因很简 单:Mysql在性能不错的情况下,有着开源优势。Mysq
2013-06-24 20:40:18
755
原创 Mysql 内幕窥探
Mysql ——使用插件式存储引擎。在5.0版本之前,所有存储引擎必须重新编译才能集成到Mysql中,5.1版本后可以在Mysql运行时动态的插入。Mysql常见的各种存储引擎:自带存储引擎:MyISAM, Falcon, Merge, Memory(Heap), Federated, Archive, CSV, Blackhole, Cluster, EXAMPLE, Maria其他
2013-05-23 17:01:41
269
转载 头文件中定义全局变量的问题及extern
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译
2013-05-20 10:25:25
660
原创 补码
3进制补码的原理:【x】补= x 当0 3^(n+1)+x 当-3^n负数的补码:取反+1 ,即 255-|原码|+1对于8位二进制的补码:2^8 - |原码|例子:-10的补码为 256 - |-10| = 246 = 0b11110110.同理,对于4位三进制的补码
2013-05-19 10:47:35
288
转载 Python解释执行原理及过程
谈到了Python语句的两种执行方式,实际上,这两种运行方式在本质 上是相同的,它们都是由解释器来解释执行我们提供的Python语句。 这里所说的解释执行是相对于编译执行而言的。我们知道,使用诸如 C或C++之类的编译性语言编写的程序可以从源文件转换成计算机使用 的机器语言, 经连接器连接后形成二进制可执行文件。当我们运行二进制可执行程 序的时候,因为已经编译好了,所以加载器软件把二进制程序从硬盘
2013-05-17 00:14:55
2136
转载 递归和迭代
利用迭代算法处理问题,需要做好以下三个方面的工做: 一、确定迭代变量。在能够用迭代算法处理的问题中,至少具有一个间接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。 二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是处理迭代问题的关键,通常能够使用递推或倒推的方法来完成。 三、对迭代过程进行控制。在什么时
2013-05-13 20:21:59
364
转载 递归与迭代---用迭代实现递归
递归和迭代递归和迭代题目1:尾递归到迭代的转换输入输出例子输入例子输出题目2:栈的实现输入输入例子输入例子输出利用栈把递归函数改成迭代函数题目3:QuickSort的迭代实现输入输出例子输入例子输出(递归和迭代 is over due)尾递归到迭代的转换 Submit BSEARCH栈的实现 Submit STACK
2013-05-12 18:20:21
630
转载 C++中析构函数定义成虚函数的原因
为什么标准C++建议将虚构函数定义成虚函数,下面就来探讨这个问题。#include class Base{public: Base() {data = new char[64]; } ~Base(){delete [] data;}private: char *data;};class BaseEx: public Base
2013-05-05 21:17:41
233
原创 C, C++中的 typedef struct 与struct
typedef struct tagNode{ char *pItem; pNode pNext;} *pNode;新结构建立的过程中遇到了pNext域的声明,类型是pNode,要知道pNode表示的是类型的新名字,那么在类型本身还没有建立完成的时候,这个类型的新名字也还不存在,也就是说这个时候编译器根本不认识pNode。解决这个问题的方法有多种:1)、
2013-04-26 11:15:41
232
原创 宏定义中## 连接符与# 符的含义
一般由任意字符都可以做形参,但以下情况会出错:STR())这样,编译器不会把“)”当成STR()的参数。STR(,)同上,编译器不会把“,”当成STR的参数。STR(A,B)如果实参过多,则编译器会把多余的参数舍去。(VC++2008为例)STR((A,B))会被解读为实参为:(A,B),而不是被解读为两个实参#define WIDE(str
2013-04-22 16:37:11
310
转载 malloc用法
malloc用法需要包含头文件:#include 'stdlib.h'函数声明(函数原型):void *malloc(int size);说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。从函数声明上可以看出。malloc 和 ne
2013-04-21 19:02:44
281
原创 误区集锦
string f();string g(string &str);g(f());正确与否?f() 返回一个临时量,然后传给 g 函数,而 g 的参数是非 const 引用,是不能引用临时量的!为嘛,如果 g 中修改了传进来的 string,那么会是怎么一回事呢?修改了一个临时量的值?那这意义何在呢?但是如果将 g 的原型修改为 string g(const stri
2013-04-19 23:33:52
229
求编辑距离
什么是编辑距离?编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 例如将kitten一字转成sitting: sitten (k→s) sittin (e→i
2013-04-19 18:18:19
172
原创 动态二维数组new,typedef的几个陷阱,数组名与指针
二维数组new小结 1. A (*ga)[n] = new A[m][n]; ... delete []ga; 缺点:n必须是已知 优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正确调用) 2. A** ga = new A*[m]; for(int i = 0; i ga[i] = new A[n]; ... for(int i
2013-04-17 21:47:54
341
原创 mysql 语句的性能优化
1.sql语句优化1)最左前缀原则定义:最左前缀原则指的的是在sql where 字句中一些条件或表达式中出现的列的顺序要保持和多索引的一致或以多列索引顺序出现,只要出现非顺序出现、断层都无法利用到多列索引。举例说明:上面给出一个多列索引(username,password,last_login),当三列在where中出现的顺序如(username,password,las
2013-04-16 20:32:51
281
求编辑距离
什么是编辑距离?编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 例如将kitten一字转成sitting: sitten (k→s) sittin (e→i
2013-04-16 15:04:55
142
转载 函数参数的入栈顺序与可变参数的函数调用问题
C程序中printf参数压栈与计算顺序首先,我个人赞同下面说法:参数的为计算顺序是未定义行:从左到右、从右到左、都合法, 先中间再两边也完全可以。C++中有两种"未定义行为".一种叫 "undefined".比如未初始化局部变量的值. 一般来说,这种行为的结果是未知的.另一种叫 "unspecified".比如参数的计算顺序. 这种行为的结果通常是可预期的.但其结果是和实现相关的.
2013-04-11 10:58:47
410
原创 关于内存区划分及几种常见变量的区别
静态全局变量,静态局部变量,全局变量静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的,不能被其他文件所用即使是用extern声明,其他文件可以定义相同名字的变量不会发生冲突;全局变量是不显式用static修饰的全局变量,但全局变量默认是动态的,作用域是整个工程,只要在另一个文件中通过extern 全局变量名的声明,就可以使用它。静态局部变量用于两次调用之间对变量的值
2013-04-08 19:19:59
220
原创 Linux下Java 编译运行说明
命令行环境下Java编译运行 1. java的运行机制的基本概念:源文件 也就是我们熟知的.java文件。类文件 .class文件是编译器由.java文件编译而成。众所周知,Java的跨平台性在于Java虚拟机(JVM)这一层对硬件的隔离,而.class文件可以理解为JVM中的执行文件(自己的理解,可能不太准确)。里面存储的是java字节码,javabytecode 是基于栈的(
2013-04-07 17:54:53
2098
转载 mysql的数据导出几种方法
mysql的数据导出几种方法 从网上找到一些问题是关于如何从MySQL中导出数据,以便用在本地或其它的数据库系统之上;以及 将现有数据导入MySQL数据库中。数据导出 数据导出主要有以下几种方法: 使用select into outfile "filename"语句 使用mysqldump实用程序 使用select into outf
2013-04-01 09:31:17
391
基于WEKA的高校图书馆流通数据的数据挖掘实例
2012-10-09
基于关联规则的股票时间序列趋势预测研究(论文)
2012-10-09
关联规则算法在股票分析预测中的应用研究(论文)
2012-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人