最近用到了java的动态代理,虽然会用,但不了解他具体是怎么实现,抽空看看了看他的源码。 说到Java的动态代理就不能不说到代理模式,动态代理也就是多了一个’动态’两字,在《大话设计模式》中不是有这句话吗?“反射,反射程序员的快乐”,这里也不例外,他在底层也是使用了反射来创建对象。一、 为了让我们更...
分类:
其他好文 时间:
2014-11-23 17:18:44
阅读次数:
203
和TCP/UDP协议比起来,HTTP协议或许更为大家所熟知,因为大家处处都可以看到http://xxx.com的字样。但是,真正了解HTTP协议的同学,或许只是少数,还有很多人甚至不知道“404”的含义。而本文,正是让大家来更深入的了解下这位最熟悉的陌生人。...
分类:
Web程序 时间:
2014-11-23 15:59:46
阅读次数:
338
代理模式:代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。UML结构如下图:代码实现: //定义一个Subject 抽象类 public abstract class Subject { public abstract void Request()...
分类:
其他好文 时间:
2014-11-21 14:06:12
阅读次数:
133
大多数情况,操作系统内核用纯C语言是写不了的,因为有些关键功能,重要代码段,还是得用汇编指令干上一把才行,
本书不会过于详细的介绍ARM920T处理器所有的指令以及每条指令所有的详细使用方式。因为,一、篇幅所限,二、本书不是介绍某一特定处理器的指令集的专著。但是也不用害怕,笔者会尽量做到写操作系统内核时足够使用。...
分类:
其他好文 时间:
2014-11-20 12:03:13
阅读次数:
144
近期菜鸟D在看《大话设计模式》,看到原型模式,有一点自己的想法,所以就记下来。 老规矩,解释定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无...
分类:
其他好文 时间:
2014-11-19 15:51:03
阅读次数:
184
采用深度优先搜索进行拓扑排序,获取拓扑序列的同时计算各顶点事件的最早发生时间,然后逆序计算各顶点事件的最晚发生时间。
本文是《大话数据结构》的读书笔记,在输出关键路径时采用深度优先搜索输出关键路径,能输出多条关键路径。...
分类:
编程语言 时间:
2014-11-19 11:20:41
阅读次数:
260
设计模式的主要资料是《大话设计模式》,第一阶段先看看各种模式的基本概念,实现每个模式下的例子。然后在进行理解性的学习和掌握,灵活掌握各种模式的优点,知道某种模式适合那种状态。现在,例子都已经基本实现了,虽然是跟着书上的例子敲的,但是还是遇到了不少问题。
问题一:接口问题
在敲第八章工厂方法模式的时候,遇到了下边的问题:
这个问题以前也没有遇到过,不知道从...
分类:
其他好文 时间:
2014-11-19 11:07:00
阅读次数:
132
??
写操作系统内核需要了解一个具体计算平台的CPU,包括这个CPU里的寄存器和异常中断处理机制...
分类:
其他好文 时间:
2014-11-19 10:55:01
阅读次数:
163
一、UML图
二、概述
下面是来自书本和网络的对状态模式的定义和分析:
(1)状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。看起来,状态模式好像是神通广大很厉害似的——居然能够“修改自身的类”!
(2)适用场景:a)状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复...
分类:
编程语言 时间:
2014-11-18 10:19:38
阅读次数:
224
很好,我们终于迈出了重构的第一步,而这第一步我们瞄准了代码问题的重灾区——超级大函数。超级大函数之所以是代码问题的重灾区,就是因为它们往往难于阅读、难于维护。面对大函数我们采取的办法是拆分,以功能为核心将其拆分成一个一个独立的函数。拆分后的程序变得易于阅读了,因为要读懂程序你不再需要读完所有代码,选择性的读取那些顶级函数,只需了了数行代码,你就可以明白整个程序。
但是,当我们将数千行的大函数分解成数十个小函数时,另一个问题出现了。想象一下,数十个函数被杂乱无章地堆放在一个对象中,看看就让人头疼。实际上,我们...
分类:
其他好文 时间:
2014-11-17 10:45:27
阅读次数:
192