摘要: 来源:http://www.iteye.com/topic/979557总结完ubuntu之后,接着整uml的东西。上一篇我们介绍了用例图和用例间的关系。我们现在再来说说uml中类图和类的关系。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。基本概念类图(Class Diagram):类图是面向对象系统建模中最常用和最重要的图,是 阅读全文
posted @ 2012-08-20 23:09 鞋带Er 阅读(246) 评论(0) 推荐(0)
摘要: 什么是策略模式策略模式(Strategy Pattern):定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式的结构 我们先观察策略模式(Strategy Pattern)的UML类图:根据前面的类图我们可以知道策略模式由下面的几个部分组成:抽象策略类:所以策略子类的通用接口,通常由一个抽象类和接口来实现。具体策略类:实现了抽象策略类,包装的相关的算法和行为。Context类:供客户代码调用,持有一个抽象策略类的引用,根据客户端不同的调用,返回不同的具体策略实例。策略模式的优缺点策略模式的优点:提供了一种替代继承的方法,而且既保持了继. 阅读全文
posted @ 2012-08-20 23:08 鞋带Er 阅读(216) 评论(0) 推荐(0)
摘要: 问题:在面向对象系统的设计和开发过程中,由于需求的改变某些类常常需要增加新的功能,但这些类数据元素的层次结构是相对稳定的,如何在不改变各元素的类的前提下定义作用于这些元素的新操作?最常见就是解决方案就是采用继承的方法给已经设计、实现好的类添加新的方法。这样不停地打补丁,系统设计根本就不可能封闭、编译永远都是整个系统代码。访问者模式把数据结构和作用于结构上的操作解耦合,将容易变更的操作封装到一个类中(访问操作),并由待更改类提供一个接收接口,使得操作集合可相对自由地演化。定义:访问者模式(Visitor Pattern)属于行为模式,表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各 阅读全文
posted @ 2012-08-20 23:06 鞋带Er 阅读(284) 评论(0) 推荐(0)
摘要: 参考:http://xinsync.xju.edu.cn/index.php/archives/category/prglang/java/mina简单介绍:MINA框架是对java的NIO包的一个封装,简化了NIO程序开发的难度,封装了很多底层的细节,然开发者把精力集中到业务逻辑上来,最近做了一个相关的项目,为了备忘对MINA做一个总结。下面这个start方法用来初始化MINA:Java代码private void start(int port, WebContext ctx)throws IOException, InstantiationException, IllegalAccessE 阅读全文
posted @ 2012-08-20 22:59 鞋带Er 阅读(683) 评论(0) 推荐(0)
摘要: 1.绑定对象的事件方法,下面代码为一个点击删除事件Js代码$(function(){$(".my_del").click(function(event){var target = event.target;//获取当前点击事件的元素var key = jQuery(target).attr("key");//取当前点击事件元素的属性alert(key);var msg = "";var url = '<%=request.getContextPath()%>/cmsconfig/my_update.jsp?type 阅读全文
posted @ 2012-08-20 22:58 鞋带Er 阅读(263) 评论(0) 推荐(0)
摘要: 【转】JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。JDK包含的基本组件包括 阅读全文
posted @ 2012-08-20 22:57 鞋带Er 阅读(199) 评论(0) 推荐(0)
摘要: Apache Mina入门MINA基本类的描述IoAccepter相当于网络应用程序中的服务器端IoConnector相当于客户端IoSession当前客户端到服务器端的一 个连接实例IoHandler业务处理逻辑IoFilter过滤器用于悬接通讯层接口 与业务层接口服务器端:MinaServer.javapublicclassMinaServer {privatestaticfinalintSERVER_PORT = 9990;publicstaticvoidmain(String[] args)throwsThrowable{//服务端入口IoAcceptor acceptor =newS 阅读全文
posted @ 2012-08-20 22:56 鞋带Er 阅读(503) 评论(0) 推荐(0)
摘要: log4j.xml配置(转载)2012-02-21 17:56:35| 分类: 默认分类|字号订阅Xml代码<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' ><appender name="myConsole& 阅读全文
posted @ 2012-08-20 22:55 鞋带Er 阅读(680) 评论(0) 推荐(0)
摘要: package domain;public class Flight {public String startCity;public String endCity;public String flightway;public String date;public String fromDate;public String subclass1;public String flight1;public String getStartCity() {return startCity;}public void setStartCity(String startCity) {this.startCity 阅读全文
posted @ 2012-08-20 22:54 鞋带Er 阅读(1075) 评论(0) 推荐(0)
摘要: package net.xml;import java.nio.charset.Charset;import org.apache.log4j.Logger;public class InfoXml {private static Logger logger = Logger.getLogger(InfoXml.class);// private short tag;private String xml;public short getTag(){return (short)0x0001;}public int getLen(Charset charset){int len = 0;try { 阅读全文
posted @ 2012-08-20 22:53 鞋带Er 阅读(1162) 评论(0) 推荐(0)
摘要: 基本类和接口一、javax.servlet.Servlet接口servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。servlet接口中的方法void init(ServletConfit config)throws ServletException在servlet被载入后和实施服务前由servlet引擎进行?次性调用。如果init()产生溢出UnavailableException,则 servle退出 阅读全文
posted @ 2012-08-20 22:51 鞋带Er 阅读(219) 评论(0) 推荐(0)
摘要: servlet连接mysql数据库1.tomcat6编译servlet要用到servlet.api.jar包,所以须将其路径加入到classpath之中2.servlet程序:package com.ser;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServlet 阅读全文
posted @ 2012-08-20 22:51 鞋带Er 阅读(1390) 评论(0) 推荐(0)
摘要: 5.1 Servlet依赖性由于Action在被调用时,HttpServletRequest和HttpServletResponse被传递到execute()方法中,Struts1中的Action对Servlet的API是有依赖性的.但如果在Struts2中,Action就不会对容器有依赖了,因为Action是由简单的POJO组成的.在Struts2中,servlet上下文以简单的Map的形式表现出来,这使得Action可以得到独立的测试.如果需要,Struts2也可以访问原始的请求与响应.不过,其他的框架元素减少或排除直接访问HttpServetRequest或HttpServletResp 阅读全文
posted @ 2012-08-20 22:50 鞋带Er 阅读(349) 评论(0) 推荐(0)
摘要: ibatis:sql需要自己写hibernate:sql自动生成上面是最大的区别,下面是一些细节.选择Hibernate还是iBATIS都有它的道理:Hibernate的特点:Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。以数据库字段一一对应映射得到的PO和Hibernte这种对象化映射得到的PO是截然不同的,本质区别在于这种PO是扁平化的,不像Hibernate映射的PO是可以表达立体的对象继承,聚合等等关系的,这将会直接 阅读全文
posted @ 2012-08-20 22:49 鞋带Er 阅读(172) 评论(0) 推荐(0)
摘要: <!>跑马灯<marquee>...</marquee>普通卷动<marquee behavior=slide>...</marquee>滑动<marquee behavior=scroll>...</marquee>预设卷动<marquee behavior=alternate>...</marquee>来回卷动<marquee direction=down>...</marquee>向下卷动<marquee direction=up>...< 阅读全文
posted @ 2012-08-20 22:48 鞋带Er 阅读(237) 评论(0) 推荐(0)
摘要: 启动:net start mySql;进入:mysql -u root -p/mysql -h localhost -u root -p databaseName;列出数据库:show databases;选择数据库:use databaseName;列出表格:show tables;显示表格列的属性:show columns from tableName;建立数据库:source fileName.txt;匹配字符:可以用通配符_代表任何一个字符,%代表任何字符串;增加一个字段:alter table tabelName add column fieldName dateType;增加多个字 阅读全文
posted @ 2012-08-20 22:47 鞋带Er 阅读(163) 评论(0) 推荐(0)
摘要: 一.安装subversion首先安装服务端程序subversion1.x.x和客户端程序TortoiseSVN-1.x.x.xxxx(是两个网站)。subversion在服务器端客户端都需要安装,TortoiseSVN只要在客户端安装就行。TortoiseSVN的语言包下载和TortoiseSVN的下载都在其官网的同一页如果使用了eclipse并且用插件的话,则可以不用TortoiseSVN。二.建立Repository(保存文档各个版本的数据库),必须建立在服务端1)在服务器端建立一个空目录,比如“d:\svn\project1”。2)进入dos3)svnadmin create --fs- 阅读全文
posted @ 2012-08-20 22:46 鞋带Er 阅读(409) 评论(0) 推荐(0)
摘要: 安装、设置与启动MySql绿色版的方法2011-08-05 22:11:24|分类:默认分类|字号订阅本文引用自jameswh_2004《安装、设置与启动MySql绿色版的方法》1、解压mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysql/5.1.html)2、在F盘建立目录MySql\MySqlServer5.1\3、把解压的内容复制到F:\MySql\MySqlServer5.1\4、在F:\MySql\MySqlServer5.1\中找my-large.ini把它复制成my.ini5、在my.i 阅读全文
posted @ 2012-08-20 22:46 鞋带Er 阅读(258) 评论(0) 推荐(0)
摘要: 对象的集合如果程序的对象数量有限,且寿命可知,那么这个程序是相当简单的。数组数组与其它容器的区别体现在三个方面:效率,类型识别以及可以持有primitives。数组是Java提供的,能随机存储和访问reference序列的诸多方法中的,最高效的一种。数组是一个简单的线性序列,所有它可以快速的访问其中的元素。但是速度是有代价的;当你创建了一个数组之后,它的容量就固定了,而且在其生命周期里不能改变。也许你会提议先创建一个数组,等到快不够用的时候,再创建一个新的,然后将旧的数组里的reference全部导到新的里面。其实(我们以后会讲的)ArrayList就是这么做的。但是这种灵活性所带来的开销,使 阅读全文
posted @ 2012-08-20 22:45 鞋带Er 阅读(198) 评论(0) 推荐(0)
摘要: Java集合类主要负责保存、盛装数据,因此集合类也称容器类。在认识collection之前,需要分清三个概念:1. collection集合,用来表示任何一种数据结构;2. Collection集合接口,指的是java.util.Collection接口,是Set、List和Queue接口的超类接口 3. Collections集合工具类,指的是java.util.Collections类。这里说的集合指的是小写的collection,集合有4中基本形式,其中前三类的父接口指Collection。1.Set关注事物的唯一性,代表无序、不可重复的集合;2.List关注事物的索引列表,代表有序、可 阅读全文
posted @ 2012-08-20 22:44 鞋带Er 阅读(236) 评论(0) 推荐(0)
摘要: 1. 概况答:1) 以文本为基础能够返回动态内容到客户端;2) Http是请求和响应的默认协议;3) 一个页面可以混和html代码、Java代码以及JSP标答;4) 允许访问组件;2. JSP的好处答:1) 通过组件使用支持组件模型和软件重用;2) 源文件改变自动编译;3) 用户自定义标签简化页面开发;4) 能把Web内容, Java代码分开(针对Servlet而言);5) 平台无关;6) 性能和可扩展;7) 可靠;8) 作为J2EE的一部分(Servlet、JSP以及EJB是J2EE的三大组件)。创建、配置以及执行JSP1. JSP环境答:1) 开发环境a. 浏览器:IE/Netscapeb 阅读全文
posted @ 2012-08-20 22:43 鞋带Er 阅读(284) 评论(0) 推荐(0)
摘要: 1. XML的背景答:1) XML代表扩展的标记语言(eXtensible Markup Language);2) XML由W3C联盟发展维护;3) XML是一种元语言,可以用来定义其它语言;4) XML没有定义任何标记,它提供了一种工具定义标记以及它们之间的结构关系;5) XML是一种用于结构化文本交换的标记语言;6) XML代表了内容的结构也代表了内容本身;7) XML继承自SGML(标准标记语言)。SGML的前身GML由IBM在1960年发明,用于描述设备无关的文本。8) XML是SGML的子类, 起初的目的是为Web的结构文档提供服务。9) W3C组织在1998年2月10日发布XML1 阅读全文
posted @ 2012-08-20 22:42 鞋带Er 阅读(262) 评论(0) 推荐(0)
摘要: Servlet的基础概念1. Servlet是什么?答:1) 模块化的程序,运行在服务器端,增强了请求/响应导向服务;2) 应用示例:a. 访问远端对象;b. 跟踪大量信息;c. 多用户协作2. HTTP和Servlets答:1) Servlet是HTTP协议中作为CGI的一个替代品;2) HttpServlet类用于开发HTTP为基础的Servlet3. HttpServlet答:1) 继承抽象类javax.servlet.GenericServlet,实现接口java.io.Serializable;2) 用以开发Http协议为基础的Servlet4. 服务方法答:1) 每当服务接收到对S 阅读全文
posted @ 2012-08-20 22:41 鞋带Er 阅读(178) 评论(0) 推荐(0)
摘要: 1. CVS(Concurrent Version System)安装示例答:1) 下载地址:ftp://ftp.sunfreeware.com/pub/freeware/sparc/8/cvs-1.11.5-sol8sparc-local.gz;2) 包解压:%gunzip cvs-1.11.5-sol8-sparc-local.gz;3) 安装:. 超级用户登录:%su -. 使用pkgadd进行安装:#pkgadd -d cvs-1.11.5-sol8-sparc-local2. CVS功能答:1) 并行版本控制系统. 一个程序的多个版本控制和管理;. 同一个程序可以被多个程序员修改;2 阅读全文
posted @ 2012-08-20 22:40 鞋带Er 阅读(242) 评论(0) 推荐(0)
摘要: l. 连接到数据库的方法答:1) ODBC(Open Database Connectivity)一个以C语言为基础访问SQL为基础数据库引擎的接口,它提供了一致的接口用于和数据库沟通以及访问数据。2) JDBCJava版本的ODBC2. JDBC应用编程接口答:JDBC应用编程接口是:1) 标准的数据访问接口,可以连到不同的数据库;2) JAVA编程语言的一组类和接口。JDBC应用编程接口能够:1) 连接到数据库;2) 发SQL查询字符串到数据库;3) 处理结果。JDBC应用编程接口有二个主要的部分:1) JAVA应用程序开发接口面向JAVA应用程序开发者;2) JDBC驱动程序开发接口3. 阅读全文
posted @ 2012-08-20 22:39 鞋带Er 阅读(141) 评论(0) 推荐(0)
摘要: 1. HTML结构答:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- 1) 申明这个页面的HMTL版本为4.01;2) “EN”指明DTD中语言是英语;--><html><head><!--head元素包括当前页面中信息,例如标题、用于搜索引擎中的关键字以及其它一些不会被认为是页面内容的数据--><meta HTTP-EQUIV="Content-Type" CONTENT="text/html 阅读全文
posted @ 2012-08-20 22:39 鞋带Er 阅读(135) 评论(0) 推荐(0)
摘要: OOAD(Object-Oriented Analysis and Design)介绍1. OOAD方法论的定义答:1) 一种面向对象的系统建模技术;2) 将系统描述为许多相互作用的有关系对象;3) 系统中相互作用的对象被组织成类;4) OO方法论由以下三部分组成:. 一个过程. 一个符号. 一系列规则2. 在一个OOAD软件开发过程,我们要完成二个不同的工作:答:1) 分析阶段我们主要:. 建立一个清晰的商业问题的视图;. 概述系统必须执行的任务;. 建立商业问题描述的通用词汇;. 概述商业问题的最佳方案。2) 设计阶段我们主要:. 解决商业问题;. 定义“how”代替“what”;. 介绍 阅读全文
posted @ 2012-08-20 22:38 鞋带Er 阅读(439) 评论(0) 推荐(0)
摘要: 1. Struts是什么?答:1) Struts是一个开源框架,用于构建MVC架构Web应用程序;2) Struts是Jakarta项目的部分, 由Apache软件基金赞助;3) 通过使用Struts,你可在程序中清晰地分隔表现层和业务逻辑层;4) 通过提供广泛JSP标签库,Struts也提高了开发效率。标签库解析和验证用户输入、错误处理以及国际化支持。5) 我们将会向您展现如何使用Struts开发工具构建Struts的Web应用程序。2. Struts资源答:为了学习更多Struts框架有关知识,请关注Struts官方网站以及用户向导:. http://jakarta.apache.org/ 阅读全文
posted @ 2012-08-20 22:37 鞋带Er 阅读(187) 评论(0) 推荐(0)
摘要: 1. 如何设置Java开发环境(Win2000)答:Start-Control panel-System-Advance-Environment Variables设置环境变量:PATH = %PATH%;c:\j2sdk1.4.2_05\bin;CLASSPATH = .;注:javac编辑器总是在当前查找文件,而java解释器只有在类路径中包含“.” 目录的情况下才会查找当前目录。如果类路径没有设置,并不会产生什么问题--黙认类路径中包含“.”目录。但,如果设置了类路径,却没有包含“.”话,就会产生问题--程序编译时不会出错,但却无法运行。2. 什么是Java?答:1) 编程语言(先编译再 阅读全文
posted @ 2012-08-20 22:36 鞋带Er 阅读(239) 评论(0) 推荐(0)
摘要: 可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。 一、通用篇 “通用篇”讨论的问题适合于大多数Java应用。 1.1 不用new关键词创建类的实例 用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。 在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对... 阅读全文
posted @ 2012-08-20 22:33 鞋带Er 阅读(204) 评论(0) 推荐(0)
摘要: 用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A)=========================分割线1=================================版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本声明http://aleung.blogbus.com/logs/32090434.html在Java内 阅读全文
posted @ 2012-08-20 22:32 鞋带Er 阅读(231) 评论(0) 推荐(0)
摘要: 一、ant关键元素1. project元素project 元素是 Ant 构件文件的根元素, Ant 构件文件至少应该包含一个 project 元素,否则会发生错误。在每个 project 元素下,可包含多个 target 元素。接下来向读者展示一下 project 元素的各属性。1) name 属性用于指定 project 元素的名称。2) default 属性用于指定 project 默认执行时所执行的 target 的名称。3) basedir 属性用于指定基路径的位置。该属性没有指定时,使用 Ant 的构件文件的附目录作为基准目录。?123456 <?xml version=&q 阅读全文
posted @ 2012-08-20 22:31 鞋带Er 阅读(159) 评论(0) 推荐(0)
摘要: 最进eclipse发布了最新的indigo(3.7)版本,于是想将版本升级了,可是插件的安装又是一件很麻烦的事情,在线安装方式虽然方便,但是卸载起来不是一般的麻烦,而且有些东西还卸载不掉。所以我大部分的插件都是以link方式安装。首先说明一下,以前的版本我们创建的link文件是放在links文件夹下的,其实可以放在dropins文件夹下就OK了。我们以svn插件subclipse为例说明一下,怎么用link方式安装插件:1.首先到官网下载插件的zip包,最新版本是1.6.18:http://subclipse.tigris.org/servlets/ProjectDocumentList?fo 阅读全文
posted @ 2012-08-20 22:30 鞋带Er 阅读(364) 评论(0) 推荐(0)
摘要: 1、动态SQL片段通过SQL片段达到代码复用<!-- 动态条件分页查询 --><sql id="sql_count">select count(*)</sql><sql id="sql_select">select *</sql><sql id="sql_where">from icp<dynamic prepend="where"><isNotEmpty prepend="and" property=&q 阅读全文
posted @ 2012-08-20 22:29 鞋带Er 阅读(771) 评论(0) 推荐(0)
摘要: system.out快捷键设定1、菜单window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打上勾2、windows-->preference-->workbench-->keys 下设置Content Assist 的快捷键 when选项里设置为eding java source3、window->Preferences->Java->Editor->Content Assist->Advanced 上面的选项卡se 阅读全文
posted @ 2012-08-20 22:29 鞋带Er 阅读(381) 评论(0) 推荐(0)
摘要: 源地址:http://cache.baidu.com/c?m=9d78d513d99811fc1eb0d4690c66c0161e43f1652bd6a0020fd6843893732d445016e1ac26520774a0d20d1116ae394b9bf72105311456b38cb9895e9afbcc2775ce6176671df55c0f8942b8cb3175927bc61dfeaf6eb6e7af2f84d8d5c4ae5344bc56120c81e7fb501763c072a04a6cb6bbc20e42000db8ef3535fc587d289a7046e211f2ea3 阅读全文
posted @ 2012-08-20 22:28 鞋带Er 阅读(902) 评论(0) 推荐(0)
摘要: java反射机制详解 及 Method.invoke解释文章分类:Java编程JAVA反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。1.得到某个对象的属性Java代码publicObjectgetProperty(Objectowner,Str 阅读全文
posted @ 2012-08-20 22:25 鞋带Er 阅读(230) 评论(0) 推荐(0)