自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (7)
  • 收藏
  • 关注

转载 白话数字签名

白话数字签名(1)——基本原理(新!)本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章)。然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO。由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加密技术。对称加密何谓加密

2015-08-31 20:13:28 625

转载 静态多态

静态多态示例代码:#includeusing namespace std;class Car{public: void run() const {  cout }};class Airplane{public: void run() const {  cout }};template void run_vehicl

2015-08-31 19:16:22 305

原创 快排 忘了写一遍

#include #include #include using namespace std;int partion(int s[], int l, int r) //返回调整后基准数的位置   {      int i = l, j = r;      int x = s[l]; //s[l]即s[i]就是第一个坑       while (i    

2015-08-31 17:03:37 331

原创 堆排序 感觉忘了实现一遍

void heapAdjust(int a[],int s,int n){int largest=s;if(2*sa[s])largest=2*s;if(2*s+1a[largest])largest=2*s+1;if(largest==s) return ;else {swap(a[s],a[largest]);heapAdjust(a,largest,n);

2015-08-31 16:21:18 295

转载 内存 地址 分配

内存 地址 分配高地址到低地址进行分配的: --------------------------------------------------------------------------------int i=1;int j=1;cout----------------------------------------------------------

2015-08-31 14:59:37 415

转载 拷贝构造函数是必须要带引用类型的参数的

拷贝构造函数是必须要带引用类型的参数的在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不好还好,我有理性这个好品质。思索一下以后,发现这个答案是不对的。让我来撕

2015-08-31 14:49:35 543

转载 malloc(0)的返回值

最近,看了有关malloc(0)的返回值以及其他一些问题的讨论,我把自己的感受和看法记录如下:问题:char* ptr = malloc(0*sizeof(char));if(NULL == ptr)      printf("got a NULL pointer");else     printf("got a Valid pointer");请问

2015-08-31 10:33:38 2437

转载 c++中的隐藏、重载、覆盖(重写)

c++中的隐藏、重载、覆盖(重写) 1 重载与覆盖    成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。     覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。

2015-08-30 17:50:20 363

转载 再谈typedef

示例:下列用法错误的是:typedef INT int;typedef unsigned char byte;typedef char str40[41];typedef long float double答案:AD 用法说明:1、  为现有数据类型定义同义词 typedef 使用最多的地方是创建易于记忆的类型名,用它来归档程序员的意图。例如:typ

2015-08-30 17:20:35 393

转载 运算符重载函数作为类成员函数和友元函数

可以看到,重载函数operator+访问了两个对象中的成员,一个是this指针指向的对象中的成员,一个是形参对象中的成员。如this->real+c2.real,this->real就是c1.real。上节中已说明,在将运算符函数重载为成员函数后,如果出现含该运算符的表达式,如c1+c2,编译系统把它解释为   c1.operator+(c2)即通过对象c1调用运算符重载函数,并以表达

2015-08-30 17:08:46 1373

转载 图的割点

【算法】求无向连通   图的割点割点与连通度在无向连通图中,删除一个顶点v及其相连的边后,原图从一个连通分量变成了两个或多个连通分量,则称顶点v为割点,同时也称关节点(Articulation Point)。一个没有关节点的连通图称为重连通图(biconnected graph)。若在连通图上至少删去k 个顶点才能破坏图的连通性,则称此图的连通度为k。关

2015-08-30 15:12:44 972

转载 跳表(Skip List)的介绍以及查找插入删除等操作

今天有同学去面试,被问到了“跳表”这种数据结构,说实话我之前对它了解不多,于是上网查了跳表的资料,并在这里总结一下。什么是跳表?要说清楚这个问题,我们就要先从普通的有序链表说起。一个普通有序列表的结构如下:我们可以看到,上图所示的链表按照由小到大的顺序排列(-1表示最小值,1表示最大值,这是本文的一个约定),如果我们想要查找一个元素x,算法如下:

2015-08-29 09:23:18 2665 1

转载 QT的信号与槽机制介绍

信号与槽作为QT的核心机制在QT编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念、元对象工具以及在实际使用过程中应注意的一些问题。QT是一个跨平台的C++ GUI应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前Linux上最为流行的KDE桌面环境就是建立在QT库的基础之上。QT支持下列平台:MS/WINDOWS-95、98、NT和

2015-08-28 19:16:18 373

原创 内联函数和宏定义的区别

用内联取代宏:1.内联函数在运行时可调试,而宏定义不可以;2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会; 3.内联函数可以访问类的成员变量,宏定义则不能; 4.在类中声明同时定义的成员函数,自动转化为内联函数。文章(一)内联函数与宏定义  在C中,常用预处理语句#define来代替一个函数定义。例如:

2015-08-28 16:08:55 477

转载 DNS用UDP还是TCP传输

一、DNS报文角度来看主要是查看DNS报文首部中的标志字段[QR][opcode][AA][TC][RD][RA][(zone)][rcode]当客户端发出DNS查询请求,从服务器收到的响应报文中的TC(删减标志)比特被置为1时,表示应答总长度超过512字节,只返回前512个字节,这时DNS就需要使用TCP重发原来的查询请求。因为在UDP的应用程序中,其应用程序被限制在512个

2015-08-27 20:04:31 5811

转载 HTTPS 是怎么加密的

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。  HTTPS简介  HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。

2015-08-27 20:01:50 808

转载 当你访问淘宝的时候,发生了什么?

【导读】当你在浏览器上,指尖轻轻输入  www.taobao.com  以后发生了什么?本文从你按下浏览器的确定键开始分析,一直到你如何找到商品结束。适合各类读者了解你仅仅访问一次淘宝的首页,所涉及到的技术和系统规模,本文作者名叫孙放,著于他在淘宝实习期间。你发现快要过节了,于是想给你的男/女朋友买点儿礼物,你打开了淘宝。下面来看看,当你在浏览器轻轻www.taobao.com  以后

2015-08-27 19:31:55 1523

转载 访问 www.taobao.com过程

首先是查找浏览器缓存,浏览器会保存一段时间你之前访问过的一些网址的DNS信息,不同浏览器保存的时常不等。如果没有找到对应的记录,这个时候浏览器会尝试调用系统缓存来继续查找这个网址的对应DNS信息。如果还是没找到对应的IP,那么接着会发送一个请求到路由器上,然后路由器在自己的路由器缓存上查找记录,路由器一般也存有DNS信息。如果还是没有,这个请求就会被发送到ISP(注:Int

2015-08-27 19:31:14 34833

转载 c++ const常量的实现机制

const关键字的基本思想就是将一个变量变成常量,试图从语言设计者的角度去分析引入该关键字的动机。我猜测原因如下:1)提醒程序员,某些值是常量,如PI。或该值在程序运行期间是不变的,防止程序员误修改。对于多模块开发,头文件引用复杂的系统来说,这是很重要的,如果不能在编译期阻止常量被误修改,那么这些修改将引起运行时调试困难的问题。2)改进c语言中的#define预处理宏,1)中提

2015-08-27 17:00:10 410

转载 C++ STL 中的 bitset 用法

#include    #include    int main()  {      std::bitset bs(8);      std::cout "输出所有binary bit: "     std::cout "bitset - any() 是否存在置为1的bit: "     std::cout "bitset - none() 是否不存在置为 1 的bit: "     std::c

2015-08-26 10:55:17 512

原创 浅析 RTTI机制

RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。本文将简略介绍 RTTI 的一些背景知识、描述 RTTI的概念,并通过具体例子和代码介绍什么时候使用以及如何使用 RTTI;本文还将详细描述两个重要的 RTTI运算符的使用方法,它们是 typeid和 dynamic_cast。       其实

2015-08-25 19:41:27 606

原创 构造函数的顺序

要想搞明白该问题,需要理解基类构造析构函数、子类构造析构函数和子类成员变量构造析构函数的调用顺序。对于构造函数:基类构造函数 > 子类成员变量构造函数 > 子类构造函数对于析构函数:子类析构函数 > 子类成员变量析构函数 > 基类析构函数可以看出构造函数的调用过程和析构函数的调用过程正好相反。main函数中首先构造变量a,然后是b。在构造b时首先调用b的基类A的构造函数

2015-08-22 21:39:45 1241

转载 sleep() wait() yeild()三者之间的区别?

java 中的1、sleep()方法会给其他线程运行的机会,而不考虑其他线程的优先级,因此会给较低线程一个运行的机会;yield()方法只会给相同优先级或者更高优先级的线程一个运行的机会。  2、当线程执行了sleep(long millis)方法后,将转到阻塞状态,参数millis指定睡眠时间;当线程执行了yield()方法后,将转到就绪状态。  3、sleep()方法声明抛出Int

2015-08-22 21:31:39 508

转载 Nginx 学习

解析 Nginx 负载均衡摘要:对于一个大型网站来说,负载均衡是永恒的话题。随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不二之选。nginx作为webserver的后起之秀,其优秀的反向代理功能

2015-08-21 21:31:20 293

原创 linux命令--------------uptime

uptime命令是用来查询linux系统负载的!用法:直接输入uptime即可.另外还有一个参数  -v(大写)是用来查询版本的[root@ localhost]$ uptime –V(大写)       procps version 3.2.7以下显示输入uptime的信息:04:03:58 up 10 days, 13:19,  1 user

2015-08-21 10:40:41 326

转载 海量数据处理:十道面试题与十个海量数据处理方法总结

海量数据处理:十道面试题与十个海量数据处理方法总结出处:http://blog.csdn.net/v_JULY_v。 第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。      首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模

2015-08-20 21:59:23 229

原创 堆排序

堆排序的意义并不在于排序本身(图示+代码)(二叉)堆是一种特殊的数据结构.:(二叉)堆数据结构是一种数组对象,它可以被视为一种完全二叉树:树中的每个节点与数组中存放该节点值的那个元素对应。树的每一层都是填满的,最后一层除外.:(二叉)堆的用途很广,例如典型的运用--优先队列|堆排序{速度比快速排序慢,比插入排序块O(nlg(n))}建堆的过程

2015-08-20 20:31:42 292

原创 C/C++之sizeof与strlen的区别

strlen:是C标准库中的字符串函数,用于统计字符的个数。函数原型int  strlen(const char * src);循环扫描字符数组的元素,如果不为“/0”则加1,当当前的字符是“/0”时,则退出循环返回长度。当我们要拷贝一个字符串时,一般获取字符的长度加1后,再调用malloc函数。sizeof:是c语言中的运算符,确切的说是一个编译时运算符,用于统计类型或者变量所占的内存字

2015-08-19 11:17:22 347

转载 C++的深拷贝与浅拷贝

C++的深拷贝与浅拷贝对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 123456789101112

2015-08-19 10:40:27 303

原创 c++32位系统和64位系统中类型的字节区别

TypeType's size on x32 / x64 platformNoteint32 / 32Basic type. On 64-bit systems remains 32-bit.long32 / 32Basic type. On 64-bit Windows systems remains 32-bit. Keep in mind th

2015-08-18 17:08:43 1681

转载 一致性哈希算法及其在分布式系统中的应用

一致性哈希算法及其在分布式系统中的应用摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。分布式缓存问题假设我们有一个网站,最近发

2015-08-14 18:46:44 333

转载 浅析PageRank算法

浅析PageRank算法很早就对Google的PageRank算法很感兴趣,但一直没有深究,只有个轮廓性的概念。前几天趁团队outing的机会,在动车上看了一些相关的资料(PS:在动车上看看书真是一种享受),趁热打铁,将所看的东西整理成此文。本文首先会讨论搜索引擎的核心难题,同时讨论早期搜索引擎关于结果页面重要性评价算法的困境,借此引出PageRank产生的背景。第二部分会详细讨论Pa

2015-08-14 17:13:52 1233

转载 如何实现一个malloc

如何实现一个malloc任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现malloc的基本思想并不复杂,任何一个对C和操

2015-08-14 16:32:45 371

转载 leetcode---题出现频率

1Two Sum25arraysort    setTwo Pointers2Add Two Numbers34linked listTwo Pointers   

2015-08-14 15:11:02 400

转载 数据结构---并查集

1、  概述并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。2、  基本操作并查集是一种非常简单的数据结构,它主要涉及两个基本操作,分别为:A. 合并两个不相交集合B. 判断两个元素是否属于同一个集合(1)       合并两个不相交集合(Union(x,y)

2015-08-14 15:09:35 313

原创 贝叶斯公式,全概率公式

贝叶斯公式编辑贝叶斯定理由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 ) 发展,用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则:P(A∩B)=P(A)*P(B|A)=P(B)*P(A|B),可以立刻导出。如上公式也可变形为:P(B|A)=P(A|B)*P(B)/P(A)。

2015-08-13 19:48:35 600

转载 网络通信模型 --select

本文涉及到线程 / 时间图例,只为表明线程在各个 IO 上确实存在阻塞时延,但并不保证时延比例的正确性和 IO 执行先后的正确性;另外,本文所提及到的接口也只是笔者熟悉的 Unix/Linux 接口,并未推荐 Windows 接口,读者可以自行查阅对应的 Windows 接口。阻塞型的网络编程接口几乎所有的程序员第一次接触到的网络编程都是从 listen()、send()、recv

2015-08-13 17:17:09 2751

转载 network中的IO同步,异步,阻塞和非阻塞

同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不

2015-08-13 16:46:13 539

转载 多线程基础

对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。  所以学习多线程编程最重要的不是学习 API, 而是理解什么才是多线程安全的代码  从例子说起#include #include long  global1 = 0;volatile   long 

2015-08-13 10:09:38 284

原创 操作系统读书笔记

1. 进程的创建一旦操作系统发现了要求创建进程的事件后,便调用进程创建原语按下述步骤创建一个新进程(1)    申请空白PCB(2)    为新进程分配资源(3)    初始化进程控制块(4)    将新进程插入就绪队列2.内核级线程和用户级线程内核级线程:表示无论是用户进程中的线程还是内核进程中的线程,他们的创建、撤销和切换都是依靠内核的,主要缺点:对于用户的线程切换

2015-08-12 20:30:39 817

C++函数速查

C++函数速查,包含了C++中各类函数的介绍,适合于我们快速查找函数的功能

2014-03-14

JNI技术各类文档

jni详解 JNI设计实践之路 JNI技术手册 Java_JNI_编程进阶 android_jni操作指南

2014-03-14

webservice

AXIS、webservice平台的搭建,以及测例

2013-07-15

c#与sql server远程连接

C# 与SQL server 连接,执行SQL语句 向各种控件导入数据 combobox datagridview listbox等

2013-07-15

R语言入门教程

R语言入门教程,适合R语言初学者的一本教材,普及R的运用好书

2011-11-12

空空如也

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

TA关注的人

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