摘要: Web开发中需要了解的东西from:http://coolshell.cn/articles/6043.html2011年12月7日 陈皓 发表评论 阅读评论 19,517 人阅读 在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来。顺便说一下,StackExchange真是非常好,大家可以对同一个答案做贡献和修订,看看这个问题的修订过程你就知道了——专业的问答网站应该怎么去做。这就... 阅读全文
posted @ 2011-12-23 23:53 madonion 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个能完成动态内存分配和初始化 阅读全文
posted @ 2011-12-21 14:04 madonion 阅读(509) 评论(0) 推荐(1) 编辑
摘要: From:http://blog.csdn.net/orbit/article/details/7062218 RLE(Run Length Encoding)行程长度压缩算法(也称游程长度压缩算法),是最早出现、也是最简单的无损数据压缩算法。RLE算法的基本思路是把数据按照线性序列分成两种情况:一种是连续的重复数据块,另一种是连续的不重复数据块。对于第一种情况,对连续的重复数据块进行压缩,压缩方法就是用一个表示块数的属性加上一个数据块代表原来连续的若干块数据。对于第二种情况,RLE算法有两种处理方法,一种处理方法是用和第一种情况一样的方法处理连续的不重复数据块,仅仅是表示块数的属性总是1;另 阅读全文
posted @ 2011-12-21 13:59 madonion 阅读(3054) 评论(0) 推荐(0) 编辑
摘要: 许 令波, Java 工程师, 淘宝网Java 的 I/O 类库的基本架构I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详细介绍。Java 的 I/O 操作类在包 java.io 下,大概有将近 80 个类,但是这些类大概可以分成四组,分别是:基于字节操作的 I/O 接口:InputStre 阅读全文
posted @ 2011-12-18 16:51 madonion 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Twitter首席工程师:如何“打败”CAP定理作者: Nathan Marz来源: 《程序员》发布时间: 2011-12-09 13:43阅读: 973 次原文链接 全屏阅读 [收藏] 英文原文:How to beat the CAP theorem CAP 定理是数据系统设计的基本理论,目前几乎所有的数据系统的设计都遵循了这个定理。但 CAP 定理给目前的数据系统带来了许多复杂的、不可控的问题,使得数据系统的设计越来越复杂。Twitter 首席工程师、Storm 的作者 Nathan Marz 在本文中通过避开 CAP 定理带来的诸多复杂问题,展示了一个不同于以往的数据系统设计方案,... 阅读全文
posted @ 2011-12-14 12:05 madonion 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 海量数据处理面试题 续一from:http://www.cnblogs.com/yuklin/archive/2011/12/10/2283062.html1. 给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。解法:由于给的内存有限,我们无法将单个文件不加处理直接存放到内存中,所以第一步要预处理数据。在题目中的数据是64字节的URL,也就是有64个char的字符串,考虑将每一个字符串进行模式提取,或者干脆压缩字符串,得到唯一标识。但这样的内存开销还是满足不了题目的要求。或者使用Hash函数针对64个char的字符串进行处理,得到 阅读全文
posted @ 2011-12-13 21:11 madonion 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 海量数据处理面试题from:http://www.cnblogs.com/yuklin/archive/2011/12/09/2282780.html有2.5E个整数数据,找出其中重复的,给定的内存是600M。由于题目描述的不够清晰,现在假定整数指的是int32,其中有正有负有零,范围就是int32的范围。可以用编程珠玑里的位图来处理,由于内存只有600M,刚好可以将数据分作正,负和0来处理,这个范围是两个2^31,那就是一次处理位图占用512M的内存。之前我用byte数组表示位图,有很多繁琐的步骤和数据结构,在分析博客园其他大牛的文章和手头资料之后决定使用BitArray来处理。总共需要两个 阅读全文
posted @ 2011-12-13 21:10 madonion 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 【题 目】某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄进行排序,可以使用O(1)的辅助空间。【思 路】在数据结构和算法的学习中,排序肯定是重中之重,然而仔细回想我们学习过的排序算法,无论是冒泡排序,归并排序,插入排序,希尔排序,甚至著名的快速排序,时间复杂度都达不到O(n),这些算法的时间复杂度要么为O(n2),要么为O(nlogn),然而这道题却要求我们用O(n)的时间复杂度排序,到底是什么原因呢? 通过简单的思考,我们发现,员工虽然有几万名,但是要排序的年龄却不是只有几万种,我们考虑一个人正常的工作年龄22——60岁,再发到范围也 不过0——99岁(夸张了点. 阅读全文
posted @ 2011-12-06 14:04 madonion 阅读(332) 评论(0) 推荐(0) 编辑
摘要: C++虚函数和纯虚函数(1)来自:http://www.cnblogs.com/daoluanxiaozi/archive/2011/12/04/2275364.html感觉讲的很清楚。学习过C++类的继承与多态的时候,但是很多的童鞋回过头来都忘记之中关于虚函数和纯虚函数的细节,甚至将他们混淆。§虚函数虚函数是动态多态性的基础,其调用的方式是动态联编(又称晚期联编,简单解释为只有在程序运行时才决定调用基类的还是子类的,系统会根据基类指针所指向的对象来决定要调用的函数);非虚函数与其相反,是静态联编(调用已经在编译时期就决定了;在编译时期,系统已经根据指针所属的类型确定了要调用的函数) 阅读全文
posted @ 2011-12-04 16:12 madonion 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 论反驳(备课过程中的杂感) 2011-12-02 12:32 |一、日常生活中的“否定”绝大多数只是在绕开、回避、拒绝、搁置别人的观点并且固执己见1、对于他人而言,这种“否定”并没有深入其 观点内部(你真的听懂对方在说什么,并且理解对方有道理的地方在哪里吗?如果不知道对方有道理的地方在哪里,也不可能很准确地抓住对方致命的漏洞。有一种 很贱的问题能弄死大多数辩手:“对方辩手,我方观点的合理之处在哪里?总不能一点道理都没有吧?”之所以这么贱,就是这个原因,之所以咄咄逼人经常会失去 观众缘,也是这个原因)2、对于自己来说,这种“否定”并没有形成一个贯彻到自身的原则(很多老人带队的时候第一步都是教小. 阅读全文
posted @ 2011-12-04 13:38 madonion 阅读(1144) 评论(0) 推荐(0) 编辑