自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

关注产品细节,重视用户体验

  • 博客(60)
  • 资源 (26)
  • 收藏
  • 关注

转载 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式 .

米林(ljg)邮箱使用说明系统下载地址:http://download.csdn.net/detail/afgasdg/3681707一、             环境配置本系统需要的环境:apache james3.0邮件服务器、tomcat 服务器、Mysql5.1数据库二、             具体环境配置Mysql5.1 配置         使用本系统前请

2012-04-27 12:35:53 4015 2

原创 算法系列15天速成——第八天 线性表【下】

一:线性表的简单回顾       上一篇跟大家聊过“线性表"顺序存储,通过实验,大家也知道,如果我每次向顺序表的头部插入元素,都会引起痉挛,效率比较低下,第二点我们用顺序存储时,容易受到长度的限制,反之就会造成空间资源的浪费。 二:链表      对于顺序表存在的若干问题,链表都给出了相应的解决方案。1. 概念:其实链表的“每个节点”都包含一个”数据域“和”指针域“。

2012-04-27 01:41:33 2341

原创 算法系列15天速成——第七天 线性表【上】

人活在社会上不可能孤立,比如跟美女有着千丝万缕的关系,有的是一对一,有的是一对多,有的是多对多。哈哈,我们的数据也一样,存在这三种基本关系,用术语来说就是:  线性关系。  树形关系。  网状关系。 一: 线性表      1 概念:                 线性表也就是关系户中最简单的一种关系,一对一。                  如:学生学号的

2012-04-27 01:36:32 2571

原创 算法系列15天速成——第六天 五大经典查找【下】

大家是否感觉到,树在数据结构中大行其道,什么领域都要沾一沾,碰一碰。就拿我们前几天学过的排序就用到了堆和今天讲的”二叉排序树“,所以偏激的说,掌握的树你就是牛人了。 今天就聊聊这个”五大经典查找“中的最后一个”二叉排序树“。 1. 概念:      其实很简单,若根节点有左子树,则左子树的所有节点都比根节点小。                             若

2012-04-27 00:51:03 3139 1

原创 算法系列15天速成——第五天 五大经典查找【中】

大家可否知道,其实查找中有一种O(1)的查找,即所谓的秒杀。 哈希查找:     对的,他就是哈希查找,说到哈希,大家肯定要提到哈希函数,呵呵,这东西已经在我们脑子里面形成固有思维了。大家一定要知道“哈希“中的对应关系。     比如说: ”5“是一个要保存的数,然后我丢给哈希函数,哈希函数给我返回一个”2",那么此时的”5“和“2”就建立一种对应关系,这种关系就是所谓

2012-04-27 00:49:27 3515

原创 算法系列15天速成——第四天 五大经典查找【上】

在我们的生活中,无处不存在着查找,比如找一下班里哪个mm最pl,猜一猜mm的芳龄....... 对的这些都是查找。 在我们的算法中,有一种叫做线性查找。分为:顺序查找。        折半查找。 查找有两种形态:分为:破坏性查找,   比如有一群mm,我猜她们的年龄,第一位猜到了是23+,此时这位mm已经从我脑海里面的mmlist中remove掉了。

2012-04-27 00:46:58 8621 9

原创 做一名合格的前端开发工程师---各浏览器对页面外部资源加载的策略

这个总结来源于一次优化的请求,最初某个页面的加载十分缓慢,load事件迟迟无法触发,因此希望可以通过对静态文件分域名等方式对页面的外部资源进行优化,拿得load事件尽可能早地触发。于是我查看了页面的源码,并对外部资源进行了整理,基于下面2个理念画出了一个推测的瀑布图:浏览器对同一个域只能并发2个HTTP请求 – 网上盛传已久。 javascript文件的加载会阻塞浏览器其他资源的加载

2012-04-27 00:44:46 11691 29

原创 做一名合格的前端开发工程师(12篇)——第一篇 Javascript加载执行问题探索

