自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

原创 Python中的函数详解

声明:转载自伯乐在线Python中的函数,无论是命名函数,还是匿名函数,都是语句和表达式的集合。在Python中,函数是第一个类对象,这意味着函数的用法并没有限制。Python函数的使用方式就像Python中其他值一样,例如字符串和数字等。Python函数拥有一些属性,通过使用Python内置函数dir就能查看这些属性,如下代码所示:def square(x): return x**2>>>

2015-06-30 10:57:24 1068 1

原创 C++11并发编程-条件变量(condition_variable)详解

<condition_variable >头文件主要包含了与条件变量相关的类和函数。相关的类包括 std::condition_variable和 std::condition_variable_any,还有枚举类型std::cv_status。另外还包括函数 std::notify_all_at_thread_exit(),下面分别介绍一下以上几种类型。std::condition_variabl

2015-06-25 16:34:22 2988

原创 Linux作业管理

在介绍作业管理之前需要先知道,作业管理是在bash环境下使用的。也就是说“当登入系统获取bash shell之后,在单一终端界面下,同时管理多个作业”。这样应该了解到:管理作业时,其实每个作业都是当前bash的子程序,即彼此之间是有关联的。我们无法以作业管理的方式由tty1的环境去管理tty2的bash。直接将命令放到后台“执行”的&在bash的环境下, 前台指:你可以控制的作业。后台指:在内存可以

2015-06-17 10:28:48 1255

原创 原始字符串字面量

原始字符串字面量(raw string literal)是可以横跨多行代码的字符串字面量,不需要转义嵌入的双引号,像\t和\n这种转义序列不按照转义序列的方式处理,而是按照普通文本的方式处理。如果像下面这样编写普通的字符串字面量,那么会收到一个编译器错误,因为字符串包含了未转义的引号:string str = "Hello "World"!"; // Error! 对于普通的字符串,必须转义双

2015-06-17 08:53:26 1287

原创 为包含指针的关联容器指定比较类型

