- 博客(110)
- 资源 (4)
- 收藏
- 关注
转载 Spring定时器
本文章取自Spring in Action 在Spring中有两种流行配置:Java的Timer类和OpenSymphony的Quartz。 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; public class EmailReportTask exten
2010-05-12 20:45:00 575
转载 每个项目中,你不得不知的11个Java第三方类库
单元测试1.DBUnitDBunit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装。 2.MOckitoMockito是一个针对Java的mocking框架。你可以使用简洁的API编写出漂亮的测试。 3.Hamcrest Matchers Hamc
2010-05-07 11:20:00 761
转载 velocity语法
一、基本语法 1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#include、#parse、#macro等;如:#if($info.imgs)#else#end 2、"$"用来标识一个对象(或理解为变量);如如:$i、$msg、$TagUtil.options(...)
2010-04-29 13:54:00 627
转载 关联,聚合,组合的区别
类间关系在类图中,除了需要描述单独的类的名称、属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单独工作更大的语义。在UML类图中,关系用类框之间的连线来表示,连线上和连线端头处的不同修饰符表示不同的关系。类之间的关系有继承(泛化)、关联、聚合和组合。(1)继承:指的是一个类(称为子类)继承另外的一个类(称
2010-04-28 17:07:00 735
转载 Java设计模式之Observer模式
Observer(观察者)模式是比较常用的一个模式,特别是在电子商务中,比如网上商店,需要设计只要商品有变化就通知订户,这是很多网上商店都用到的模式。这个模式就是Observer patarn 观察者模式。具 体的说,如果网上商店中商品在名称价格等方面有变化,如果系统能自动通知会员,将是网上商店区别传统商店的一大特色.这就需要在商品product中加入Observer这样角色,以便
2010-04-24 11:17:00 625
转载 Java设计模式之Flyweight模式
GOF:运用共享技术有效地支持大量细粒度的对象。 解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说(这里引用GOF书中的例子)一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果
2010-04-20 20:16:00 471
转载 Java设计模式之Facade模式
Java设计模式之Facade模式 GOF《设计模式》一书对Facade模式是这样描述的: 为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。 大致意思是说:使用一种比原有方式更简单的办法与系统交互。例如,我们把一个很重要的文件,放在了第二抽屉里,而第二个抽屉的钥匙放在了第一个抽屉里,我们要想取出这个文件,第一步肯定要拿到第一个抽
2010-04-20 20:10:00 718
转载 Spring JDBC事务管理
JDBC事务管理 Spring提供编程式的事务管理(Programmatic transaction manage-ment)与声明式的事务管理(Declarative transactionmanagement),为不同的事务实现提供了一致的编程模型,这节以JDBC事务为例,介绍Spring的事务管理。 5.3.1 Spring对事务的支持 事务是一
2010-04-19 16:23:00 697
原创 23种设计模式之Adapter模式
一句话什么是Adapter?Adapter就是一个转换器,比如一个电源插头可以让一个两插头的电器使用墙壁上的三插头电源。这次的介绍将不写代码,虽然设计模式是为了代码而生,但我认为这是一种看世界的方法,不仅仅是一种代码的设计方式,所以这次的适配器模式因为比较简单和容易理解就不再写代码解释,但适配器的思想能用在软件设计、工程建筑、日常生活等待方面...意图将一个
2010-04-18 09:03:00 609
原创 23种设计模式之Bridge模式
Bridge定义 :将抽象和行为划分开来,各自独立,但能动态的结合.为什么使用?通常,当一个抽象类或接口有多个具体实现,这些concrete之间关系可能有以下两种:1. 这多个具体实现之间恰好是并列的,如前面举例,打桩,有两个concrete class:方形桩和圆形桩;这两个形状上的桩是并列的,没有概念上的重复,那么我们只要使用继承就可以了.2.实际应用上,常常有可能在这多个
2010-04-18 09:00:00 572
原创 Difference between Statement and preparedStatement
The prepared statement concept is not specific to Java, it is adatabase concept. Statement precompiling means: when you execute a SQLquery, database server will prepare a execution plan before exe
2010-03-14 11:44:00 708
转载 SQL语句中的Having子句与where子句之区别
SQL语句中的Having子句与where子句之区别 ---WHERE句子作用于基本表或试图,从中选择满足条件的元组。HAVING作用于组,从中选择满足条件的组---在说区别之前,得先介绍GROUP BY这个子句,而在说GROUP子句前,又得先说说“聚合函数”——SQL语言中一种特殊的函数。例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用
2010-03-14 11:43:00 5435 1
转载 SVN客户端使用FAQ
1. A:用户在登陆系统时,输入用户名和密码后,系统提示如下错误:403 Forbidden, 这是为什么?Q:首先确定输入的路径是否正确;如路径正确,请该用户与配置管理员确定是否具有访问该配置库的权限。2. A:用户在登陆系统时,输入用户名和密码后,系统提示如下
2010-03-02 18:49:00 779
转载 YAHOO YUI工具库
1.1. YAHOO工具库提供的方法l namespace用于创建一个全局的命名空间,使用YUI时,首先会自动创建widget,util,example三个命名空间,使用时也可以自定义命名空间。类似于在程序中建了了一个static变量。l langjavascript扩展的语言工具,用于判别对象的类型。l
2009-10-31 11:27:00 2195
转载 YUI学习总结
YUI技术简单介绍什么是YUI?按照官方解释就是“The Yahoo! User Interface Library (YUI)”,中文就是“雅虎 用户接口库(简称YUI)” ,它是一个使用JavaScript编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui 也包含几个核心的CSS文件:一个是css page grids,用它可以很
2009-10-31 11:17:00 3497
转载 Java基础巩固:static、this、super、final用法
一、static请先看下面这段程序:public class Hello{public static void main(String[] args){//(1)System.out.println("Hello,world!");//(2)}}看过这段程序,对于大多数学过Java 的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言,例如C,那您也应该能看懂
2009-10-26 11:38:00 577
转载 浅谈Java内部类的四个应用场景
——浅谈Java内部类的四个应用场景 Java内部类是Java言语的一个很重要的概念,《Java编程思想》花了很大的篇幅来讲述这个概念。但是我们在实践中很少用到它,虽然我们在很多时候会被动的使用到它,但它仍然像一个幕后英雄一样,不为我们所知,不为我们所用。本文不试图来讲述Java内部类的今生前世、来龙去脉,这些在网络上都已经汗牛充栋。如果读者想了解这些,可以在网络上搜索来学习。Java内部类总是
2009-10-24 21:23:00 549
原创 JSTL教程
EL表达式语言:http://www.ibm.com/developerworks/cn/java/j-jstl0211/core标签库:http://www.ibm.com/developerworks/cn/java/j-jstl0318/format标签库:http://www.ibm.com/developerworks/cn/java/j-jstl0415/XML标签库:ht
2009-10-07 10:18:00 533
转载 中文化和国际化问题权威解析之一:字符编码发展历程
前几天看文初的《精武门之Web安全研讨会首日感受》,说到利用字符集攻击时提到以前宝宝写的一篇有关国际化的文章,趁机再次拜读了宝宝的这篇大作,不得不感慨宝宝的写作功底,无敌!这么好的文章不分享出来实在是太可惜了,在此将宝宝的大作转帖于此;作者序在我开发Java程序的几年中,遇到得最多,也是别人向我提问最多的问题,就是各种各样看似稀奇古怪的中文乱码问题了。网上也有许
2009-09-21 18:53:00 884
原创 Hibernate复合主键
基于业务需求,您会需要使用两个字段来作复合主键,例如在User数据表中,您也许会使用"name"与"phone"两个字段来定义复合主键。假设您这么建立User表格:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->
2009-08-13 12:53:00 1347 1
原创 GOF23种设计模式之Builder Pattern
一:什么是建造模式 建造模式是对象的创建模式【GOF95】。建造模式可以将一个产品的内部表象和产品的生产过程分割开来,从而可以使一个建造过程生成具有不同内部表象的产品对象。二:引入建造模式考虑如下问题:我要建造一部设备(Equipment对象),我们希望将这个复杂的对象的构建与其内部表象分离,使得同样的构建过程可以具有不同内部表象的设备。譬如输入设备,输出设备等。不难看出,
2009-08-12 16:48:00 674
转载 Java盲点:双重检查锁定及单例模式
Peter Haggar, 高级软件工程师, IBM2004 年 5 月 01 日所有的编程语言都有一些共用的习语。了解和使用一些习语很有用,程序员们花费宝贵的时间来创建、学习和实现这些习语。问题是,稍后经过证明,一些习语并不完全如其所声称的那样,或者仅仅是与描述的功能不
2009-08-11 17:46:00 770
原创 Java技巧:序列化的两种方式
大家都知道Serializable是一个mark interface,告诉JVM这个对象可以被转换成二进制流来传输. Serializable 在我们实现这个接口的时候,我们可以使用4个私有方法来控制序列化的过程: 我们来看一个例子: public class FooImpl implements java.io.Serializable{ private String messa
2009-08-03 10:56:00 926
转载 Java技巧:深拷贝的两种方式
⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍
2009-08-03 10:44:00 645 1
转载 BOM和DOM的关系
BOM分为传统的和现代的两种。传统的BOM有document对象,但是只有anchors、forms、links、images和applets等几种属性。而且不能通过一个控件的id来直接访问,很麻烦。现代的BOM也有document对象,但是这个document就是DOM。所以说,DOM其实应该是BOM的一部分。也就是说,在浏览器打开的时候,就在内存中创建了一个BOM对象模型,它和显示
2009-07-28 09:05:00 1662
原创 C#字符串和日期的转换
字符串->日期:Method1Convert.ToDateTime(string strValue);Method2DateTime.Parse(string strValue);日期->字符串:Method1Convert.ToString(DateTime dateValue);Method2DateTime.ToString(DateTime dateVa
2009-07-27 17:24:00 1830 1
转载 Date类学习总结(Calendar Date 字符串 相互转换 格式化)
1.计算某一月份的最大天数Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //year 为 int time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
2009-07-14 17:18:00 1628
转载 Hibernate 复合查询
复合查询主要是处理,具有关联关系的两个实体怎样进行关联查询,比如User实体对象与Addres实体对象具有一对多的关联关系,我们可以如下构造符合查询:Criteria criteria=session.createCriteria(User.class); Criteria addcriteria=criteria.createC
2009-07-14 16:44:00 727
原创 HQL经典语句
Hib的检索方式1导航对象图检索方式。通过已经加载的对象,调用.iterator()方法可以得到order对象如果是首次执行此方法,Hib会从数据库加载关联的order对象,否则就从缓存中得到。2OID检索方式。通过session的get,load方法知道了OID的情况下可以使用3HQL检索方式。使用面向对象的HQL查询语句session的find方法利用HQL来查询4
2009-07-09 18:27:00 1204
原创 OutLook Express邮件数据备份和恢复
·OutLook Express邮件数据备份和恢复(1) --> 电脑给了我们太多的方便,如果现代生活缺少电脑,那么我不敢想像会变成怎样的一种状态。然而,电脑也像人一样,经常会“生病”,严重的话会造成数据的损失,这样给用户带来的伤害之大可想而知。当然,为了防止该类型的事故的发生,聪明的人类也开发了不少功能强大的数据备份和
2009-06-18 11:11:00 2889
原创 Topcoder的一道经典算法题
Problem Statement????You work for an electric company, and the power goes out in a rather large apartment complex with a lot of irate tenants. You isolate the problem to a network of sewers underneath
2009-06-05 22:50:00 868
转载 Java 中的堆和栈
Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动
2009-05-21 14:41:00 598
原创 Java对URL和URI的区分
从JDK1.4开始,java.net包对统一资源定位符(uniform resource locator URL)和统一资源标识符(uniform resource identifier URI)作了非常有用的区分。URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。URL是URI的一个特例,它包含了定位Web资源的足够信息。其他URI,比如:mailto:cay@ho
2009-05-19 20:28:00 2981
转载 Java技巧:格式化输出数字
实际工作中,常常需要设定数字的输出格式,如以百分比的形式输出,或者设定小数位数等,现稍微总结如下。主要使用的类:java.text.DecimalFormat1。实例化对象,可以用如下两种方法: DecimalFormat df=(DecimalFormat)NumberFormat.getInstance(); DecimalFormat df1=(DecimalFormat) De
2009-05-19 18:21:00 529
转载 Java技巧: int 和 String 互相转换的多种方法
1 如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long
2009-05-19 18:20:00 474
原创 Java技巧:集合和数组的转换
由于Java平台API的很大一部分都是在集合框架建立之前设计的,因此有时候需要在传统的数组和现代的集合之间进行转换。如果你有一个数组,就需要将它转化为一个集合,Array.asList包装器能够实现这个目的,例如:String[] values = ...;HashSet staff = new HashSet(Array.asList(values)); 反过来,如果要从集合
2009-05-18 20:25:00 2350 3
转载 Java学习之神奇的i=i++
学习过一门计算机语言的人一定知道j=i++的运算结果,整个表达式的值为i,而i的值变为i+1;那么i=i++又是一个什么情况呢?下面分别用java 和 c 两种语言来做个测试:Java:public class test{ public static void main(String[] args) { int i = 0; for(
2009-05-17 11:05:00 805
原创 初探关键字volatile
第一次接触到关键字volatile,不知为何物,只是模糊的记得java关键字里面好像有它。查了些资料,整理如下:Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私
2009-05-17 10:54:00 398
转载 【经典推荐】每个初学者都应该搞懂的问题
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样
2009-05-16 23:04:00 423
原创 函数的实际参数:Arguments对象
在一个函数体内,标识符arguments具有特殊含义。它是调用对象的一个特殊属性,用来引用Arguments对象。Arguments像数组,但并非是数组,将它看作偶然具有了一些带编码的属性的对象更合适。当函数具有命名了的参数时,Arguments对象的数组元素是存放函数参数的局部变量的同义词。arguments[]数组和命名了的参数不过是引用同一变量的不同方法。用参数名改变一个参数的值时同时会改变
2009-05-16 22:25:00 626
Java程序员上班那点事儿.pdf
2010-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人