自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 给一个无符号数前置减号,结果仍为无符号

unsigned int x = 10;-x;warning C4146: unary minus operator applied to unsigned type, result still unsigned

2015-09-18 09:43:32 477

转载 C/C++中“#”和“##”的作用和用法

FROM:http://www.2cto.com/kf/201503/381187.html在C/C++的宏中,”#”的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。而”##”被称为连接符(concatenator),用来将两个子串Token连接为一个Token。注意这里连接的对象是Token就

2015-09-15 20:52:50 426

原创 _ITERATOR_DEBUG_LEVEL

libcpmt.lib(cout.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' does

2014-06-22 22:37:46 647

转载 windows网络编程通讯模型

http://hi.baidu.com/tsingsing/item/1aa5062fa27791fa50fd87b7

2013-10-24 00:44:35 641

转载 strtok的用法

#include #include using namespace std;int main(){ char sentence[]="This is a sentence with 7 tokens"; cout<<"The string to be tokenized is:\n"<<sentence<<"\n\nThe tokens are:\n\n"; char *tokenPt

2013-10-23 02:06:43 497

转载 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离

http://www.cnblogs.com/zhangchaoyang/articles/2012070.html

2013-10-17 00:05:20 457

转载 最长递增子序列-O(NlogN)

http://www.ahathinking.com/archives/117.html

2013-10-16 23:35:40 635

转载 Lights off(关灯游戏)终极算法

http://module77.is-programmer.com/posts/7231.html

2013-10-16 21:39:43 3735

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

http://blog.codinglabs.org/articles/consistent-hashing.html

2013-10-16 17:30:24 585

转载 伪造ip包代码

http://blog.csdn.net/flash9008/article/details/5811298

2013-10-07 02:00:04 675

转载 远指针FAR/近指针NEAR/_STDCALL/_CDECL

今天看到inet_ntoa函数的原型,这个返回类型实在是没见过:char FAR* PASCAL FAR inet_ntoa(struct in_addr in);搜索了一下:1.关于FAR:(来自http://blog.csdn.net/sphone89/article/details/7184976)FAR 是16位系统时候的概念了,代表远指针的意思。近指针是1

2013-10-07 00:18:38 784

转载 STL迭代器简介

原文网址:http://www.cppblog.com/The-Moment/archive/2009/06/18/88023.html标准模板库(The Standard Template Library, STL)定义了五种迭代器。下面的图表画出了这几种:            input         output              \            /

2013-10-03 16:34:28 345

转载 函数指针例子

一个最简单的函数指针定义如下:Void (*funcPtr) (); //funcptr是一个函数指针,它指向的函数没有参数,返回值为void非常复杂的函数指针定义:1.            Void * (* ( * fp1)(int))[10];解析:Void * X[10];è这是一个有10个void*类型的元素的数组。         X=* ( * fp1)(i

2013-10-02 22:50:35 595

原创 c++ delete[]:怎么知道需要释放的空间大小

今天想到了这个问题,开始以为和数组一样,要在同一个作用域内才能知道释放多少空间:#include "iostream"using namespace std;class A{ int static i;public: A(){} ~A(){cout<<"释放第"<<++i<<"个对象"<<endl;};};int A::i = 0;int main(

2013-10-02 13:49:45 2650

转载 [阿里一道笔试题]排序的交换次数

若初始序列为gbfcdae,那么最少需要()次两两交换,才能使次序变为abcdefg。任给一个由a-g这7个字母组成的排列,最坏的情况下需要至少()次两两交换,才能使顺序变为abcdefg. 答案从别人那儿看的:5;6普遍规律为  字符个数-环的个数。每个字符向正确位置连一条单向边,求环个数就可以(自环也算)。

2013-09-22 01:55:20 1453

原创 Java interrupt

这玩意感觉(没去查源代码)本质只是改了一个共享变量(假设其为interrupted),sleep,wait,join这三种阻塞函数会去查看这个变量,如果发现interrupted = true,就抛出异常终止阻塞。 所以如果你在主线程中调用interrupt函数的时间>子线程调用三个函数的时间,或者你在子线程根本就没有调这三个函数,那么interrupt不起作用。要让interrupt

2013-09-21 21:11:05 915

转载 Java Thread 总结

http://www.cnblogs.com/DreamSea/archive/2012/01/11/JavaThread.html java中wait/notify机制 http://sishuok.com/forum/blogPost/list/3674.html

2013-09-21 20:17:41 559

原创 Linux的系统负载

原理:通过统计运行时的进程数来反应。Load average:0.02 0.12 0.22分别表示1分钟/5分钟/15分钟内的平均运行进程数 查看命令:w:还可以顺便查看一下当前登录的用户以及他们正在跑的进程top:动态查看系统信息的命令uptime:显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟

2013-09-21 17:30:58 602

转载 TCP三次握手/四次挥手详解

http://justim.blog.51cto.com/740099/237548

2013-09-19 02:19:07 579

转载 send()函数的理解和recv()函数

http://no001.blog.51cto.com/1142339/530815

2013-09-19 01:47:00 648

原创 [西山居笔试]分别写一个宏和函数来获取元素个数 如count(a) 会得到a数组元素个数

#include "iostream" using namespace std;#define COUNT(arr) (sizeof(arr) / sizeof(arr[0])) templateint count(T &arr){ return sizeof(arr) / sizeof(arr[0]);}int main() { int a[101]

2013-09-19 01:15:31 1845

转载 快速排序

#include "iostream" #include "vector" using namespace std; void qSort(int a[], int l,int r){ if(l >= r) return; int i = l,j = r,key = a[l]; while(i < j){ while(i = key) j--;

2013-09-18 19:28:41 530

转载 Windows线程+进程通信

http://www.cnblogs.com/itech/archive/2010/06/29/1767311.html

2013-09-18 19:14:36 492

转载 [迅雷笔试题]从1....n中随机输出m个不重复的数

思想:先以m/n的概率判断第一个数出不出现;如果出现,那么以(m-1)/(n-1)的概率判断下一个数出不出现;若不出现,那么以m/n-1的概率判断下一个数出不出现,等于如果前面的数不出现的话加大后面的数的出现概率。#include "iostream"#include "ctime"#include "cstdlib"using namespace std;void knu

2013-09-18 18:47:02 940

转载 数组排列/全排列(data数组没有重复元素)

思想:依次生成以data[0]开头的所有排列,data[1]开头的所有排列...#include "iostream"#include "iterator"#include "algorithm"using namespace std;int data[5] = {1,2,3,4,5};void perm(int index[],int n, int k) {

2013-09-18 18:33:32 617

原创 STL:如何释放vector占用的内存

(一道百度面试题)C++ STL中vector的相关问题,调用clear时,内部是如何具体实现的?若想将其内存释放,该如何操作? 假设有一个vector x(100);这样首先会申请(100*sizeof(int))的内存大小。调用clear函数仅仅是将数据清除,而申请的内存还是存在的,并没有释放掉。可以调用下面的语句进行释放:{ vector t; t.s

2013-09-18 14:05:03 1404

原创 从数据流中随机选择m个数的算法

百度笔试题目:为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个query,现设计一个算法,对用户请求的query进行随机选择m个,请给一个方案,使得每个query被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。 方法一:前m个直接存对后面来的每个数据a[i](i > m),随机生成一个(1..i)之

2013-09-13 04:07:57 1271

原创 c++中的extern "C"

1.什么时候用1) c++要引用c编译的函数或者变量2 )c要引用c++编译的函数或者变量 2.为什么要用 两种语言对函数的编译方式差异:c中仅将函数名作为特征符,而c++为了实现重载,将函数名+参数列表作为特征符。比如函数 int f(int a);C中特征符类似_fC++中特征符类似_f_int所以两种语言在互相引用的时候,要通过extern "C"

2013-09-12 01:08:47 606

原创 类型转换中的有符号转换与无符号转换

int main(){ char c1 = 0x08; char c2 = 0x80; unsigned char uc1 = 0x08; unsigned char uc2 = 0x80; int int_c1 = (int)c1; int int_c2 = (int)c2; int int_uc1 = (int)uc1; int int_uc2 = (int)u

2013-09-11 22:11:09 503

转载 C++ 对象内存布局

好文要记下来http://blog.csdn.net/haoel/article/details/1948051

2013-09-10 18:12:07 481

原创 设计模式学习笔记总结

一.创建型模式1.工厂方法模式抽象工厂角色:提供一个创建产品的接口具体工厂角色:实现创建各类产品与简单工厂模式的区别是,简单工厂是一个工厂类,没有继承自任何接口类。当要增加某种产品的时候,需要修改这个工厂类,不符合OCP原则。而工厂方法模式是面向接口的,如果要增加一个产品,我们可以通过继承接口来增加一个可以制造该产品的工厂类,而不需要修改之前的工厂类。 应用场景

2013-09-09 02:25:56 675

转载 设计模式六大原则

用抽象构建框架,用实现扩展细节:单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合(不要和陌生人说话)。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。 卡奴达摩关于设计模式的文章:http://blog.csdn.ne

2013-09-09 00:21:17 356

原创 Java虚拟机学习笔记2-垃圾收集

1.哪些对象可以被回收-根搜索算法。2.可作为GC roots的对象有:a.虚拟机栈帧中引用的对象b.方法区中的类静态变量属性引用点对象c.方法区中的常量引用的对象d.本地方法栈中的JNI(native方法)的引用对象3.永久代的垃圾收集:废弃常量和无用的类废弃常量的收集:判断有木有对象引用它,没有就回收。无用的类的收集需满足以下三个条件:a.不存在该类的任何实例;

2013-08-15 16:08:21 562

转载 class.forname与classloader

1.Class.forName返回的Class对象可以决定是否初始化。而ClassLoader.loadClass返回的类型绝对不会初始化,最多只会做连接操作。 2.Class.forName可以决定由哪个classLoader来请求这个类型。而ClassLoader.loadClass是用当前的classLoader去请求。http://daizuan.iteye.com/blo

2013-08-15 14:32:53 460

转载 java classloader

http://www.iteye.com/topic/83978

2013-08-15 14:07:47 432

转载 java动态代理

http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html

2013-08-11 21:16:49 416

原创 Java虚拟机学习笔记1-内存区域

1.方法区:(非堆区)存储类信息(版本,字段,方法,接口,常量(类加载后存储在运行时常量池中),静态变量),即时编译器编译后的代码运行时常量池:存储常量信息,主要是这个东东具有动态性,即在程序运行期间可以动态往里面插入常量。比如String类的intern函数。2.堆:存储对象,数组3.虚拟机栈:存储栈帧栈帧:每call一个方法,就创建一个栈帧,里面包含局部变量表,操作栈,动态链接

2013-08-11 15:49:57 638

转载 深入理解Java多态性

http://developer.51cto.com/art/200906/130414.htm

2013-08-03 00:10:34 342

转载 String中intern的方法

[来自:http://www.cnblogs.com/wanlipeng/archive/2010/10/21/1857513.html]String中intern的方法首先查看官方API那个的解释:———————————————————————————————————————internpublic String intern()返回字符串

2013-07-21 16:16:05 432

计算机组成原理计算机组成原理

给需要的人给需要的人给需要的人给需要的人给需要的人给需要的人给需要的人给需要的人给需要的人给需要的人给需要的人给需要的人

2009-08-20

windows程序设计

给需要的人给需要的人给需要的人要大于20个字符

2009-08-20

c++编程思想中文版

给需要的人给需要的人给需要的人给需要的人给需要的人...要大于20个字符...

2008-11-17

空空如也

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

TA关注的人

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