Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java装饰模式(Decorator模式)

Java装饰模式(Decorator模式)

Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee。这两种实体在Decorator模式中是必须的。Decorator定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆。使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。为什么使用Decorator我们通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势...
Java组合模式(Composite模式)

Java组合模式(Composite模式)

Composite定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。所以Composite模式使用到Iter...
Java桥模式(Bridge模式)

Java桥模式(Bridge模式)

Bridge定义:将抽象和行为划分开来,各自独立,但能动态的结合。为什么使用桥模式通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以下两种:这多个具体实现之间恰好是并列的,如前面举例,打桩,有两个concrete class:方形桩和圆形桩;这两个形状上的桩是并列的,没有概念上的重复,那么我们只要使用继承就可以了。实际应用上,常常有可能在这多个concrete class之间有概念上重叠。那么...
Java共享模式/享元模式(Flyweight模式)

Java共享模式/享元模式(Flyweight模式)

Flyweight定义:避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。为什么使用共享模式/享元模式面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外,还有一些特性是取决于应用(context),是不可共享的,这也Flyw...
Java原型模式(Prototype模式)

Java原型模式(Prototype模式)

Prototype模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。如何使用原型模式因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单。以勺子为例:public abstra...
Java建造者模式(Builder模式)

Java建造者模式(Builder模式)

Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到。为何使用建造者模式是为了将构建复杂对象的过程和它的部件解耦。注意:是解耦过程和部件。因为一个复杂的对象,不但有很多大量组成部分,如汽车,有很...
Java单态模式(Singleton模式)

Java单态模式(Singleton模式)

定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。还有,singleton能够被状态化;这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,如果你要把这个数字永久保存到数据库,你可以在不修改单态接口的情况下方便的做到。...
Java工厂模式(Factory模式)

Java工厂模式(Factory模式)

工厂模式定义:提供创建对象的接口。为何使用工厂模式工厂模式是我们最常用的模式了,著名的Jive论坛,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修...
Java反射机制详解 及 Method.invoke解释

Java反射机制详解 及 Method.invoke解释

Java反射机制Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。1. 得到某个对象的属性1.public Obj...
Java 代理使用及代理原理

Java 代理使用及代理原理

今天再测试Socket编程时,无法连接外网。公司用的是Http的代理。上网搜索也没看太懂,所以花了大量时间来学习。看了HTTP和TCP协议的关系好,才有所明白。现在能通过Socket使用HTTP代理了,结果很简单,过程却好难。1. 先简要说说HTTP和TCP(具体内容自行Google,资料很多很全),这里就讲讲要点:HTTP:是应用层协议,是基于传输层协议的。TCP: 是传输层协议,是基于网络层协议的。IP: 是网络层协议。一个TCP的连接要进行三次握手(...
Java中的Set与List 的关系与区别

Java中的Set与List 的关系与区别

两个接口都是继承自Collection.List(inteface)次序是List的最重要特点,它确保维护元素特定的顺序.--ArrayList 允许对元素快速随机访问.--LinkedList 对顺序访问进行优化,向List中间插入与移除的开销并不大,具有addFrist(),addLast(),getFirst,getLast,removeFirst和removeLast().这些方法使得LinkedList可当作堆栈/队列/双向队列.Set(inte...
Java中equals和==的区别

Java中equals和==的区别

Java中equals和==的区别 值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。 ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对象的内容。 显然,当equals为true时,==不一定为...
Java适配器模式(Adapter模式)

Java适配器模式(Adapter模式)

适配器模式定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份。为何使用适配器模式我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口。 怎么办?使用Adapter,在这两种接口之间创建一个混合接口(混血儿)。如何使用适配器模式实现Adapter方式,其实"think in Java"的"类再...
Java实用工具--JavaMail

Java实用工具--JavaMail

在实现javamail之前首先要搭建邮件服务器。James在进行WEB程序开发的时候需要使用Tomcat服务器,但是Tomcat服务器并不支持邮件的处理操作,所以要想进行邮件的发送,还需要配置一个单独的Java Mail服务器,James 就是一个企业级的邮件服务器,它完全实现了SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) 和POP3(Post Office Protocol 3,邮局协议的第三个版本)以及NNT...
在Tableau中自定义版块地图

在Tableau中自定义版块地图

在Tableau的地图报表中有一个‘Filed Map’的类型,可以根据版块来显示数据。 但实际应用中Tableau固有的版块划分可能不是我们想要的,下面介绍如何自定义版块并且用作数据分析。自定义版块在Tableau中自定义版块是非常容易的。如下图我们把每个点链接起来就是一个多边形的版块上面的经纬度就不用说了。State 是我们版块的名字。其中Point Order告诉Tableau链接的顺序。 Polygon ID 用来指定各个闭...
<< 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 >>