该文被密码保护。 阅读全文
posted @ 2012-09-24 15:26 春天又来了 阅读(113) 评论(0) 推荐(0)
摘要: 类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。类与类之间存在以下关系:泛化(Generalization)关联(Association)依赖(Dependency)聚合(Aggregation)泛化(Generalization)【定义】表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。【代码表现】父类父类实例=new子类()【UML图】【CODE】classAnimal{}classTigerextendsAnimal{}publicclassTest 阅读全文
posted @ 2012-09-23 19:43 春天又来了 阅读(347) 评论(0) 推荐(0)
摘要: Gof定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。理解对命令模式我有一些肤浅的认识,也许是不对的。但我还是写一下。其实在我理解的命令模式很简单的。比如,A想去超市买菜,B想去超市买苹果,C想去超市买鱼。那么这时候要是有一个接收命令的人,那该多好哇。这个人接收A的命令,接收B的命令,接收C的命令,等所有人的命令都接收完后,他就开始去DO。当然如果A发过命令后,突然觉的还是 自己去买好了不买好了,那又有相应的CANCEL命令。CODE class Program { static void Main... 阅读全文
posted @ 2012-09-22 15:51 春天又来了 阅读(311) 评论(2) 推荐(0)
摘要: TCP是面向连接的而UDP是面向无连接,这个大家都知道。在编程可以很明显的看到,UDP之间发送数据是对等的。例如A向B发送数据,A只要知道B的IP地址和端口就可以将数据包发过去,B设置好接收端口就可以接收数据包,同样的B向A发送数据也是。但在TCP里就有些不一样的,他是有主从之分的,主端是服务器端,客端是客户端,这不是废话嘛。= =!可以有多个客户端向服务器发送数据,如果一个客户端正在发送数据,还没发送完,而此时有另一个客户端向服务器端发出申请想要连接他,那么此时这个客户端会进入阻塞状态。在TCP里进入WHILE的死循环,不断等待客户端的连接,并将接收到的数据显示出来。。 对于TCP和U... 阅读全文
posted @ 2012-09-22 15:21 春天又来了 阅读(278) 评论(0) 推荐(0)
摘要: Gof 定义保证一个类仅有一个实例,并提供一个该实例的全局访问点。理解单例设计模式,我看到好像网上也有叫他作单件设计模式。其实故名思义,就是只能产生一个对象。在我们的生活中单例设计模式是很常见的,例如地球是唯一的。好像我前不久看的一部连续剧爱情公寓里说一颗宝石--沙漠之星,那个也是唯一的。还有你自己本身也是唯一,地球上没有一个和你完全一样的人。最简单的单例设计模式CODEnamespace ConsoleApplication1{ class Program { static void Main(string[] args) { /... 阅读全文
posted @ 2012-09-20 12:32 春天又来了 阅读(296) 评论(0) 推荐(0)
摘要: Gof定义为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。UML图理解 外观设计模式又叫门面设计模式,如果你在网上看到门面设计模式,其实都是一样的。感觉外观模式很简单,好像也没什么好讲的。在《大话设计模式》里举了这么一个例子,有一个股民在买股票,面对成千上万种类型的股票不知道怎么选择好,这时如果有一个股票的经理人,他有多年丰富的经验,你把钱给他,他帮你买股票,那么事情就简单多了。这里的那个多年丰富经验的股票经理人就是Facade(门面,外观)。我们通过直接跟股票经理人打交道,而具体要做的事情由股票经理人去处理就行。Cod 阅读全文
posted @ 2012-09-20 09:56 春天又来了 阅读(268) 评论(0) 推荐(0)
摘要: Java分别为UDP和TCP两种通信协议提供了相应的编程类,这些类存放在java.net包中,与UDP对应的是DatagramSocket,与TCP对应的是ServerSocket(用于服务器端)和Socket(用于客户端); 理解 《Java就业培训》有几段话讲的很好,关于理解网络数据传递的。DatagrameSocket的就好像一个码头,DatagramePacket就好像码头的货物(包),数据传递就好像将一批货物从一个码头运到另一个码头。在运货的过程中需要指定运到哪个码头,即是所谓的IP地址。具体要运到谁手里即是加一个端口。 有一点要注意一下,DatagramePacket有下... 阅读全文
posted @ 2012-09-19 20:22 春天又来了 阅读(326) 评论(0) 推荐(0)
摘要: Gof定义提供一种方法顺序访问一个聚合对象中的各个元素, 而又不暴露该对象的内部表示。理解我们实际上经常用到迭代器模式,例如FOREACH语句,就是对迭代器模式的实现,泛型像LIST也是对迭代器模式的实现。关于迭代器模式在实际应用中很广泛,但他已经渐渐的融入到我们的编程语言语法中的其中一部份,所以实际上可能不需要再自己要动手写一个迭代器模式了。但是大概去了解一下内部实现原理,我觉的还是很值得的。示例代码View Code /// <summary>/// 集合结构接口/// </summary>public interface Aggregate{ Iterator C 阅读全文
posted @ 2012-09-17 09:46 春天又来了 阅读(266) 评论(0) 推荐(0)
摘要: Applet是在游览器执行Java程序的,他类似于插件,例如像ActiveX插件。Applet程序里运行的是各种不同的AWT方法,例如drawString。 简单的了解一下Applet的应用,先来运行一段简单的Applet小程序import java.applet.Applet;import java.awt.Graphics;public class test1 extends Applet { public void paint(Graphics g){ g.drawString("Hello Java", 0, 30); }} 首先一个类... 阅读全文
posted @ 2012-09-13 15:04 春天又来了 阅读(677) 评论(0) 推荐(0)
摘要: 这一篇说一下生产者与消费者问题,这是操作系统里有比较经典的问题。在操作系统里生产者与消费者问题是解决进程同步问题提出来的一种方法,但在线程里同样适用。我们先来想一下,为什么要提出生产者与消费者问题? 和操作系统一样,JAVA多线程的生产者与消费者问题一样是为解决同步而产生的,可是解决同步上一篇里面用synchronized,做一个标志位已经做到了。还要生产者和消费者问题干什么。synchronized来做到的线程同步解决不了实际上的需求,例如一家物流公司进行运货,他不可能来一件货物,他就马上叫司机把这件货物运到指定的地方。而是将一批批货物,积压到一定的需求,进行分类,然后叫司机去运这些货... 阅读全文
posted @ 2012-09-11 12:37 春天又来了 阅读(374) 评论(0) 推荐(0)