楼主做前端开发一年多了,对前端的见解还是多多少少有一点的,今天特拿出来跟大家分享分享。 做前端开发少不了各种利器。比如我习惯用的还是Google浏览器和重型武器Fiddller。 一: 原始情况首先大家看看如下的代码:  估

2012-04-27 00:39:59 2731

原创 自己写的简单通过js只提供另存为功能【避免直接打开后,文件被占用,其他用户更新不了文件信息】

function savepic(){ if(document.all.a1==null){ objIframe=document.createElement("IFRAME"); document.body.insertBefore(objIframe); objIframe.outerHTML= ""; re=setTimeout("sa

2012-04-26 16:30:18 7057

原创 浅谈java中static作用

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问

2012-04-26 09:50:56 13757 7

原创 算法系列15天速成——第三天 七大经典排序【下】

今天跟大家聊聊最后三种排序: 直接插入排序,希尔排序和归并排序。 直接插入排序:       这种排序其实蛮好理解的,很现实的例子就是俺们斗地主,当我们抓到一手乱牌时,我们就要按照大小梳理扑克,30秒后,   扑克梳理完毕,4条3,5条s,哇塞......  回忆一下,俺们当时是怎么梳理的。       最左一张牌是3,第二张牌是5,第三张牌又是3,赶紧插到第一张牌后面去,第四

2012-04-26 00:53:52 3629 3

原创 算法系列15天速成——第二天 七大经典排序【中】

首先感谢朋友们对第一篇文章的鼎力支持,感动中.......  今天说的是选择排序,包括“直接选择排序”和“堆排序”。 话说上次“冒泡排序”被快排虐了,而且“快排”赢得了内库的重用,众兄弟自然眼红,非要找快排一比高下。这不今天就来了两兄弟找快排算账。 1.直接选择排序: 先上图: 说实话,直接选择排序最类似于人的本能思想,比如把大小不一的玩具让三岁小毛孩对

2012-04-25 12:43:44 3752 1

原创 java打印 Hello World!

今天在人人上看到一张图。大体意思就是在下面代码 if()的括号中加入任意代码,使之打印出"Hello World!":public static void main(String[] args){try { if(){ System.out.print("Hello "); }else{ System.out.println("world!"); } } c

2012-04-24 22:37:01 4922

原创 索引的一些总结

1.1.1 摘要如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化。1. 计算机硬件调优2. 应用程序调优3. 数据库索引优化4. SQL语句优化5. 事务处理调优在本篇博文中,我们将想大家讲述数据库中索引类型和使用场合,本文以SQL Server为例,对于其他技术平台的朋友也是有参考价值的,只要替换相对应的代码就行了!索引使数据库引擎执行

2012-04-24 17:00:45 2029

原创 算法系列15天速成——第一天 七大经典排序【上】

算法就好比程序开发中的利剑,所到之处,刀起头落。 针对现实中的排序问题,算法有七把利剑可以助你马道成功。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Thre

2012-04-24 10:51:55 8356 11

原创 介绍一个小工具 Linqer

这些天写Linq挺烦人的,就上网搜搜可有什么好的sql转Linq的工具,咦,马上就看上了Linqer。哈哈,介绍一下使用方法吧:官方下载网站:http://sqltolinq.com/download。第一步:运行这个神马文件。第二步:指定一个路径给它。他会生成一个Linqer.exe可运行的文件。第三步:运行这个exe文件,点击Add按钮,第四步:在弹出的Add界面中

2012-04-24 10:47:33 2493 3

原创 启动Eclipse时,启不起来JVM terminated. Exit code=-1 .

出现错误了,不知道什么原因原本好好的Eclipse,今天早上出问题了,启动不起来还抛出JVM terminated. Exit code=-1,上网查了资料以后,原来好多人和我一样都有这样的问题,真是感谢前辈们了。  Eclipse 启动不起来,出现以下错误:JVM terminated. Exit code=-1-Dosgi.requiredJavaVersion=1.5

2012-04-24 10:12:14 2023

原创 重构36计(31-36)

第三十一计:置空不用的对象在C++中,销毁一个对象后,一定要把指针置为NULL,否则会出现野指针,最好写成下面这样,delete后立马置为NULL,delete pObject;pObject = NULL;在Java中,当不再需要一个对象时,最好能把它置为null,这样有利于垃圾回收。 第三十二计:善于利用接口  1、 回调型接口    在C语言中,回调函

2012-04-23 16:52:33 1670 1

原创 重构36计(25-30)

第二十五计:函数体最多不超过100行  记得以前看过一个函数有9000多行,很壮观啊,从那以后看到长函数时也不奇怪了,我认为过长函数的主要缺点是:1、严重影响代码的阅读,使用到某个变量的地方可能间隔几百甚至上千行,如果if-else嵌套层次较多的话那就更噩梦了。2、不利于代码的重用,短小而独立的逻辑处理单元更容易被重用,而过长的代码段则需要经过进一步分解才行。我觉得函数最好不要超过

2012-04-20 15:07:29 2033 2

原创 重构36计(19-24)

第十九计:避免类的臃肿  在我接触过的大部分项目中,总会有一个“大胖子“类特别惹眼,一般来说,这“大胖子“实际上是整个系统的核心类之一,之所以“胖“,主要原因是很多人都会把自己需要的函数加到这个类中,却没有人主动请缨来为它“减肥“。可以通过以下几种方式来为它“瘦身”:  1、按照某种特性(如功能、类型等)将这个类拆分成多个类。  2、合并冗余函数,保持函数粒度的最小化。  3、去除

2012-04-19 01:21:03 7760 12

原创 用if、Exception还是assert?——看JavaEye论坛帖子:《面试题:用Exception异常还是if判断》的感想 .

今天在JavaEye上看到一个很火的帖子,题目是(面试):用Exception(异常)还是if判断http://www.javaeye.com/topic/745640。内容大概是:当参数不合法的时候,究竟是if else 判断后返回一个值还是直接来个Exception ?如果是 if else 的话,有什么好处?如果是 exception 的话,又有什么好处?或者是根据不同情况来

2012-04-19 01:20:45 2342 4

原创 重构36计(13-18)

第十三计:为集合类型的成员变量提供增删改查函数  对于集合类型的成员变量,直接提供一个函数将其暴露出去是不够妥当的,缺点包括以下几点:  1、添加集合元素时无法校验它的合法性,例如类型是否符合要求、该元素是否已存在等。  2、无法控制集合的容量,集合的容量可能是动态分配的。  所以,更好的做法是为集合类型的成员变量提供增删改查等函数,例如某个类中有名为userList的数组,则可以

2012-04-18 09:40:08 1816 5

原创 重构36计(7-12)

第七计:串联函数调用当一个类的大部分函数被较为频繁地调用,并且包含连续性地调用,那么可以考虑为这个类中那些没有返回值的函数增加返回值,即返回对象本身,这样就可以串联函数调用,使用起来较为方便,举个例子:// 表示用户的类public class User{ public void setName(String name); public void setAge(int

2012-04-18 09:39:22 2632 4

原创 重构36计(1-6)

重构,其实很简单,它的目的就是让程序变得更容易被理解,更具有可维护性,结构更合理。重构应该是我们平时写代码过程中必不可少的一部分,比如给函数起了一个更好的名字、把大函数拆分成几个小函数等都属于重构。重构的经典书籍包括Martin Flower的《重构-改善既有代码的设计》、Joshua Kerievsky的《重构与模式》,本系列的所谓36计是我多年来使用最为频繁的重构策略和编码准则,有自己总结的,

2012-04-18 09:38:32 2679 2

原创 高效程序员秘籍(10):聚合个人全部邮箱

对于有很多个邮箱的人来说,查看是否有新邮件是件挺烦琐的事情,尤其是拥有各种不同网站的邮箱,需要分别登录各个邮箱进行。如果有可以集中查看所有邮箱中新邮件的方法就方便多了,下面就向大家介绍两种方法。  第一种方法是挑选一个邮箱作为聚合邮箱,用来接收其他邮箱的新邮件,也可以在该邮箱中以其他邮箱作为发送地址。建议把Gmail邮箱作为聚合邮箱,或者其他功能比较强大的Web邮箱,使用Web邮箱的好处是随时

2012-04-18 09:35:53 2066 1

原创 高效程序员秘籍(9):快速查找硬盘上的文件和目录

使用搜索引擎是程序员日常工作中必不可少的部分,绝大多数技术问题都能在网络上找到解答,但是我发现,对于硬盘上的文件,很多人的查找方法还是比较原始,完全是凭记忆去各个目录里找。我向同事索要安装包或者文档,要不就是不知道放在那里了,要不就是找半天。虽然Windows文件管理器有搜索功能,但是速度有点慢,而且不支持通配符和正则表达式。下面向大家介绍一款文件名搜索利器,它就是EveryThing,堪称神速!

2012-04-18 09:35:22 1448

原创 高效程序员秘籍(8):养成使用网络笔记本、网络文件同步工具的习惯

随着越来越多实用软件的涌现,人们的工作和学习效率得到了很大的提高,当然,前提是我们主动去接受和学习它们的使用,并且改变已有的习惯。近一两年智能手机的快速普及,一批新的实用软件诞生了,已有的软件也纷纷推出了手机版本,使得这些软件变得更加实用,让我感受最深的两类软件是网络笔记本和网络文件同步工具,作为一名程序员,如果没有使用过它们,那真是.......,不知道该咋说。  做笔记是一种很好的习惯,好

2012-04-18 09:34:58 1127

原创 高效程序员秘籍(7):使用Diagram Designer快速绘制流程图、UML等图形

目前比较流行的UML建模工具包括Visio、Rational Rose、PowerDesigner、EA等,基本上都是企业级的软件,功能强大,我只用过Visio,所以就不对它们的特点或者异同多加介绍。对于较正式的情况,例如图形会作为项目文档的一部分,建议使用以上列出的软件。当我们在工作中遇到较复杂的代码逻辑或者业务逻辑时,把它们以图形的形式展现出来更容易理解,对于这种情况,可以使用一个简单轻便的建

2012-04-18 09:33:57 3786

原创 高效程序员秘籍(6):使用CLCL加快写代码的速度

经常看到论坛上有人抱怨日常的编程工作就是复制和粘贴,对此我也深有体会,尤其是利用类似SSH框架开发的项目,很大一部分代码都是通过复制粘帖然后再稍加修改完成的。但是Widows的剪贴板只能记录最近一次复制的内容,要想粘帖之前某次复制的内容,只能再次去目的地复制,看似简单的过程可能会占用不少时间,如果能省去这个步骤,也许就可以早点下班回家。有一类工具可以帮上忙,那就是剪贴板增强软件,比如本文要介绍的C

2012-04-18 09:33:28 2033

原创 GoF著作中未提到的设计模式(7):Publish-Subscribe

很多项目中都有消息分发或者事件通知机制,尤其是模块化程度高的项目。例如在办公自动化系统中,有些子系统对于新建用户这一事件很感兴趣,权限模块希望为这个新用户设置默认的权限,报表模块希望重新生成当月的报表,诸如此类的代码都写到新建用户的业务逻辑后面,会加大耦合度,可维护性降低,并且对于每个模块都是一个独立工程的情况,这种方式更是不可取。对于简单的情形,观察者模式就适用了,如果系统中有很多地方都需要收发

2012-04-18 09:31:48 1218 1

原创 高效程序员秘籍(4):使用Total Commander替换Windows资源管理器

最新的Web浏览器都有标签页特性,而Windows自带的资源管理器却没有,总是需要同时打开多个窗口,后来下载了一个插件叫 QTTabbar,可以让资源管理器具备标签页的特性,但总是出问题。除此以外,Windows资源管理器还有种种不足,此刻能想到的有以下几点:  1、不能设定经常使用的文件夹  2、拷贝文件的全路径不方便  3、使用起来不够快,快捷键太少  Total Comman

2012-04-18 09:31:02 4323

原创 高效程序员秘籍(3):使用MindManager进行可视化的思维管理

记得在使用MindManager之前,考虑问题的解决办法的过程经常会被各种事件打断,回过头来再继续时总会有些偏差,甚至忘记了之前想到的关键地方,所以,有时候也会一边想一边记,但总觉得这个过程不够高效,一段时间后,记录的内容连自己也看不懂,有的根本就找不到了,无形的价值随之流失。  其实我也一直在找可替代的方法,尤其是类似的软件,感觉都不太合适,大多数都是些类似便筏、网络笔记本的工具。无意中见到

2012-04-18 09:30:36 1263 1

原创 高效程序员秘籍(2):使用GridMove快速将窗口以指定大小放到指定区域

在我们日常工作中,经常需要让多个应用程序窗口同时可见(并且相互不遮挡),例如在比较两个文档或者边看电子书边做笔记时,可以让它们水平方向上各占屏幕的一半。如果显示器比较大,我们可以把屏幕划分成几块,然后在各个区域放置需要同时可查阅的窗口,这样可以充分利用屏幕空间,而且同时可以干好几件事情。  不过,很多人都是通过手动拖拽来实现这一目的,首先要找到目标窗口,然后移动到指定位置,最后调整大小,过程比

2012-04-18 09:30:17 1482 1

原创 高效程序员秘籍(1):使用AutoHotKey快速切换窗口

当我们打开电脑做一些事后,任务栏中就会有若干已打开应用程序的窗口,在它们之间切换,绝大部分人使用下面两种方式:    1、使用Tab键    2、直接用鼠标在任务栏中找到目标窗口再点击  第一种方式效率更高一些,尤其是在当前窗口与上一个窗口切换的情况下,应该没有比使用Tab键更好的方法了。在我们工作的过程中,总会有那么几个固定使用的应用程序,比如IDE、浏览器、文本编辑器、邮箱客户端、

2012-04-18 09:29:55 3568

原创 GoF著作中未提到的设计模式(6):Specification

在一个较为复杂的业务流程中,某些条件的满足与否决定了业务逻辑的走向,我们可以把这些条件抽离出来,使得任意个条件以某种关系进行组合,从而灵活地对业务逻辑进行定制。另外,在查询、过滤等应用场合中,我们也可以预定义多个条件,使用这些条件的组合来处理查询逻辑,而不是使用逻辑判断语句来处理,那样只会让代码变得复杂,让脑袋变大。  在Specification设计模式中,一个条件就是一个specifica

2012-04-18 09:28:22 1946

原创 GoF著作中未提到的设计模式(5):Object Pool

Object Pool,即对象池,对象被预先创建并初始化后放入对象池中,对象提供者就能利用已有的对象来处理请求,减少对象频繁创建所占用的内存空间和初始化时间,例如数据库连接对象基本上都是创建后就被放入连接池中,后续的查询请求使用的是连接池中的对象,从而加快了查询速度。类似被放入对象池中的对象还包括Socket对象、线程对象和绘图对象(GDI对象)等。  在Object Pool设计模式中,主要

2012-04-18 09:27:58 1630 1

原创 GoF著作中未提到的设计模式(4):Double Dispatch

我们先从字面上去理解它吧,直观地说,它指的是两次dispatch。这里的dispatch指的是什么呢?举个例子: class Event { public: virtual void PrintName() { cout"我是通用事件"endl;

2012-04-18 09:27:34 1216

原创 GoF著作中未提到的设计模式(3):Null Object

Null Object模式的目的包括: 1. 当对象提供者无法提供指定类型的对象时, 返回一个什么都不做的对象, 这对调用者是透明的,并且调用者不用判断获得的对象是否为null了,当然,对象提供者必须告知调用者(通过约定等).2. 有时候需要传递一个什么都不做的某个类型的对象给合作方. 例如某个函数需要实现特定接口的对象(通过参数传入)进行某些操作, 该函数的调用者在某些情况下希望不进行这

2012-04-18 09:27:12 1582 2

原创 GoF著作中未提到的设计模式(2):Interceptor

拦截器模式为我们提供了一种拦截方法调用或消息的途径,整个过程是自动的、透明的,下面是一个简单的拦截器示意图:    从图中可以看到,拦截器可以访问到方法调用的输入参数和返回结果,这样的话,拦截器能做的事儿就多啦,比如:  1、验证输入参数是否正确  2、偷偷地修改参数的值,例如参数类型的自动转换等  3、依赖注入  4、修改返回结果的内容、格式等  下面是一个包含我们要

2012-04-18 09:26:38 1259

原创 GoF著作中未提到的设计模式(1): Archetype

GoF著作中未提到的设计模式(1):Archetype  半天也没能给这个设计模式想出一个中文名称,算了,有时候还是原版的更容易理解。  简单地说,Archetype设计模式的目的是将业务处理逻辑和具体实现分离,所以至少需要两个参与者:Decorator和Delegate,它们都实现同一个接口,Decorator负责处理业务逻辑,而Delegate负责具体的实现,在Decorato

2012-04-18 09:26:13 1131 1

ExtJS实用开发指南

ExtJS实用开发指南

2012-05-14

Oracle创建索引要做到三个适当.doc

Oracle创建索引要做到三个适当.doc

2012-04-18

代码坏味道与启发--《代码整洁之道》总结.pdf

代码坏味道与启发--《代码整洁之道》总结.pdf

2012-04-18

jquery+ajax+$.getJson.docx )

测试通过可以运行前台获取参数,后台action处理,然后append到<option>显示jquery级联的效果

2012-04-06

9种jquery纯页面分页排序

9种jquery纯页面分页排序,个人推荐:《JQuery排序分页a》与《jqueryPaginga》效果不错

2012-03-22

poi导出excel

内含所有poi所需jar包,在工具类里传入 (list集合,exel保存路径)即可生成所需规格的excel,代妈是我从SSH项目中摘除的,欢迎分享

2012-03-22

纯页面表单校验

纯页面表单校验。修改可以为你所用,自己写的,欢迎鼓励

2012-03-22

jsp超强表单验证

jsp超强表单验证,基本包含所有form校验

2012-03-22

Java虚拟机(JVM)

那么到底什么是Java虚拟机(JVM)呢?通常我们谈论JVM时,我们的意思可能是: 对JVM规范的的比较抽象的说明; 对JVM的具体实现; 在程序运行期间所生成的一个JVM实例。 对JVM规范的的抽象说明是一些概念的集合,它们已经在书《The Java Virtual Machine Specification》(《Java虚拟机规范》)中被详细地描述了;对JVM的具体实现要么是软件,要么是软件和硬件的组合,它已经被、

2011-11-29

SEO搜索引擎优化高级教程.pdf

百度指数介绍 百度指数是以百度网页搜索和百度新闻搜索为基础的免费海量数据分析服务,用以反映 不同关键词在过去一段时间里的“用户关注度”和“媒体关注度”。您可以发现、共享和挖 掘互联网上最有价值的信息和资讯,直接、客观地反映社会热点、网民的兴趣和需求。 海量搜索,把握世界,进入百度指数首页 百度指数使用入门 进入百度指数首页,在搜索框内输入一个关键词,按一下“百度搜索”按钮,即可搜索 出对应的指数数据。 输入搜索关键词 点击按钮得到搜索结果 指数搜索结果页面 如果存在唯一的关键词: 您将会进入指数数据查询结果页面,在这里,您能查看到该关键词的详细数据和曲线图:

2011-11-29

JUnit4 与 JMock 之双剑合璧.doc

在 developerWorks 上面有一些关于 JUnit4 的文章,也有关于 JMock 的文章,但是结合这两项技术的文章基本上没有。本文就基于这两种技术,对单元测试做一个全面的阐述。本文的目的不光是介绍层面的文字,更侧重作者在实践过 程中的一些实际经验来展开分析。并且会针对测试用例的设计及单元测试常会遇到的一些困难等问题做一个全面的探讨。 引言 单 元测试可以保证代码的质量,最大程度降低修复系统 bug 的时间和成本。能被称为测试的阶段有:单元测试、集成测试、系统测试和用户测试。修复系统 bug 的时间和成本随着这些阶段的推移呈指数级增长,特别是客户发现问题的时候,不仅是时间跟成本的损失,更是客户忠诚度的损失。由此可以看出单元测试的重要 性。 JUnit 是作为 Java 开发人员单元测试的利器。据统计,目前单元测试的框架中使用最多的是 JUnit,占 35% 以上的比重。下面要介绍的是 JUnit4,是 JUnit 最新的版本。JUnit4 使用了 Java 5 注解让测试的过程变得更方便和灵活,因此备受开发者的青睐。

2011-11-16

javascript-tree集合 大部分树状菜单集合

javascript-tree集合 大部分树状菜单集合javascript-tree集合 大部分树状菜单集合javascript-tree集合 大部分树状菜单集合javascript-tree集合 大部分树状菜单集合javascript-tree集合 大部分树状菜单集合javascript-tree集合 大部分树状菜单集合javascript-tree集合 大部分树状菜单集合

2011-11-16

jmock2.5基本教程—终结版.doc

jmock2.5基本教程目录第0章 概述第1章 jmock初体验第2章 期望第3章 返回值第4章 参数匹配第5章 指定方法调用次数第6章 指定执行序列第7章 状态机第0章 概述

2011-11-15

快速拷贝工具FastCopy_fly.

快速拷贝工具FastCopy_fly。拷贝速度是正常拷贝的10倍

2011-11-15

文件夹隐藏王.rar

文件夹隐藏王.rar

2011-11-15

JUnit4使用.pdf

很多程序员一般都是这样来开发的:编码、编译,然后运行。到这里停一下,我们得来 想一想,在运行时我们同时也做了一件什么事?——我们让它们运行是为了看看这些可爱的 代码是否按照我们的意愿执行了——这就是测试。“测试”可能只是点一下鼠标看看是否会 弹出来期待的对话框。不管怎么说,程序员每天都在进行的编码、编译、运行和测试,并且 一遍又一遍地进行着这个过程,因为我们写的代码常常会存在着一些问题,特别是第一次运 行它们的时候,哪怕只是一个简单的“Hello,World !”程序。 我喜欢做这些看似重复的事情,并在其中体会到无与伦比的成就感。试想一下,一个难 题摆在面前,你经过深入的思考和艰苦地编码以后,运行了这段代码,测试后,Ah ha,你 看到了期待的通过的标志。成功了!这一刻你就像掌握了世界! JUnit 就是一个可能帮助你在开发Java 程序时进行测试的框架,我们将在这一节中尽可 能深入地介绍JUnit 的相关知识,但由于篇幅所限,本节过后还是有很多东西在等着你来探 索,接住我的这块砖头,去发掘出你的宝玉。

2011-11-15

Java设计模式(疯狂Java联盟版).chm

Java设计模式(疯狂Java联盟版).chm

2011-11-09

润干报表4.0技术白皮书_企业版.doc

润乾报表是用于报表制作及数据填报的大型企业级报表软件,它提供了高效的报表设计方案、强大的报表展现能力、灵活的部署机制,并且具备强有力的填报功能,配合以全面的用户权限管理、报表调度功能和交互功能,为企业级统计分析、展现提供了高性能、高效率的报表系统解决方案。 润乾报表软件的核心特点在于开创性地提出了非线性报表数学模型,采用了革命性的强关联语义模型、多源关联分片、不规则分组、自由格间运算、行列对称等技术,使得复杂报表的设计简单化,以往难以实现的报表可以轻松实现,避免了大量的复杂SQL编写与前期数据准备,报表设计的效率提高了一个数量级。 润乾报表是一个纯Java报表工具,提供了全面的API接口,是开发Web报表软件的理想选择。Java报表工具的跨平台特性,使得它能很好地支持大型系统的需要。

2011-11-09

Java设计模式(疯狂Java联盟版)

1. 设计模式 3 1.1 创建型模式 4 1.1.1 工厂方法 4 1.1.2 抽象工厂 6 1.1.3 建造者模式 10 1.1.4 单态模式 13 1.1.5 原型模式 15 1.2 结构型模式 17 1.2.1 适配器模式 17 1.2.2 桥接模式 19 1.2.3 组合模式 23 1.2.4 装饰模式 26 1.2.5 外观模式 29 1.2.6 享元模式 32 1.2.7 代理模式 34 1.3 行为型模式 37 1.3.1 责任链模式 37 1.3.2 命令模式 40 1.3.3 解释器模式 43 1.3.4 迭代器模式 45 1.3.5 中介者模式 49 1.3.6 备忘录模式 52 1.3.7 观察者模式 54 1.3.8 状态模式 58 1.3.9 策略模式 61 1.3.10 模板方法 63 1.3.11 访问者模式 65

2011-11-09

Ajax开发简略.pdf

举个例子:普通B/S模式(同步) AJAX技术(异步) * 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 * 异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个 数据包的通讯方式。  异步是指:发送方发出数据后,不等接收方发回响应,接着发送下 个数据包的通讯方式 易懂的理解: 异步传输:   你传输吧,我去做我的事了,传输完了告诉我一声   同步传输:   你现在传输,我要亲眼看你传输完成,才去做别的事

2011-10-27

ajax课件.ppt

举个例子:普通B/S模式(同步) AJAX技术(异步) * 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 * 异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个 数据包的通讯方式。  异步是指:发送方发出数据后,不等接收方发回响应,接着发送下 个数据包的通讯方式 易懂的理解: 异步传输:   你传输吧,我去做我的事了,传输完了告诉我一声   同步传输:   你现在传输,我要亲眼看你传输完成,才去做别的事

2011-10-27

javascript.doc

Javascript Javascript语言概况 Javascript基本数据结构 Javascript程序构成 Javascript语言创建新对象 Javascript 与正则表达式 使用内部对象系统 窗口及输入输出 WEB页面信息交互-框架

2011-10-26

ajax教程.chm

XmlHttp是什么? 最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。 来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象

2011-10-26

Javascript 与正则表达式

Javascript 与正则表达式: 一些常用的正则表达式示例: 1、匹配所有的正数:^[0-9]+$ 2、匹配所有的小数:^\-?[0-9]*\.?[0-9]*$ 3、匹配所有的整数:^\-?[0-9]+$ 4、提取信息中的中文字符串: [\u4e00-\u9fa5]* ; 5、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 6、提取信息中的中国手机号码:(86)*0*13\d{9} 7、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} 8、提取信息中的中国邮政编码:[1-9]{1}(\d+){5} 9、提取信息中的中国身份证号码:\d{18}|\d{15} 10、提取信息中的任何数字:(-?\d*)(\.\d+)? 11、匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

2011-10-26

WebSphereIBM内部资料

WebSphereIBM内部资料: Discovering business application services, featuring IBM WebSphere Application Server ND V7.0

2011-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除