随笔分类 -  Java

摘要:synchronized同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用 synchronized 修饰方法或者代码块。volatile用volatile修饰的变量,线程在每次使用变量的... 阅读全文
posted @ 2015-02-08 23:57 心休 阅读(230) 评论(0) 推荐(0)
摘要:描述:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。通常应用在有好多状态的流程中。类图:以下程序模拟糖果机器投币取糖果的状态流程。1.定义状态... 阅读全文
posted @ 2015-02-08 23:43 心休 阅读(183) 评论(0) 推荐(0)
摘要:描述: 允许你将对象组合成树形结构来表现“整体/部分”的层次结构。组合能让客户以一致的的方式处理个别对象以及对象组合。实例: 组合菜单和菜单项。类图:以下程序演示了打印菜单项和包含菜单项的菜单组合功能。1.菜单组件抽象类package net.dp.composite.menu;public abs... 阅读全文
posted @ 2015-02-08 23:33 心休 阅读(152) 评论(0) 推荐(0)
摘要:描述:在一个方法中定义一个算法的骨架。将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下重新定义算法中的某些步骤。钩子:定义一个空的方法或者默认的方法,提供用户子类根据情况去覆盖实现自身的判断和功能。 通过钩子可以影响抽象类中的算法流程。在算法的某个地方是可选的就设置钩子。让子类有... 阅读全文
posted @ 2015-02-07 00:29 心休 阅读(131) 评论(0) 推荐(0)
摘要:适配器模式:Adapter改造现有的接口从而适应新接口的要求。适配器中需要有要适配的对象的引用。适配器中包装多个被适配者是外观模式。适配器模式的意图是改变接口符合客户的期望,外观模式的意图是提供子系统的一个简化接口。这里容易联想到外观模式。外观模式提供了一个统一的接口,用来访问子系统中的一群接口。比... 阅读全文
posted @ 2015-02-07 00:11 心休 阅读(170) 评论(0) 推荐(0)
摘要:命令模式:将请求封装成对象,从而使用不同的请求、队列以及日志来参数化其他对象。命令对象支持可撤销的操作。命令对象将动作和接收者包进对象中。实现“行为请求者”与“行为实现者”解耦。要点: 命令对象中动作和接收者被绑在一起,控制器调用命令对象的execute方法。应用: 线程池、队列请求、日志请求。类图... 阅读全文
posted @ 2015-02-06 23:56 心休 阅读(174) 评论(0) 推荐(0)
摘要:装饰者模式:首先定义抽象的组件类,子类继承该类后持有抽象类的引用,在抽象类的基础上可以在调用父类方法前后分别执行自己的行为。从而实现装饰添加新的功能特性。再次强调了使用组合的好处。强调对扩展开放,对修改关闭。在Java I/O中应用了装饰者模式。装饰者模式类图:以下程序来自Head First设计模... 阅读全文
posted @ 2015-02-06 23:44 心休 阅读(175) 评论(0) 推荐(0)
摘要:观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,他的所有的依赖者都会收到通知并自动更新;定义主题,主题的功能是持有观察者的引用,提供注册、取消注册和通知,并且有状态;观察者实现接口中的update方法,必须注册具体主题;JDK自带了对观察者的支持功能被观察者Observable对象,提供... 阅读全文
posted @ 2015-02-06 23:33 心休 阅读(369) 评论(0) 推荐(0)
摘要:工厂模式:工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式:(生产同一种类型的产品,不同风味) 将生产产品的类做成抽象类,抽象方法中创建产品。由子类处理对象的实例化... 阅读全文
posted @ 2012-03-21 11:26 心休 阅读(1666) 评论(2) 推荐(1)
摘要:单例模式:作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。但我们建立了一个简单的单例类后就可以在单例类中对要创建的对象进行自我创建,定向的向外界提供而不允许外界去创建。这样就可以实现对一些对象和资源的身份权限的验证和达到控制资源的目的。... 阅读全文
posted @ 2012-03-21 10:46 心休 阅读(198) 评论(0) 推荐(0)
摘要:策略模式:将动作等变化的东西抽离出来变成行为。这样具体的不变化的事物中会有行为的接口引用,当具体调用的时候可以动态设置他的接口实现类从而动态的改变行为。要点:封装变化;多用组合,少用继承;针对接口(不单单是接口可以包含抽象类等)编程,不针对实现编程。类图:把会变化的内容取出并封装起来,以便以后可以轻... 阅读全文
posted @ 2012-03-12 17:51 心休 阅读(212) 评论(0) 推荐(0)
摘要:jdbc1. 连接数据库的步骤:1)注册驱动2)建立连接3)创建语句4)执行语句5)处理结果6)释放资源(注意关闭的顺序)实例//1.注册驱动 DriverManager.registerDriver(newcom.mysql.jdbc.Driver()); System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver");//推荐方式 //2.建立连接 ... 阅读全文
posted @ 2012-02-19 18:54 心休 阅读(251) 评论(0) 推荐(0)
摘要:首先编写登录页面mylogin.jsp编写表单:<form onsubmit="return valdate()"> username: <input type="text" name = "username" id="username"><br/> password: <input type="password" name = "password" id="password"><br/> rep 阅读全文
posted @ 2011-12-03 00:06 心休 阅读(767) 评论(0) 推荐(0)
摘要:1.request的setAttribute()与getAttribute()方法在服务器端调用,客户端不知道是否调用了这两个方法。 request的getParameter()方法获取到客户端通过表单或者url请求发过来的参数值,服务器端通过该方法得到客户端的这些值。 注意没有与getParameter()方法对应的setParameter()方法。request对象内数据的存活范围就是在request对象的存活范围内,客户端向服务器端发送一次请求之后 该对象就销毁了。当客户端再次向服务器端发送请求时就会创建新的request对象。以前的request对象的数据就无法得到。2.同理sessi 阅读全文
posted @ 2011-11-30 21:18 心休 阅读(568) 评论(0) 推荐(0)
摘要:近来做一个有关视频会议系统的项目,用到了Red5做服务器端,AS搭建客户端,从网上找了些材料,可是资源真是少的可怜。好不容易找到一个但是遇到不少问题,还好纠结半天终于解决了。以下是找到的资料:Windows环境下+配置+运行red5源码Red5发展很快,目前最新版本为0.9.1,与以前的版本(0.8.+、0.7.+、0.6.+)差别很大,中文资料奇缺,鉴于此,我写下这篇文章,希望能帮上您的忙。由于没有下载到0.9.1的源码,我们现在以red5 0.9.0为例介绍如何配置、编译、运行Red5源码。Red5 0.9.0与red5 0.9.1差不多,你可以用本文所介绍的方式来配置red5 0.9.1 阅读全文
posted @ 2011-11-13 13:41 心休 阅读(590) 评论(0) 推荐(0)
摘要:dom4j 是一种解析和处理XML 文档的开放源代码 XML 框架。与其他的解析xml的方式相比具有显著的优势。在形式上用dom4j编写的解析xml 的代码与用jdom解析xml 的形式十分相似,貌似dom4j是编写jdom 的一群人中的一部分编写的dom4j框架。以下是代码示例:package com.lcq.java.dom4j;import java.io.FileOutputStream;import java.io.UnsupportedEncodingException;import org.dom4j.Document;import org.dom4j.DocumentHelpe 阅读全文
posted @ 2011-11-08 18:17 心休 阅读(626) 评论(0) 推荐(0)
摘要:JDOM简介:JDOM的目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。由于是第一个 Java 特定模型,JDOM 一直得到大力推广和促进。正在考虑通过“Java 规范请求 JSR-102”将它最终用作“Java 标准扩展”。从 2000 年初就已经开始了 JDOM 开发。JDOM 与 DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API,但是也限制了灵活性。第二,API 大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。JDOM 文档声明其目的是“使用 20%(或更少 阅读全文
posted @ 2011-10-27 20:50 心休 阅读(252) 评论(0) 推荐(0)
摘要:SAX是Simple API for XML的缩写,它并不是由W3C官方所提出的标准,虽然如此,使用SAX的还是不少,几乎所有的XML解析器都会支持它。 与DOM比较而言,SAX是一种轻量型的方法。我们知道,在处理DOM的时候,我们需要读入整个的XML文档,然后在内存中创建DOM树,生成DOM树上的每个Node对象。当文档比较小的时候,这不会造成什么问题,但是一旦文档大起来,处理DOM就会变得相当费时费力。特别是其对于内存的需求,也将是成倍的增长,以至于在某些应用中使用DOM是一件很不划算的事(比如在applet中)。这时候,一个较好的替代解决方法就是SAX。SAX在概念上与DOM完全不同。它 阅读全文
posted @ 2011-10-26 21:45 心休 阅读(225) 评论(0) 推荐(0)
摘要:第一种方式:使用dom获取属性的值和文本的值进行解析xmlpackage com.lcq.java.document;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;public class DomTest1 { /** * @param args * @th.. 阅读全文
posted @ 2011-10-23 16:07 心休 阅读(220) 评论(0) 推荐(0)
摘要:简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式,属于类的创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 该模式中包含的角色及其职责 工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 抽象(Product)角色 简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。 具体产品(Concrete Product)角色 是简单工厂模式的创建目标... 阅读全文
posted @ 2011-10-23 15:47 心休 阅读(155) 评论(0) 推荐(0)