自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(47)
  • 资源 (6)
  • 收藏
  • 关注

原创 MySQL: ON DUPLICATE KEY UPDATE 用法

使用该语法可在插入记录的时候先判断记录是否存在,如果不存在则插入,否则更新,很方便,无需执行两条SQL 这个语句知识mysql中,而标准sql语句中是没有的。 INSERT INTO .. ON DUPLICATE KEY更新多行记录 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRI

2014-07-10 10:46:16 540

原创 error C2664: 'strcmp' : cannot convert parameter

int   strcmp(const   char*   str1,   const   char*   str2);   这个函数是C标准库的函数,处理的是C风格0结尾字符数组字符串。    C++标准库中的string类有可以直接使用的,=,==,!=运算符,通常也用不到这个函数。    _____________________________________________

2014-07-10 10:42:00 1615

原创 MAHOUT_LOCAL is not set;adding HADOOP_CONF_DIR to classpath

在Mahout中出现错误:MAHOUT_LOCAL is not set;adding HADOOP_CONF_DIR to classpathMAHOUT_LOCAL与HADOOP_CONF_DIR以上的两个参数是控制Mahout是在本地运行还是在Hadoop上运行的关键。$MAHOUT_HOME/bin/mahout文件指出,只要设置MAHOUT_LOCAL的值为一个非空(

2014-05-21 22:42:02 881

原创 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'(Windows平台)

提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。前两天也出现过这个问题,网上找了一个比较流行的方法(见方法一),搞定了。今天又用这个试了试,却搞不定,在网上找了半天,终于发现是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但

2014-03-19 22:27:15 690

原创 C++中cout输出顺序(VC6)

c++中对于cout后面的表达式的求值顺序是未定义的,具体的运行结果要由编译器的实现来决定.本人是在vc++ 6.0下编译的.测试代码:#include "stdafx.h"#include using namespace std;int add(){ cout<<"function add"<<endl; return 1;}int sub(){

2014-03-11 13:00:12 1166

原创 C++智能指针的设计和实现

一、智能指针  在C++语言编程时,当类中有指针成员时,一般有两种方式来管理指针成员:一是采用值型的方式管理,每个类对象都保留一份指针指向的对象的拷贝;另一种更优雅的方式是使用智能指针,从而实现指针指向的对象的共享。      智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计

2014-03-10 16:57:20 544 1

转载 C++ 智能指针详解

一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared

2014-03-10 16:27:58 297

原创 关于i++;++i;i=i+1;i+=1 的效率问题

(1) i=i+1 它的效率最低,因为其执行过程如下: 1-1 读取右x的地址; 1-2 x+1; 1-3 读取左x的地址; 1-4 将右值传给左边的x   (temp=i+1; i=temp;)(2) i+=1它的执行过程是: 2-1 读取右x的地址; 2-2 x+1; 2-3 将得到的值传给x (3) i++它的执行过程是: 3-

2014-03-10 11:54:16 1293 1

原创 B树、B-树、B+树、B*树的区别

B树即二叉搜索树:1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如:B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入

2014-03-08 20:38:38 667

原创 SQL语句优化策略

总体来说,SQL语句优化策略有以下几个方面:● 创建表的时候。应尽量建立主键,根据主键查询数据;● 大数据表删除,用truncate table代替delete。● 合理使用索引,在OLTP应用中一张表的索引不要太多。组合索引的列顺序尽量与查询条件列顺序保持一致;对于数据操作频繁的表,索引需要定期重建,以减少失效的索引和碎片。● 查询尽量用确定的列名,少用*号。尽量少嵌套子查

2014-03-08 16:21:49 708

转载 数据库面试题集合

在整理准备数据库面试的过程中,先是在网上一顿海搜,找到历史面试题,然后一个骨头一个骨头的啃完,现在基本上这些问题(或者说叫做实践)都没有问题了。遇到的困难是:PL/SQL居多,T-SQL太少,所以需要筛选,修改答案,甚至有一些在T-SQL里面还没有支持。下一步再把数据库T-SQL经典教程在翻看一遍,基本上对数据库就算告一段落了,前前后后共整整1个多月的时间(去年10.1是二周,下载是三周),学

2014-03-08 16:14:49 449

转载 由浅入深理解数据库中索引的底层实现

这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的以及针对B+树索引的查询,插入,删除,更新等操作的处理方法。Oracle和DB2数据库索引的实现基本上也是大同小异的。文章写得很通俗易懂,就转在这了。关于B+树和索引内部结构可以参考:《B 树、B- 树、B+ 树和B* 树》和《深入理解DB2索引(Index)》。00 – 背景知识- B-Tree

2014-03-08 16:11:43 782

转载 深入理解DB2索引(Index)

索引(Index)是数据库管理系统中一个非常重要的数据结构,索引的合理使用能够极大提高数据库系统的性能。那么,什么是索引?索引有时如何提高数据库系统性能的呢?阅读本文时建议参考:《深入理解数据库磁盘存储(Disk Storage)》索引概念以一本书为例,通常一本书开头会有目录,而后才是正文,通过目录中每行左侧的标题和右侧的页码,我们可以快速定位到需要阅读的页面,而无需一

2014-03-08 16:08:03 673

原创 数据库索引的实现原理

说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增加了

2014-03-08 15:59:38 607

原创 C++句柄类

一、句柄类思想   Thinking in c++ 第一卷的中文翻译实在是无法忍,偏偏我就有这么一本(还是合订本的)。   幸好读到了一个从前没意识到的问题,也算是值了:句柄类,也叫Cheshire Cat。   问题背景是这样的:1)在极为安全的领域,即使核心实现已经封闭在库中不可见,但是头文件中的变量定义仍然可能会曝露一些内部信息; 2)在设计初期,实现部分固然需要经常变动,连