错误是怎么来的?我写下这样的代码: set<string*> ssp; ssp.insert(new string("Ant")); ssp.insert(new string("Wom")); ssp.insert(new string("Lem")); ssp.insert(new string("Pen")); for (set<string*>:

2015-06-16 15:43:00 583

原创 使用C++11中的遍历工具

处理日期和时间的chromo库duration表示一段时间间隔,表示几秒、几分钟等。typedef duration<Rep, ratio<60,1>> minutes;typedef duration<Rep, ratio<1,1>> seconeds;typedef duration<Rep, ratio<1,1000>> milliseconds;Rep表示时间数值,ratio表示时

2015-06-16 11:14:49 854

原创 半同步半异步线程池的实现(C++11)

简介处理大量并发任务时,一个请求对应一个线程来处理任务,线程的创建和销毁将消耗过多的系统资源,并增加上下文切换代价。线程池技术通过在系统中预先创建一定数量的线程(通常和cpu核数相同),当任务到达时,从线程池中分配一个线程进行处理,线程在处理完任务之后不用销毁,等待重用。线程池包括半同步半异步和领导者追随者两种实现方式。线程池包括三部分,第一层是同步服务层,它处理来自上层的任务请求。第二层是同步队列

2015-06-16 09:19:04 1068 2

原创 知乎C++问题整理

如何兼顾性能,合理选择C++STL容器?ANSER:首先要搞清楚,如果STL有性能问题,那么问题出在哪里?STL可以简单地认为就是算法+数据结构,所有容器的算法选择和实现都是经过精心设计和严格测试的,几个主流STL实现都不会有大问题。性能问题通常都出在内存数据操作上,内存操作有三种,内存读取、内存复制和内存分配。所以选择合适容器的依据就是要尽量减少内存操作尤其是复制操作,比如频繁中间插入删除就不要选

2015-06-15 11:33:43 1251

原创 随机洗牌算法---我们一起谈谈

看到这个问题是在知乎上, 一个回答:实现一下#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;const int RAND_MAXNUM = 100;int bigRand(){ return RAND_MAXNUM*rand() + rand(

2015-06-12 20:42:23 822

原创 mov指令详解

MOV指令可以在CPU内或CPU和存储器之间传送字或字节,它传送的信息可以从寄存器到寄存器,立即数到寄存器,立即数到存储单元,从存储单元到寄存器,从寄存器到存储单元,从寄存器或存储单元到除CS外的段寄存器(注意立即数不能直接送段寄存器),从段寄存器到寄存器或存储单元。 但是注意(1) MOV指令中的源操作数绝对不能是立即数和代码段CS寄存器; (2) MOV指令中

2015-06-12 17:02:56 15986 1

原创 600字读懂 Git

原文地址设想你现在位于 alpha/ 目录下,这里有一个文本文件 number.txt,里面的内容只有一个词:“first”。现在执行 git init 将这个 alpha 文件夹初始化为 Git 仓库。执行 git add number.txt 会将 number.txt 添加到 Git 的索引(index)中。这个索引记录了所有 Git 保持追踪的文件,现在它有了一个映射记录 number.tx

2015-06-11 19:37:21 761

原创 什么是垃圾回收

乍一看,垃圾回收所做的事情应当恰如其名——查找并清除垃圾。事实上却恰恰相反。垃圾回收会跟踪所有仍在使用的对象,然后将剩余的对象标记为垃圾。牢记了这点之后,我们再来深入地了解下这个被称为“垃圾回收”的自动化内存回收在JVM中到底是如何实现的。手动管理内存在介绍现代版的垃圾回收之前,我们先来简单地回顾下需要手动地显式分配及释放内存的那些日子。如果你忘了去释放内存,那么这块内存就无法重用了。这块内存被占有

2015-06-11 09:12:44 922 1

原创 判断大小端序的C程序

概念大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。如5A6C中5A是高字节、6C是低字节,在大端序机器中,高字节位于低地址中,即在大端序中按照5A6C存储,在小端序中按照6C5A存储。为什么存在这种模式因为在计算机系统中,我们是以字节为单位的,每个地址单元都对

2015-06-10 17:18:26 905

原创 字符串全排列的递归实现

#include "stdafx.h"#include <iostream>#include <assert.h>using namespace std;void permutation(char *pStr, char* pBegin){ assert(pStr&&pBegin); if (*pBegin == '\0') cout << pStr << e

2015-06-10 15:52:23 749

原创 构造函数为什么不能是虚函数

从存储空间角度看虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。从使用角度虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是要初始化实例,那使用

2015-06-08 23:00:30 962

原创 C++中的虚析构函数、纯虚析构函数详解

C++中析构函数可以为纯虚函数吗?众所周知,在实现多态的过程中,一般将基类的析构函数设为virtual,以便在delete的时候能够多态的链式调用。那么析构函数是否可以设为纯虚呢?class CBase{ public: CBase() { printf("CBase()\n"); } virtual ~CBase

2015-06-08 22:03:48 3520

原创 看懂大数据的技术生态圈 Hadoop,hive,spark(转载)

先给出原文链接: 原文链接大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。你可以把它比作一个厨房所以需要的各种工具。锅碗瓢盆,各有各的用处,互相之间又有重合。你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮。但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择。大数据,首先你要能存的下大数据。传统的文件系统是单机的

2015-06-04 11:16:45 833

原创 Make 命令教程详解

make是工程构建的必要工具。Make的概念Make这个词,英语的意思是”制作”。Make命令直接用了这个意思,就是要做出某个文件。比如,要做出文件a.txt,就可以执行下面的命令。$ make a.txt但是,如果你真的输入这条命令,它并不会起作用。因为Make命令本身并不知道,如何做出a.txt,需要有人告诉它,如何调用其他命令完成这个目标。比如,假设文件a.txt 依赖于b.txt 和 c.t

2015-06-01 19:59:49 1056

SSH框架整合实例

完整的ssh框架整合实例,真的是完整的,不要积分

2014-08-28

排列生成算法

对排列生成算法的很好的总结,很详细,有着丰富的例子,理解起来不是问题

2013-11-23

数据库 分析了解图书信息管理的创建过程

库表的建立,这是很容易实现的,希望对大家会有作用,谢谢

2011-06-03

空空如也

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

TA关注的人

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