- 博客(121)
- 资源 (82)
- 问答 (3)
- 收藏
- 关注

原创 对单元测试的一点感悟——这是一把双刃剑
想当年毕业设计就是测试驱动开发,所以从刚入行开始就对单元测试、测试驱动开发有比较深入的认识,刚开始一直作为敏捷开发的忠实粉丝。但是几年工作下来,我开始对单元测试持矛盾的态度:单元测试当然是一种很好的创举,但是具体使用当中,它却经常会产生副作用。这当然不是因为单元测试这一思想有问题,而是实践这一思想的人的问题。 当前很多公司使用单元测试的怪现象:很多公司为了说出去好看——我们的开发遵循敏
2013-05-05 20:47:32
891

原创 【监控应用服务器】系列博文目录
前言:做了一个监控应用服务器的项目(支持Tocmat、WebSphere、WebLogic各版本),过程也算是磕磕绊绊,由于网上缺少相关资料,或者深陷于知识的海洋难以寻觅到有效的资料,因而走过不少弯路,遇过不少困难。为了留下点印记,给后来人留下点经验之谈,助之少走弯路,故将这些经验整理出来,与大家分享。水平有限,难免疏漏,还望指正。如有疑问,欢迎留言,或者加入Q群参与讨论:35526521。
2013-03-12 09:15:08
1045
原创 VMware中的CentOS如何通过笔记本的无线网络上网
以前一直是通过有线方式上网的,所以VMware中的CentOS都是直接可以上网,不需要任何配置。但是如今笔记本只能通过无线上网,就遇到了VMware中的CentOS不能上网的问题。 VMware提供了3中上网方式,本文采用的是Bridged桥接模式: 第一步:将笔记本的无线网络共享给VMnet1 第二步:设置虚拟机实例的上网方式为Bridged桥接模式要...
2015-05-17 13:02:34
1342
原创 VMware中的CentOS如何通过笔记本的无线网络上网
S不能上网的问题。 VMware提供了3中上网方式,本文采用的是Bridged桥接模式: 第一步:将笔记本的无线网络共享给VMnet1 第二步:设置虚拟机实例的上网方式为Bridged桥接模式要勾选Bridged选项和Bridged选项下面的多选框 第三步:在虚拟机操作系统CentOS中打开有线选项 OK,搞定。
2015-05-17 13:02:34
841
通过Ajax方式上传文件,使用FormData进行Ajax请求
通过传统的form表单提交的方式上传文件:<form id= "uploadForm" action= "http://localhost:8080/cfJAX_RS/rest/file/upload" method= "post" enctype ="multipart/form-data"> <h1 >测试通过Rest接口上传文件 <
2015-01-21 10:39:09
1728
通过Ajax方式上传文件,使用FormData进行Ajax请求
<h1 >测试通过Rest接口上传文件 </h1> <p >指定文件名: <input type ="text" name="filename" /></p> <p >上传文件: <input type ="file" name="f
2015-01-21 10:39:09
1525
Jersey开发Restful的文件上传接口如何传递数组参数
一般Rest接口如何传递数组参数?需要传递数组参数的情况,如果是一般的form表单,可以直接定义参数类型为List<String>即可(不能定义为数组类型,否则只能得到一个null)。示例代码如下:@POST@Path("/user" )public Response createUser(@FormParam("username" ) String us...
2015-01-21 10:29:52
898
Spring与ehcache整合,通过Spring原生注解使用缓存
最原始的进行缓存的方式:最原始的使用缓存的方式是通过一个全局map保存获取过的数据,下次获取数据时先从map中提取,如果有就直接返回,如果没有就从数据库中去读取,然后放入map中,当然,在做更新操作时需要同步更新这个map中的数据。这种方式虽然原始,但是在一些简单的场景下已经够用了,比如Java的类加载器就是使用的这种方式缓存加载过的class。 通过ehcache以编程...
2014-09-22 11:52:47
279
SpringMVC和FreeMarker整合中使用注解方式的后台数据校验
前提概要本文主题:在Spring MVC和FreeMarker整合的项目中,采用JSR-303验证框架,通过注解的方式进行数据验证 基础框架:MVC:Spring MVC 3视图:FreeMarker验证:Hibernate-validator实现 需要JAR包:0、Spring MVC和FreeMarker所需jar包1、org.hibernate...
2014-07-05 13:02:02
339
SpringMVC和FreeMarker整合中使用注解方式的后台数据校验
reeMarker验证:Hibernate-validator实现 需要JAR包:0、Spring MVC和FreeMarker所需jar包1、org.hibernate.validator-4.1.0.GA.jar2、javax.validation-1.0.0.GA.jar 配置文件和Java代码的修改 在Spring MVC配置文件中添加配置添加以下mvc的注解驱动配置,一切变成“自动化”<mvc:annotation-driven
2014-07-05 13:02:02
227
原创 冰冻三尺非一日之寒——大型网站架构演进
《大型网站系统与Java中间件实践》试读后感 当下载了《大型网站系统与Java中间件实践》试读章节,看到其中唯一的一章第2章的标题,并简略地扫了一遍小节标题之后,我立马就想到——这绝对又是某位淘宝牛人写的书。为什么这么肯定呢?因为前年我曾参加了公司组织的一场关于架构的系列讲座,请的讲师正是出身淘宝,以前做过架构后来转做讲师的。而在那场系列讲座中,一条重要的主线正是以淘宝网站发展历程...
2014-06-19 12:49:21
204
原创 冰冻三尺非一日之寒——大型网站架构演进
了一遍小节标题之后,我立马就想到——这绝对又是某位淘宝牛人写的书。为什么这么肯定呢?因为前年我曾参加了公司组织的一场关于架构的系列讲座,请的讲师正是出身淘宝,以前做过架构后来转做讲师的。而在那场系列讲座中,一条重要的主线正是以淘宝网站发展历程为蓝本的“大型网站架构演变和知识体系”。可以说,那是我有史以来听过的最过瘾的一场讲座,收益也颇大,从此也对阿里系架构和技术更加崇拜和着迷。所以当看到本书的试读章节时,有一种说不出的亲切感。然后在网上搜索了作者,果然是淘宝的大牛,原本就是大名鼎鼎的华黎。好了,
2014-06-19 12:49:21
148
原创 专注力——二十一世纪的我们最缺乏的能力
这是一个“快餐文化”的时代,人们习惯了快节奏的生活,忍受着被生活和工作压得喘不过气的感觉。我们只是被各种压力和惯性催促着往前赶,却不愿停下脚步思考人生、和享受内心的宁静。这是一个“信息爆炸”的时代,各种各样的信息通过各种媒介纷至沓来,使我们难于取舍、无法吸收。我们的心已经被外界纷扰得不再宁静,我们不再能够静下心来,用一个下午,坐在茶几边,喝着茶,安静地品读一本温馨的文集。 ...
2014-03-07 19:16:08
222
关于重构的几点感悟
一、 重构,意识比技能更重要如果问一个程序员:代码为什么会变烂?他可能会找出无数种理由:1、代码本来就烂,我只是加了一点东西;2、时间压得太紧,根本没有时间把代码优化,功能实现出来就不错了;3、系统已经上线了,不敢随便去改以前的代码,不出问题还好,改出问题了谁负责;……但是,这都是从外部找原因推卸责任,程序员应该从自身寻找原因。其实,代码变烂,罪魁祸首就是程序员自己。很多时候,代码一步步变烂...
2014-02-07 10:10:48
191
原创 基于UML的需求分析和系统设计
小序:从学生时代就接触到UML,几年的工作中也没少使用,各种图形的概念、图形的元素和属性,以及图形的画法都不能说不熟悉。但是怎样在实际中有效地使用UML使之发挥应有的作用,怎样捕捉用户心中的需求并转换成明确的UML图形,怎样把自己心中的设计意图通过UML图形准确地表达出来,以及各职责人员如何通过UML图形进行有效沟通,关于这些,却深感迷茫。最近有幸得到了一个台湾人赖信仁写的《UML...
2013-08-06 22:28:41
4685
工作正式进入第5年,四年简单回顾
7月1日。又是一年暑假开始时,刚刚迎来梅雨季节,即将迎来炎热的酷暑。与此同时,也正式进入了工作的第5年了。转眼毕业满四年了,四年里完成了几件人生的大事,跨入了人生新的时代。至于事业,却没有好的起色,回顾这四年,感慨良多,有庆幸、有悔恨、也有无奈,能说的很多,但只想用一句话来概括:虽有进取心,但不足;虽然也努力了,但是远远不够;不甘平庸,却已愈来愈接近于平庸。...
2013-07-01 11:56:00
264
工作正式进入第5年,四年简单回顾
几件人生的大事,跨入了人生新的时代。至于事业,却没有好的起色,回顾这四年,感慨良多,有庆幸、有悔恨、也有无奈,能说的很多,但只想用一句话来概括:虽有进取心,但不足;虽然也努力了,但是远远不够;不甘平庸,却已愈来愈接近于平庸。
2013-07-01 11:56:00
131
《大数据挑战与NoSQL数据库技术》读后感
从1970年IBM的埃德加·弗兰克·科德发表“大型共享数据库的关系模型”论文至今,关系数据库发展已有40年有余,已经发展到了高度成熟的阶段,而且是经住了时间考验的。但是近几年来,随着数据大爆发时代的来临,数据量已经不是GB级,而是往TB级、PB级发展,同时互联网应用的大数据量和高并发的要求越来越高,传统的关系数据库已经难以满足发展的需要。于是非关系型数据库(也即NoSQL)理论便应运而生,各种...
2013-06-24 23:48:02
419
对单元测试的一点感悟
想当年毕业设计就是测试驱动开发,所以从刚入行开始就对单元测试、测试驱动开发有比较深入的认识,刚开始一直作为敏捷开发的忠实粉丝。但是几年工作下来,我开始对单元测试持矛盾的态度:单元测试当然是一种很好的创举,但是具体使用当中,它却经常会产生种种负作用,使开发人员望而生畏。这当然不是因为单元测试这一技术或思想本身的问题,而是实践这一思想的人的问题。 当前很多公司使用单元测试的怪现象:如今,很...
2013-05-04 23:55:05
258
对单元测试的一点感悟
年工作下来,我开始对单元测试持矛盾的态度:单元测试当然是一种很好的创举,但是具体使用当中,它却经常会产生种种负作用,使开发人员望而生畏。这当然不是因为单元测试这一技术或思想本身的问题,而是实践这一思想的人的问题。 当前很多公司使用单元测试的怪现象:如今,很多公司为了说出去好看——我们的开发遵循敏捷开发,拥有近100%的单元测试覆盖率,所以代码质量有非常可靠的保障。但是实际上,单元测试都是软件已经开发完成之后加上去的,而且经常还是由专门分配的几个人去写单元测试的,而这几个人根本不熟悉需求,甚至根本没有
2013-05-04 23:55:05
181
原创 经典异常:java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。 PermGen spacePermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会
2013-05-04 11:21:02
89
原创 【摘抄】同步和争用以及减少争用的手段
synchronized真正意味着什么?synchronized 的语义确实保证了一次只有一个线程可以访问被保护的区段,但同时还包括同步线程在主存内互相作用的规则。理解 Java 内存模型(JMM)的一个好方法就是把各个线程想像成运行在相互分离的处理器上,所有的处理器存取同一块主存空间,每个处理器有自己的缓存,但这些缓存可能并不总和主存同步。在缺少同步的情况下,JMM 会允许两个线程在同一...
2013-04-15 13:15:09
162
原创 【摘抄】同步和争用以及减少争用的手段
理解 Java 内存模型(JMM)的一个好方法就是把各个线程想像成运行在相互分离的处理器上,所有的处理器存取同一块主存空间,每个处理器有自己的缓存,但这些缓存可能并不总和主存同步。在缺少同步的情况下,JMM 会允许两个线程在同一个内存地址上看到不同的值。而当用一个管程(锁)进行同步的时候,一旦申请加了锁,JMM 就会马上要求该缓存失效,然后在它被释放前对它进行刷新(把修改过的内存位置写回主存)。不难看出为什么同步会对程序的性能影响这么大,频繁地刷新缓存代 价会很大。 同步的代价有多大?对非争用同
2013-04-15 13:15:09
160
Java中安全终止超时线程的方案
这里使用JDK5+的java.util.concurrent包下的API实现,采用这种方式是相对比较安全的。 实现效果:启动一个子任务,然后等待子任务的计算结果同时设定一个超时时间,如果等待时间超出预设定的超时时间,则中断子任务。 代码实现:import java.util.concurrent.Callable;import java.util.concurren...
2013-03-29 12:19:11
573
Java中安全终止超时线程的方案
定一个超时时间,如果等待时间超出预设定的超时时间,则中断子任务。 代码实现:import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;i
2013-03-29 12:19:11
197
使用XPath解析XML的工具类
目录结构一览一、首先看一下XPath的简单介绍二、使用XPath的解析XML的工具类 三、通过一个测试类展示工具类的使用 ---只是用于测试,此种写法不适用于实际项目中 四、上面的测试类所使用的XML文件 五、适用于项目中的写法(XML Node→Object) ---解析一个XML节点,直接转换为一个对象并返回给调用者 1...
2013-03-27 09:15:56
534
使用XPath解析XML的工具类
种写法不适用于实际项目中 四、上面的测试类所使用的XML文件 五、适用于项目中的写法(XML Node→Object) ---解析一个XML节点,直接转换为一个对象并返回给调用者 1、解析XML返回对象的封装类 2、上面类的单元测试类 3、使用到的Bean类 首先看一下XPath的简单介绍什么是XPath?XPath使用路径表达式在XML文档中进行导航XPath包含一个标准函数库XPath是 XSLT
2013-03-27 09:15:56
436
操作Excel工具类(基于Apache的POI类库)
上一篇介绍的是基于jxl.jar的操作Excel工具类,但是jxl.jar的licence限制了它不能用于商业项目,所以本篇介绍Apache的POI类库。 上篇文章在这里操作Excel工具类(基于jxl.jar) 功能简介:1、向Excel文档插入数据,可以是多行可以是多列,保留原单元格格式不变2、向Excel文档插入一个新行,并且使用与上一行完全相同的格式3、...
2013-03-26 14:54:16
250
操作Excel工具类(基于Apache的POI类库)
cel工具类(基于jxl.jar) 功能简介:1、向Excel文档插入数据,可以是多行可以是多列,保留原单元格格式不变2、向Excel文档插入一个新行,并且使用与上一行完全相同的格式3、等等 需要的第三方JAR包:poi-3.8-20120326.jarpoi-examples-3.8-20120326.jarpoi-excelant-3.8-20120326.jarpoi-ooxml-3.8-20120326.jarpoi-ooxml-schemas-3.8
2013-03-26 14:54:16
155
原创 在Ubuntu-11.4上安装体验版Oracle 10g
简介:演示在Ubuntu-11.4环境上安装体验版Oracle 10g的全过程。文中用红色字体标出全过程所有需要执行的命令,很少的说。 说明:Ubuntu版本:11.4Oracle版本:体验版10.2.0.1-1.0Oracle安装文件:oracle-xe-universal_10.2.0.1-1.0_i386.deb 参考资料:Ubuntu上Oracle1...
2013-03-22 23:14:21
174
越狱桌面主题
2007-04-30
清晨之风超酷桌面壁纸
2007-04-28
NIIT SQL教程(全部,包括示例数据库)
2007-04-28
软件工程思想
2007-04-28
精通Java Web整合开发:JSP+AJAX+Struts+Hibernate(光盘源码)
2008-09-07
Visual C# 2005入门与提高【源码】
2007-06-05
清晨之风必备小工具
2007-05-16
清晨之风必备影音图书小工具
2007-05-16
使用JAR包中的类与JDK的rt.jar冲突的问题
2011-04-18
请教一个在Panel里动态移除并添加GridPanel的问题???
2010-12-09
请问如何实现将web.xml的内容写在几个xml中
2010-06-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人