摘要: 华丽的递归——将正整数表示为平方数之和来自:http://www.cnblogs.com/KBTiller/archive/2011/12/04/2275232.html题目:There live square people in a square country.Everything in this country is square also.Thus, the Square Parliament has passed a law about a land.According to the law each citizen of the country has a right to buy 阅读全文
posted @ 2011-12-04 10:52 madonion 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 确定性析构在有指针的环境下的麻烦之处来自http://rednaxelafx.iteye.com/blog/372310刚考完大软,心里还在郁闷,随便发点牢骚吧…… 昨天同学考C++的时候还有一题,是找出程序错误的题。代码大概是这样: Cpp代码 classA{inti;};classB{A*p;public:B(){p=newA;}~B(){deletep;}};voidfoo(Bb){//...}intmain(){Bb;foo(b);}你看出问题在什么地方了么? =============================================================.. 阅读全文
posted @ 2011-12-03 13:24 madonion 阅读(536) 评论(0) 推荐(0) 编辑
摘要: http://mitpress.mit.edu/sicp/full-text/sicp/book/SICP课本全文。录像:http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/MIT计算机入门课。Structure and Interpretation of Computer Programs 阅读全文
posted @ 2011-12-03 13:10 madonion 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 使用C语言来扩展PHP,写PHP扩展dll转自http://www.cnblogs.com/myths/archive/2011/11/28/2266593.html 以前写过一次PHP扩展DLL,那个是利用调用系统的COM口实现的扩展,与PHP不能真正融合。心血来潮,研究了一下PHP的源码,网上找了一些资料,自己尝试写了一个扩展DLL,测试没问题。下面记录一下具体扩展方法: 1、首先从www.php.net网站上下载php源码,此处以php-5.2.17版本为例,下载后解压至E:盘根目录下(目录可以自己随意定)。 2、下载安装VC++ 6.0,因为PHP源码是利用6.0版本写的,所以使... 阅读全文
posted @ 2011-12-02 16:24 madonion 阅读(24899) 评论(1) 推荐(4) 编辑
摘要: 谈谈Java虚拟机2——类加载器类从被加载到虚拟机内存中开始,到卸装出内存为止,它的整个生命周期包括了:加载,验证,准备,解析,初始化,使用和卸载七个阶段。其中验证、准备和解析三个部分称为连接,也就是说,一个Java类从字节代码到能够在JVM中被使用,需要经过加载、链接和初始化这三个步骤。我们看一看Java虚拟机的体系结构。Java虚拟机的体系结构如下图所示:类装载器子系统,它根据给定的完整类名来装载类或接口执行引擎,它负责执行那些包含在被装载类的方法中的指令。方法区以及一个堆,它们是由该虚拟机实例中所有线程共享的。当虚拟机装载一个class文件时,它会从这个class文件包含的二进制数据中解 阅读全文
posted @ 2011-12-02 16:22 madonion 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 谈谈Java虚拟机3——动态扩展Java 的体系结构允许动态扩展Java程序,这个过程包括运行时决定所使用的类型,装载它们,使用它们。通过传递类型的名字到java.lang.Class的 forName()方法,或者用户自定义的类装载器的loadClass()方法,可以动态扩展Java程序。两种方法都可以使运行中的程序去调用在源代 码中未曾提及的,而是在程序运行中决定的类型。动态扩展的例子如支持Java的Web浏览器,它跨网络装载applet的class文件。当浏览器启动的 时候,它不知道将要从网络上装载什么class文件,当它遇到包含这些applet的网页的时候才知道每个applet所需的类 阅读全文
posted @ 2011-12-02 16:22 madonion 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 常见OJ评判结果对照表,作为ACMer你懂得!Waiting:你的程序刚刚提交,正在等待OJ评测你的程序。Compiling:OJ正在编译你的程序。Accepted:OK!你的程序是正确的 ^_^。Wrong Answer:你的程序运行的结果和正确结果不同。状态页面CASE那一览显示的是你的程序在第几个样例上出错的。Time Limit Exceeded:你的程序运行时间太长了,超过了对应题目的时间限制。Memory Limit Exceeded:你的程序运行所用的内存太多了,超过了对应题目的限制。Output Limit Exceeded:你的程序输出了太多的内容了,超过了OJ的限制,轻检查 阅读全文
posted @ 2011-12-02 12:03 madonion 阅读(6983) 评论(0) 推荐(0) 编辑
摘要: Map Reduce – the Free Lunch is not over?分类:网络程序设计软件架构2010-01-30 13:04316人阅读评论(1)收藏举报现在已经进入了一个张口就是“今天你云了没?”的时代,应该好好研究研究大规模数据存储和处理了,像google的map reduce技术,开源的hadoop;map reduce的思想来自于函数式编程语言,看来要想进步提高,还得眼界开阔啊!转载一篇孟岩关于map reduce的文章。Map Reduce – the Free Lunch is not over?微软著名的C++大师Herb Sutter在2005年初的时候曾经写过一 阅读全文
posted @ 2011-12-02 11:51 madonion 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 一致性hash算法(consistent hashing)张亮consistent hashing算法早在1997年就在论文Consistent hashing and random trees中被提出,目前在cache系统中应用越来越广泛;1基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;hash(object)%N一切都运行正常,再考虑如下的两种情况;1一个cache服务器m down掉了(在实际应用中必须要考虑这种情况),这样 阅读全文
posted @ 2011-12-02 11:48 madonion 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 分布式哈希表Posted on 2011-11-26 16:42天地玄黄阅读(19)评论(0)编辑收藏我们从浅入深一步一步介绍什么是分布式哈希表。1、哈希函数 哈希函数是一种计算方法,它可以把一个值A映射到一个特定的范围[begin, end]之内。对于一个值的集合{k1, k2, … , kN},哈希函数把他们均匀的映射到某个范围之中。这样,通过这些值就可以很快的找到与之对应的映射地址{index1, index2, … , indexN}。对于同一个值,哈希函数要能保证对这个值的运算结果总是相同的。 哈希函数需要经过精心设计才能够达到比较好的效果,但是总是无法达到理想的效果。多个值也许会映 阅读全文
posted @ 2011-12-02 11:45 madonion 阅读(328) 评论(0) 推荐(0) 编辑