2014-03-08 11:05:53 979

原创 memset函数详解

函数介绍void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法memset函数详细说明1。void *memset

2014-03-07 15:17:06 656

原创 友元函数和友元类

采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和

2014-03-07 14:43:12 460

原创 语法盐

语法盐(英语:syntactic salt)是指在计算机语言特别设计,不容易产生不良代码的特性。语法盐就像一个程序员必须跳过的圈,来证明他们知道将会发生什么,而不是只表达一个程序行为。比如,在没有额外的语言明确地说明意图的情形下,Java不允许将一个声明为float类型的变量赋值给一个声明为int类型的变量,但是C和C++会自动把float类型的变量缩短并赋值给int类型的变量。在C#中,

2014-03-06 11:28:40 856

原创 语法糖

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。语法糖的例子for 循环一个例子是C语言中的for 循环:

2014-03-06 11:26:09 603

原创 给定一个整数实现奇偶比特位互换-改进方案

刚看到一篇《给定一个整数实现奇偶比特位互换》,笔者做了一下小小的改进,在最后。创新工场笔试,有个题目叫做定义一个宏实现,给定一个整数,进行奇偶比特位互换,比如整数6互换之后就变成9,当时毫无头绪,回头想想也不是很难思路如下:左移一位,则偶数位到了奇数位,将偶数位清零右移一位,则奇数位到了偶数位,将奇数位清零  让两者相加,则得结果

2014-02-20 10:55:43 707

原创 雅思听力中出现频率最高的同意转换

同意转换(Paraphrase, 以下简称PP)是听力考试贯穿始末的核心,Section 1有,Section 4也有,旅游场景有,生物场景也有,填空题里有,选择题里也有。一个PP,既是听力出题的路数所在,又是听力做题的必经之路。毋宁说PP是一个技巧,不如说PP是一种解题方法。技巧是‘巧’,方法是‘方’;考试没有投机取‘巧’,只有破解良‘方’。所以PP不是‘巧’而是‘方’,而这个‘方’的基

2014-02-20 09:08:47 585 1

原创 Linux shell编程 之 if条件

比较两个字符串是否相等的办法是:    if [ "$test"x = "test"x ]; then    这里的关键有几点:    1 使用单个等号    2 注意到等号两边各有一个空格:这是unix shell的要求    3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相

2014-02-19 17:06:31 733

原创 linux中shell date获取时间的相关操作归纳

获得当天的日期date +%Y-%m-%d输出: 2014-02-19 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d)有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期date -d next-day +%Y%m%d获取昨天的日期date -d last

