阅读笔记
另眼观世界
研究方向数据挖掘,高手过招,点到不止。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编程珠玑混搭
感觉编程珠玑写的很好,但是书上写的不尽详细,仿佛如“高手过招,点到为止”,网上查些资料,加上自己的领悟,写写呗。第一章:参照:http://chaoswork.com/blog/2012/05/18/programming-pearls-study-note-1/1.4.如何生成位于0到n-1之间的k个不同的随机顺序的随机整数?Idea1:用set行,主要是set里面的元素不重复,原创 2013-09-26 21:45:50 · 971 阅读 · 0 评论 -
设计模式13:模板方法
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的步骤。UML图:模板方法和其他设计模式的联系:策略模式和模板方法都是封装算法,策略用的是组合,模板用的是继承;工厂方法是模板方法的一种特殊版本。原创 2013-10-07 15:04:17 · 714 阅读 · 0 评论 -
《深度探索C++对象模式》——中篇
C++内存布局:先看个小例子。class A{};class B:public virtual A{};class C:public virtual A{};class D:public B, public C{};int main(){ cout<<"sizeof(A)"<<sizeof(A)<<endl; cout<<"sizeof(B)"原创 2013-10-08 10:30:40 · 769 阅读 · 0 评论 -
《深度探索c++对象模型》——上篇
1,默认构造函数:C++继承机制,按照父类-->子类的流程构造对象,但是如若没有声明构造函数,c++会自动生成默认构造函数,不含形参。子类的默认构造函数,也是调用父类的默认构造函数。此时如若父类声明了含参的构造函数,调用就会出错。class Base{ public: Base() { cout<<"Base constructor"<<endl; }};原创 2013-10-07 20:06:13 · 893 阅读 · 0 评论 -
C++虚函数的调用
的萨芬撒发发原创 2013-10-08 16:59:44 · 1319 阅读 · 0 评论 -
内存回收机制
垃圾收集技术的三大传统算法——引用计数算法(无法解决循环引用的问题)、标记-清除算法(效率问题)和复制算法(空间利用率减半)。现在的回收算法:标记-整理,增量收集算法(实际是对多线程的运用),分代收集(分类收集、在JVM中得到了应用)。具体讲解一下JVM的垃圾回收机制:Space(命名为S0和S1)具体分为这么几块,那么在每一块又是怎么进行内存分配及回收的那:1、年轻代原创 2013-10-15 15:51:44 · 755 阅读 · 0 评论 -
c++构造函数
一、 构造函数是干什么的class Counter{public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类型 Counter() { m_value = 0; } private:转载 2013-10-21 16:51:44 · 499 阅读 · 0 评论 -
redis的底层架构
简历中写着熟悉redis,结果找工作中,人家就问redis的底层架构,源码:试着积累一下:1、redis的数据类型:redis是一种key-value的结构,key主要就是字符串,value则可以是字符串、列表、哈希表、集合或者有序表。2、关于redis的一点小结:数据库主要由 dict 和 expires 两个字典构成,其中 dict 保存键值对,而 expires原创 2013-10-22 18:43:03 · 1294 阅读 · 0 评论 -
阅读笔记转载链接
More effective c++读书笔记:http://blog.youkuaiyun.com/dotscylla/article/details/5392350转载 2014-01-02 15:53:08 · 597 阅读 · 0 评论 -
设计模式1:工厂模式
这一系列的帖子都是对于《Head First 设计模式》和guisu兄弟的设计模式博文有感所发。http://blog.youkuaiyun.com/hguisu/article/details/7505909工场模式分为三种:简单工场,工场,抽象工场。简单工场仅仅是实现逻辑的分离,并没有考虑可扩展性;工场是对其进行扩展;抽象工场是在工场的基础上,又对工场进行抽象,使其适用于不原创 2013-10-05 20:37:31 · 529 阅读 · 0 评论 -
设计模式总结
设计模式的分类:关于设计模式,正如武侠里面的一招一式,出略来看,十分僵硬,但是要做到融汇贯通,做到无招胜有招,还需要持之以恒的coding,正所谓风清扬使玉女19剑,依然可以胜过一般的高手。原创 2013-10-07 15:23:40 · 574 阅读 · 0 评论 -
设计模式9:迭代器模式
迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。联想java实现的Iterator。迭代器常被应用到象复合(模式)这样的递归结构上。原创 2013-10-06 22:38:48 · 671 阅读 · 0 评论 -
设计模式10:观察者模式
注:sap2014年校园招聘提供了此题。观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。UML图如下:实现了观察者和订阅者之间的松耦合。应用:Swing大量使用观察者模式,许多GUI框架也是如此,还有JavaBeans、RMI。原创 2013-10-07 09:53:04 · 605 阅读 · 0 评论 -
关于dll的一些知识
最近笔了yahoo和微软,都考到了一个题目就是dll,现在总结如下,以求“亡羊补牢,为时未晚”。5、When a dll is loaded into memory, which part(s) can be shared between processes?(5 Points)A、code segmentB、static variableC、global variableD、原创 2013-10-05 22:01:17 · 858 阅读 · 0 评论 -
设计模式4:组合模式
对于组合模式,实际上就是形成了一个树形结构,要区别于组合与继承这一对概念里面的组合。对于组合模式的遍历,则是使用的迭代器模式为佳,也就是两者结合使用。原创 2013-10-05 22:19:19 · 603 阅读 · 0 评论 -
设计模式7:代理模式
联想远程代理,借助一中间过程,给出类似的访问接口,但是实际上,代理需要进行一步转发。和其他设计模式的联系:1)适配器模式Adapter:适配器Adapter 为它所适配的对象提供了一个不同的接口。相反,代理提供了与它的实体相同的接口。然而,用于访问保护的代理可能会拒绝执行实体会执行的操作,因此,它的接口实际上可能只是实体接口的一个子集。2) 装饰器模式Decorat原创 2013-10-06 21:37:58 · 596 阅读 · 0 评论 -
设计模式8:命令模式
命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。关于设计模式的几点领悟:1)命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开。2)每一个命令都是一个操作:请求的一方发出请求,要求执行一个操作;接收的一方收到请求,并执行操作3)命令模式允许请求的一方和接收的一方独立开来,使得请原创 2013-10-06 22:07:24 · 699 阅读 · 0 评论 -
设计模式11:状态模式
状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。在下面的两种情况下均可使用State模式:1) • 一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为。2) • 代码中包含大量与对象状态有关的条件语句:一个操作中含有庞大的多分支的条件(if else(或switch case)语句,且这些分支依赖于该对象的状态。这个状态通常用一原创 2013-10-07 10:30:09 · 620 阅读 · 0 评论 -
设计模式12:策略模式
策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。UML图:与状态模式的区别:•使用策略模式时,客户端需要知道所选的具体策略是哪一个,而使用状态模式时,客户端无须关心具体状态,环境类的状态会根据用户的操作自动转换。•如果系统中某个类的对象存在多种状态,不同状态下行为有差异,而且这些状态之间可以发生转换时使用状态原创 2013-10-07 11:30:18 · 665 阅读 · 0 评论 -
《程序员自我修养》阅读笔记
1,gcc hello.c所包含的过程:预处理,编译,汇编,链接。其中预处理主要是对程序代码进行展开,精简。编译把预处理之后的文件进行一系列的词法分析,语法分析,语义分析,中间代码生成,以及目标代码生成和优化产生汇编代码。汇编把汇编代码转成机器代码。链接:将代码的不同部分进行组装,主要包括:地址和空间分配,符号绑定,重定位。对于编译之后生成的目标文件里面主要包含以下几段:原创 2014-04-03 12:00:57 · 852 阅读 · 0 评论
分享