- 博客(44)
- 收藏
- 关注
原创 JAVA设计模式学习笔记1——策略模式
各种资料对设计模式定义说法不一,也没有人给出一个像课本一样的定义,但核心思想是一致的,本文对于各种模式的定义部分摘自《HEAD FIRST设计模式》,部分摘自网络,还有一部分为自己理解,对于各种模式的理解,如有不正确的,欢迎批评指正。 目录:1、策略模式2、观察者模式3、装饰模式4、工厂模式5、单例模式 策略模式——定义算法族,分别封装起来,让它们之间可以互...
2014-04-23 11:41:16
186
JAVA设计模式学习笔记6——命令模式(Command Pattern)
命令模式(Command Pattern)——将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持科撤销的操作。 命令模式适用于“请求-响应”模式的功能,将用户的请求封装成对象(命令),用户需要执行什么样的操作,就调用什么样的命令,而无需知道命令的执行逻辑是什么。 命令模式主要包含以下几个概念:1、Command:所有命令的抽象类,一般需...
2014-03-07 15:09:56
338
JAVA设计模式学习笔记5——模版方法模式(Template Method Pattern)
模版方法模式(Template Method Pattern)——定义一个操作中算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模版方法模式适用于一组固定流程的算法,在抽象类中定义一组算法,由子类去实现,抽象类提供一个公开方法,确定调用这组算法的步骤。 比如,我们去营业厅办理一张手机卡,不论是移动、联通还是电...
2014-03-05 17:30:53
210
JAVA设计模式学习笔记5——单例模式
单例模式——确保一个类只有一个实例,并提供一个全局访问点。 单例模式一般分为懒汉式和恶汉式,懒汉式是说当第一次获取类时才进行类的实例化,饿汉式是说当类被加载时直接实例化。定义单例模式的一般步骤是: * 定义一个私有的构造函数,以保证这个类不能被外部程序实例化; * 定义一个类的实例变量,以保存这个类的唯一实例; * 定义一个获取类唯一实例的静态方法,使外部程序可以获取这个类...
2014-02-28 15:31:52
149
JAVA设计模式学习笔记4——工厂模式(Factory Pattern)
工厂模式(Factory Pattern) 工厂模式,顾名思义,实际上就是定义能够生成对象的工厂,对于某种对象,其实例化过程由对象工厂来完成。 工厂模式可细分为简单工厂模式(Simple Factory Pattern)、工厂方法模式(Factory Method Pattern)和抽象工厂模式(Abstract Factory Pattern)。简单工厂模式(Sim...
2014-02-28 15:18:39
167
JAVA设计模式学习笔记3——装饰者模式
装饰者模式——动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 装饰者模式就是给一个对象动态的添加新的功能,装饰者和被装饰者实现同一个接口,装饰者持有被装饰者的实例。JAVA中IO就大量使用了装饰者模式,如: InputStream in = new BufferedInputStream(new FileInputStream("test.tx...
2014-02-28 15:17:02
143
JAVA设计模式学习笔记2——观察者模式
观察者模式——定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 观察者模式是说,当一个对象的状态发生改变的时候,关心这个对象的所有对象都会接到通知,并作出相应的反应。比如,公司的OA系统提供了消息订阅功能,当有新的消息产生时,所有订阅了该消息的员工都会接到通知,这就是观察者模式。 观察者模式的核心是一个主题接口,一个观察者...
2014-02-28 15:15:44
116
EJB两阶段提交事物传播问题
昨天改EJB程序时出现了一个bug,服务器报了一个transaction does not exist,研究了大半天,终于发现原来是因为我的两个事物同时修改一条记录,weblogic两阶段提交时产生的问题,先上代码(示例,不是真实那个啊): 第一个接口: @Stateless@Remote( { ARmote.class })public class ABean...
2014-02-28 14:50:36
162
CKFinder2.x 入门 二
破解 CKFinder是收费的,可是我们都比较穷,用不起那么昂贵的东西,所以只能即无奈又无耻的去破解了。在http://www.imobile365.com/acticles/reviews-and-news/12-others/4551-ckeditor33ckfinder20ckf.html看到个破解办法,试了一下,果然好用,不过作为一名程序员,感情很矛盾啊,国人的破解技术还是...
2011-07-08 17:28:12
272
CKFinder2.x 入门
CKFinder是一款强大的基于浏览器的ajax文件管理工具,通常与CKEditor整合使用,当然也可以单独使用。CKFinder支持多种语言,官网地址为 http://ckfinder.com/,目前他的java版已经发布,不过不同于CKEditor,CKFinder是收费的,如果不购买license,就只能用于学习演示,不能用于商业用途,除非......(你知道的)。 一、...
2011-07-08 16:04:25
251
原创 linux下搭建配置APACHE+SVN
下载 1、apachehttp://httpd.apache.org/下载httpd-2.2.19.tar.gz 2、svnhttp://subversion.tigris.org/http://svn.haxx.se/dev/archive-2010-06/0320.shtml下载http://subversion.ti...
2011-07-05 10:42:06
105
jxl 操作 Excel
java 操作 Excel 最常用的就是JXL(java excel api)和POI,今先看下JXL吧。首先可以到 http://www.andykhan.com/jexcelapi/download.html 下载最新的jxl.jar,里面有它的jar包和API,内有一个小例子,可以参考一下。 JXL 用起来挺简单的,不过相应的其功能也并不是十分强大,对于一般的简单...
2011-06-09 12:06:52
114
CKEditor 3.6 入门二
配置CKEditor 主要有三种方式配置CKEditor,可以在 CKEditor API 中CKEDITOR.config 部分查看所有可配置选项。 一、在页面中配置 在页面中进行配置是CKEditor官方推荐的方式,这样可以避免修改CKEditor原始的配置文件,使得应用进行升级时更加便捷。可以在任意的创建CKEditor实例的方法中对其进行配...
2011-05-23 18:11:49
122
CKEditor 3.6 入门
有多种方法可以将CKEditor集成到你的页面中,下面是最通常的做法。 第一步:载入 CKEditorhttp://ckeditor.com/download 下载ckeditor的最新版本(我下了个5月9号发布的3.6),解压后将 ckeditor 文件夹复制到web工程的根目录下。在要使用CKEditor的页面<head>块中插入以下代码,将其引入: ...
2011-05-20 11:28:32
130
Struts 2 几个常见异常
异常一:警告: Error setting valueognl.OgnlException: target is null for setProperty(null, "submit", [Ljava.lang.String;@13d7738) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651) at ognl....
2011-05-11 00:16:05
136
remote access connection manager 错误5
今天打算连到公司VPN时遇到个问题,搞了我一下午,郁闷,下班前一分钟,搞定了,记录下来,希望能帮到需要的人。 问题:在新建连接时,选择连接到我的工作场所的网络,点击下一步,发现两个选项都是灰色。这是由于remote access connection manager 服务没有启动。那启动吧,结果报错,错误5,无法启动。于是乎开始google、百度。。。 解决:由于我机器前些天装...
2011-05-09 17:09:24
540
javax.naming.NameNotFoundException: mysql_ds not bound
前天单位招外包,让我给出点题,然后跟两个老大哥去面试一下,说实话,我还想出去参加面试呢,现在这点工资,实在是难以糊口啊!出了两道上机题,一个EJB的,一个struts2的,题很简单,结果面了五个人,没一个完成的,领导很郁闷,我也很无奈。刚才想用给考生配的环境玩点东西,结果发现当时数据源配的居然有点问题,我晕啊,还好不影响那两道上机题,不然丢人可就丢大了。 问题是这样:我用jboss...
2011-04-22 16:55:03
333
JAVA6开发WebService (五)—— JAXB
JAXB(Java API for XML Binding),提供了一个快速便捷的方式将Java对象与XML进行转换。在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版本JAX-WS2.1,其底层支持就是JAXB。 JAXB 可以实现Java对象与XML的相互转换,在JAXB中,将一个Java对象转换为XML的过程称之为Marshal,将XM...
2011-01-25 16:55:06
224
多线程断点续传
以前看过一个前辈写的断点续传的文章,记得当时没看懂,就扔那了。昨天翻了出来,自己也仿照写了一个,不过感觉没人家写的好,有点乱,希望大家能来批评、指正,给点意见! 功能很简单,就是启动多个线程分别从给定的地址下载数据,用RandomAccessFile写到目标文件。实现思路是: 1、获得连接的长度(即要下载的文件大小),除以设定的线程数,即得到每个线程要下载的大小。...
2011-01-12 12:20:58
97
javax.naming.NameNotFoundException: ProxyFactory not bound
JBOSS客户端调用时报了这个错:javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Exception while trying to locate proxy factory in JNDI, at key ProxyFactory...
2010-12-02 10:53:59
319
JAVA6开发WebService (四)——SAAJ调用WebService
前面写了个JAX-WS的小例子,看到用JAVA6开发WebService确实很简单,也很方便,不过前面也说了,JAVA有三种WebService规范,JAX-WS是其中一种,现在来看看JAXM&SAAJ。 最近在做一个接口平台的项目,接口嘛,当然得涉及到对WebService的接口了,我们计划做成一个通用的平台,通过配置文件进行配置后就可以动态对某一个接口进行调用,...
2010-11-13 14:32:14
114
JAVA6开发WebService (三)——几个概念
要了解WebService,光能写代码不行啊,这说说WebService最基本的概念。 首先WebService要知道几个最基本的概念:1、XML以及XML Schema XML 是Web Service表示数据的基本格式。XML是一套通用的数据表示格式,与平台无关,这就使不同语言构建的系统之间相互传递数据成为可能。 XML Schema-XSD 拥有一...
2010-11-11 17:00:39
150
JAVA6开发WebService (二)——JAX-WS例子
上一篇写了个最简单的小例子,只是为了说明JAVA6开发Web Service很方便,这一篇稍微深入一点,写个稍微有点代表性的小例子。 依然使用 JAX-WS(jdk自带的实现)方式,这次要在服务中使用一个复杂类型Customer,并实现附件传输的功能,这里使用MTOM的附件传输方式。MTOM(SOAP Message Transmission Optimization ...
2010-11-10 17:13:44
125
JAVA6开发WebService (一)
WebService是SOA的一种较好的实现方式,它将应用程序的不同功能单元通过中立的契约(独立于硬件平台、操作系统和编程语言)联系起来,使得各种形式的功能单元更好的集成。W3C对他的定义是: A Web service is a software system designed to support interoperable m...
2010-11-10 12:32:23
173
InputStream、OutputStream、String的相互转换
1、字符串转inputStream String string;//......InputStream is = new ByteArrayInputStream(string.getBytes()); 2、InputStream转字符串 ByteArrayOutputStream baos = new ByteArrayOutputStream();i...
2010-11-09 16:37:44
1015
com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error:
当使用java6发布WebService时,如果不指定@SOAPBinding(style = SOAPBinding.Style.RPC)遇到如下错误: com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.why.webservice.jaxws.S...
2010-11-02 15:13:11
248
原创 dom4j解析xml
dom4j和jdom都是非常优秀的xml解析工具,但现在很多人认为dom4j无论是在性能上或是灵活性上都要优于jdom,其实,作为xml的解析工具,他们在大多情况下都能满足我们的要求。至于要选择使用哪一个,那就要依个人爱好(或是公司要求)了。 以前写了一个jdom解析xml的例子,仿照那篇,再写一个dom4j版本的。 我下载的是dom4j-1.6.1...
2010-08-20 10:52:21
125
正则表达式
先看一个用正则表达式校验Email的js方法 function validEmail(email){ var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; return re.test(email);} 以此为例,来分析一下正则表达式的使用方法。 ^表示我们要用这个正则表达式检查以...
2010-05-17 16:39:42
95
Struts 1 和 Struts 2 的线程安全
昨天人问我Struts 2是怎么保证全局变量的线程安全的,跟Struts 1有什么区别,我一时懵了一下,没给解释清,发现自己也不是特别清楚,就google了一下,打算今天做个笔记,结果今没等google呢,就听说google走了,可惜了了啊!还是说说 Struts 线程安全的事吧。 总的来说,Struts1 的 Action 是单例模式,因此开发者必须保证它是线程安全的...
2010-03-23 16:58:27
89
原创 oracle 字符串函数
1.LOWER 返回字符串的小写形式;select lower('ABCDEFG') from dual; 2.UPPER 返回字符串的大写形式;select upper('abcdefg') from dual; 3.LENGTH 返回字符串的长度; select length('abcdefg') from dual; 4.INSTR(S1,S2,I,J) 在一个...
2010-02-22 10:59:20
139
原创 JAVA 集合类
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另...
2010-01-06 16:41:42
91
原创 JAVA 线程学习笔记--同步
为了确保可以在线程之间以受控方式共享数据,Java 语言提供了两个关键字:synchronized 和volatile。 Synchronized 有两个重要含义:它确保了一次只有一个线程可以执行代码的受保护部分(互斥,mutual exclusion 或者说 mutex),而且它确保了一个线程更改的数据对于其它线程是可见的(更改的可见性)。Volatile 比同步更简单,只适合于控制对基...
2009-12-30 16:37:04
105
原创 JAVA 线程学习笔记
创建线程有两种方法。一种方法是将类声明为 Thread 的子类,并重写 Thread 类的 run 方法。当调用这个子类的 start() 方法时,线程启动并立即调用该类的 run() 方法。代码示例: -------------------------------------------------------------------------------- // 这个类继承自 Thr...
2009-12-30 16:26:42
111
原创 JAVA调用系统命令或可执行程序
通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行时对象,然后调用run.exec(cmd) 另启一个进程来执行命令(cmd为要执行的命令)。 一、运行一个可执行程序 ...
2009-09-03 15:33:45
390
原创 FTP客户端(利用sun.net.ftp.FtpClient实现)
昨天帮同事弄java上传文件到ftp服务器,用的sun.net.ftp.FtpClient,感觉很简单,也很好用,写了个小例子,留作备份。 这个小例子实现了文件(或文件夹)上传,文件下载,取得某目录下文件列表等功能,对于文件夹下载还没有实现,改天有空改完了再贴上来吧。由于通过设定好的用户名、密码登陆到ftp server时,连接到的目录不一定是根目录,有可能是根目录下很深层...
2009-07-30 15:35:10
708
原创 JAVA生成MD5校验码及算法实现
在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数。然后将此 128 位计 16 个字节转换成 16 进制表示即可。 下面是一个可生成字符串或文件MD5校验码的例子,测试过,可当做工具类直接使用,其中最主要的是getMD5String(String ...
2009-07-29 14:10:53
938
原创 JAVA 反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; ...
2009-06-05 09:49:06
139
原创 CGLIB 动态代理
目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。即如果想对一个类进行动态代理,那么这个类首先要继承了某个接口,否则就无法对其进行代理。 CGLIB就可以对一个普通java类进行代理,不需要其实现任何接口。CBLIB的实现采用非常底层的字节码技术,为一个类动态生成一个子类,并在子类中覆盖其父类所有的非final的方法,对其进行拦截,以实现动态代理的效果...
2009-06-04 10:30:22
95
原创 JAVA 动态代理
java中代理模式的作用是,为一个对象提供一种代理,以控制对这个对象的访问。即在客户端和目标对象之间起到中介的作用。 比如,客户端要调用某个业务实现类的insert()方法,但在执行insert()方法之前需要进行一下权限验证,在执行insert()方法之后要记录日志,而权限验证和记录日志都只需调用一个公用方法就可以了,用不着修改所有的业务实现类中的业务代码。这时,可以为每个业务...
2009-05-31 16:01:33
122
原创 在eclipse中建立EJB工程
EJB2.0学习笔记之一,在eclipse中创建一个sessionBean。Myeclipse5.5,weblogic8.1环境。 新建EJB工程: 选择EJB版本,EJB2对应的jdk版本为1.4 新建一个以.ejb结尾的包 在这个包下新建一个Session Bean 选择EJB2 Session Bean,在弹出窗口指定Stateless或S...
2009-04-19 11:00:31
458
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人