摘要: 本文转载自http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理解。对我而言, wireshark 是学习网络协议最好的工具。wireshark介绍wireshark的官方下载网站:http://www.wireshark.org/wireshark是 阅读全文
posted @ 2012-10-24 15:25 寒剑飘香 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 六点起很困难,背单词很困难,静下心很困难...但是总有一些人,五点可以起床,一天背六课单词,耐心读完一本书。谁也没有超能力,但是自己可以决定一天去做什么事情。你以为没有了路,事实上路可能就在前方一点点。那些比自己强大的人都在拼命,我们还有什么理由停下脚步? 阅读全文
posted @ 2012-10-24 13:48 寒剑飘香 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 前面我们学习过简单工厂模式,它简化了对象的创建,使得客户端调用时传入标志量,那么调用工厂就可以生产出相应的对象。那么工厂方法模式和简单工厂模式有什么区别呢? 我们还是拿前面运算类来举例子,我们先看简单工厂模式下的实现。 这个我们很熟悉了,创建一个抽象的运算类,提供公用的属性和方法以供继承,然后加减乘除四个子类继承自运算类。创建一个简单工厂类,根据客户端的标志量来生产出相应的运算类。 然后我们来看工厂方法的实现。 直观来看,工厂方法模式想比较简单工厂模式,它对工厂类又进行了抽象,简单工厂是用工厂去生产实例,而工厂方法则先构造相应的工厂,然后用工厂生产实例。 这其实就是简单工... 阅读全文
posted @ 2012-10-24 12:19 寒剑飘香 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 代理模式大家都已经比较熟悉了,很多框架中也用到了代理模式。下面我们直接介绍代理模式。 代理模式,为其他对象提供一种代理以控制对这个对象的访问。 Subject类,定义了被代理对象和代理公用的接口,这样代理就可以使用了。 1 package proxy;2 3 public abstract class Subject {4 public abstract void request();5 } RealSubject类,定义Proxy代表的真实实体 1 public class RealSubject extends Subject{2 @Override3 ... 阅读全文
posted @ 2012-10-24 11:36 寒剑飘香 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 装饰模式,动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 我们来看基本的代码实现: Component类: 1 package decorator;2 3 public abstract class Componnent {4 public abstract void operation();5 } ConcreatComponent类: 1 public class ConcreatComponent extends Componnent{2 3 @Override4 public void operation() ... 阅读全文
posted @ 2012-10-24 11:22 寒剑飘香 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,我们来想象这样一个场景。商场有很多种打折方式,比如最近京东的满300送100,全场五折等等,商家销售的方式多种多样,如果我们用这样的场景来建模,你会怎么做呢?我们已经了解过了简单工厂模式,或许我们可以用简单工厂模式,抽象出一个用于计算最终消费者需要花多少钱的方法,然后对各种打折方式进行实现,增加一个工厂,根据客户端传递过来的标志量对打折方式的实例进行生产。这样做固然可以,但是我们可以想到,商家的打折方式是不确定的,可能今天采用这种打折方式,明天又会换一种打折方式,那么我们是不是得频繁修改这个工厂类呢? oh,no。这样做显然是糟糕的,虽然可以实现,但是它应该不是好的实现方式,那... 阅读全文
posted @ 2012-10-23 12:17 寒剑飘香 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 在设计模式中需要涉及到UML类图的知识,所以在这里我们就简单了解一下UML类图中各种符号所代表的含义。 我们先看一张图,基本包含了UML类图的各种符号,然后一一做解释: 我们首先看动物那个矩形框,类图分三个层次:第一层显示类的名称,如果是抽象类,就用斜体表示;第二层是类的属性,通常就是字段和属性;第三层是类的操作,通常就是方法或行为,注意前面的符号,+表示public,-表示private,#表示protected。 注意左下角飞翔,表是一个接口,与类图的区别是顶端有<<interface>>,第一行是接口名称,第二行是接口方法。接口还有一种表示方法,俗称棒棒糖表示方法 阅读全文
posted @ 2012-10-23 11:41 寒剑飘香 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: 小菜工作一年多了,以前写代码很少关注设计模式的事情,一来没有系统的学习过设计模式,二来无论是项目还是产品的架构都是公司的牛人做的,自己也不用考虑这方面的东西,但是随着工作的深入,越来越觉得设计模式的重要性。面向对象的开发即继承、多态、封装,但是在面对比较复杂的项目或者产品时,好的设计模式更能体现或者说更好的实现面向对象编程的思想,所以从今天开始,小菜决定系统的学习下设计模式,和大家分享。 首先学习的是大家都熟知的简单工厂模式,我们先来看看简单工厂模式的UML类图: 从UML类图上我们可以看出,所有的运算类都继承自一个共同的父类,在父类中,提供了运算的方法,子类做具体的实现并返回结果... 阅读全文
posted @ 2012-10-23 11:14 寒剑飘香 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 这几天看博客园的博客,感悟比较深,以前一直在逛csdn或者51的博客,最近看博客园的博客,感觉挺好的。 越来越觉得自己看的东西多了,就知道自己在很多方面都是不足的。 设计模式、多线程编程、java虚拟机、tomcat源码、struts源码、mysql性能优化。 人总是要逼自己的,只有这样才会发现自己有多么大的潜力。 阅读改变生活,保持每天都阅读。 阅读全文
posted @ 2012-10-23 10:31 寒剑飘香 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 一、概述java获得广泛认可的原因,除了它拥有一门结构严谨、面向对象的编程语言外,还有许多不可忽视的优点:1、摆脱了硬件平台的束缚,一次编译,到处运行2、提供了一种相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题3、实现了热点代码检测和运行时编译及优化,这使得java应用能随着时间的增加而获得更高的性能4、有一套完善的应用程序接口等等。。。。二、java技术体系sun定义的java技术体系包含:java程序设计语言、jvm、Class文件格式、java api、第三方java类库我们把java编程语言、java虚拟机(jvm)、java api这三部分统称为jdk,其中ja 阅读全文
posted @ 2012-10-22 22:34 寒剑飘香 阅读(170) 评论(0) 推荐(0) 编辑