2014-02-19 16:22:25 581

原创 关于Java浮点数运算精度丢失问题

前几天看了一个朋友的博客,说Java中浮点数运算精度丢失的问题,他给出了问题,也指出了C语言相对于Java的优势,其实,Java中也是可以解决浮点运算精度丢失问题的。那就是:BigDecimal。先看一段程序:public class DoubleTest{ public static void main(String args[]) { System.out.println

2014-02-19 10:51:14 1336 2

原创 直接插入排序的三种实现

直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 设数组为a[0…n-1]。1.      初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12.      将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。

2014-02-18 11:51:12 417 1

转载 冒泡排序的三种实现

冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码:[cpp]

2014-02-18 11:15:16 375 1

原创 Linux统计某文件夹下文件、文件夹的个数

统计某文件夹下文件的个数ls -l |grep "^-"|wc -l统计某文件夹下目录的个数ls -l |grep "^d"|wc -l统计文件夹下文件的个数,包括子文件夹里的ls -lR|grep "^-"|wc -l如统计/home/han目录(包含子目录)下的所有js文件则:ls -lR /home/han|grep js|wc -l 或 ls

2014-02-17 17:09:16 382 1

原创 atoi 和 itoa的实现

atoi 和 itoa是面试笔试经常要考到的题目,下面两份代码是用C语言实现的atoi和itoa:1, atoi原型: int atoi(const char *nptr);函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。#include

2014-02-17 16:38:14 693 1

原创 常用数据类型在32位和64位CPU上的字节数比较

测试语句(C语言):printf("char[%d] char*[%d] s_int[%d] int[%d] u_int[%d] float[%d] double[%d] long[%d] LL[%d] UL[%d]\n", sizeof(char),sizeof(char *), sizeof(short int),sizeof(int),sizeof(uns

2014-02-17 15:57:00 339

原创 linux中ps命令介绍及常见应用

来源《鸟哥的linux私房菜》ps:将某个时间点的程序运作情况撷取下来[root@linux ~]# ps aux[root@linux ~]# ps -lA[root@linux ~]# ps axjf参数:-A :所有的 process 均显示出来,与 -e 具有同样的效用;-a :不与 terminal 有关的所有 process

2014-02-17 15:40:26 485 1

原创 异或运算原理常见作用(精华在最后)

定义    异或(xor)是一个数学运算符。它应用于逻辑运算。异或符号为“^”。 其运算法则为a异或b=a'b或ab'(a'为非a)。      真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。简单点说就是异或的两个值'相同为假,不同为真'。 异或运算法则  1. a ^ b = b

2014-02-17 09:58:32 787

转载 Thinking in BigDate(八)大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

纯干货:Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解。      通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS、MapReduce、Hbase、Hive是如何运行,以及基于Hadoop数据仓库的构建和分布式数据库内部具体实现。如有不足,后续及时修改。HDFS的体系架构       整个Hadoop的体系结构主要是通过H

2014-02-16 22:30:43 371

转载 Thinking in BigDate(七)大数据技术核心之NoSql(一)

曾在Thinking in BigDate(三)大数据运作机理与趋势,一文中谈到结构化数据面临的挑战,随着持续增长的海量数据,NoSql应运而生。本文,我们将续续揭开NoSql的神秘面纱,打开非结构化数据的大门(不再过多的探讨关系型数据库的特点)。原文章总结于《NoSql Distilled》作者:Pramod J.Sadalage ,Martin Fowler著,爱飞翔  译

2014-02-16 22:30:07 411

转载 Thinking in BigDate(六)大数据技术核心之ETL

前几篇文章都是根据自己所见所知,在前人的基础上加以整合,对大数据概念有了初步的了解。接下来的四篇文章,抛开大数据的概念与基本知识,进入核心。我们从:数据采集、数据存储、数据管理、数据分析与挖掘,四个方面讨论大数据在实际应用中涉及的技术与知识点。核心技术架构挑战:1、对现有数据库管理技术的挑战。2、经典数据库技术并没有考虑数据的多类别(variety)、SQL(结构化

2014-02-16 22:29:27 699

转载 Thinking in BigDate(五)大数据之统计学与数据挖掘

今天回来,在原来的文章中,添加了一些数据挖掘方面的概念。       上篇博客,我们从”大”,”价值”两点来揭示大数据主要源于哪些企业和在哪些企业应用更广泛。在最后,我么指出了大数据真正的价值:数据挖掘。而什么是数据挖掘,我们抛开传统定义上的数据挖掘的概念,在新形式下,我们应该给数据挖掘的重新认识。由于时间有限,虽题目命名为大数据之统计许与数据挖掘,但是整篇文章基本没有涉及大数据下的这

2014-02-16 22:28:45 579

转载 Thinking in BigDate(四)大数据之“大”的来源与价值

大数据之“大”的来源与价值       在上篇博客中,我们仅仅是从一个简单的利用案例,谈到了大数据的机理和趋势。但我们更多的人,还是对大数据模糊。究竟多少算是“大”?大数据究竟来源于哪些产业?大数据在哪些公司应用更广泛?大数据的价值是什么?大数据阻碍了哪些商业的发展?又究竟给哪些产业带来新的活力?究竟多少算大?       在前面的几篇博客中,我们已经谈到,大数据,并不在于

2014-02-16 22:27:49 518

转载 Thinking in BigDate(三)大数据运作机理与趋势

大数据运作机理与趋势       结束了,上一篇的大数据变革。接下来,我们将更加深入的探讨大数据是如何运行的?以及大数据将会在哪些具体的领域产生改变以及如何实施它们?大数据运作机理       2013年12月5-6日,在北京召开的,中国大数据技术大会。从一开始,这个名词似乎已经预示着,这将是再一次将大数据的影响力进一步拉大。集结上百名国内外顶级的技术专家,在一起谈

2014-02-16 22:26:39 676

转载 Thinking in BigDate(二)大数据时代下的变革

大数据时代的思维变革        A Revolution That Will Transform How We Live, Work, and Think.       不期而遇的一本《大数据时代》将我引进大数据的领域。这个浪里淘沙的时代,我们都站在这个时代改革的前沿,而作为互联网最具爆发力的一种媒介,它给我传递着什么资讯?如果说我们错过了2000年左右的互联网浪潮,错过电商竞

2014-02-16 22:25:56 560

转载 Thinking in BigDate(一)前序

谁也无法说服他人改变,因为我们每一个人都守着一扇只能从内开启的改变之门,不论动之以情或说之以理,我们都不能替别人开门。                                      ——弗格森  BigDate这一名词,第一次蹦出脑袋应该是13年3月份,一次地铁悄然而遇。自此11个月之后至今,它可能俨然成为这个时代阶段性的代言词。也在你的思维与轨迹中产生深远的影响,以至于你的生

2014-02-16 22:24:50 492

原创 继承、重写、覆盖、重载、多态的区别

override->重写(=覆盖)、overload->重载、polymorphism -> 多态 1、继承(inheritance)   一旦你已经创建了一个定义了对象一般属性的超类,该超类可以被继承以生成特殊用途的类。每一个子类只增添它自己独特的属性。这是继承的本质。Java 不支持多超类的继承。   超类变量可以引用子类对象(这个具体有什么作用,有待补充)2、重写(覆盖)

2014-02-16 22:04:02 420 1

Python中文手册V2.4

Python 中文手册V2.4对学习Python的人来说的很好的帮助

2009-11-24

lovelyPython我爱python

lovelyPython我爱python

2009-11-24

南开大学C语言100例

C语言100例,是南开大学经典100C语言学习实例,其配清华大学版的C语言程序设计学习会有很好的学习效果!

2009-06-11

最常见的20种VC++编译错误信息

最常见的20种VC++编译错误信息,是介绍学习者在学习上机实验过程中遇到的常见问题…………

2009-06-11

数据结构之数据抽象和问题求解-C++源代码

数据结构之数据抽象和问题求解-C++语言描述源代码 ,介绍和解决数据结构中经常用到的一些常见的问题和方法……很实用

2009-06-11

数据结构教程(C语言版)码源(李春宝)

数据结构教程(C语言版)码源(李春宝)这是学习数据结构很好的实验实例,学者可以直接复制码源到运行平台………………

2009-06-11

空空如也

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

TA关注的人

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