Java相关
文章平均质量分 68
dingx
一个热衷于技术的人
展开
-
自己写的第一段AOP代码。
代码1:使用安全的rand()替代原来相对薄弱的rand()。Rand.java/* * 项目名称 AspectJShow * 包 名 aop.demo1 * 文 件 名 Rand.java * 创建日期 2005-4-7 */package aop.demo1;/** * 类名 Rand * * 提供非安全的rand()方法。 * *原创 2005-04-13 22:36:00 · 1241 阅读 · 0 评论 -
自己写的第一段AOP代码。
代码1:使用安全的rand()替代原来相对薄弱的rand()。Rand.java/* * 项目名称 AspectJShow * 包 名 aop.demo1 * 文 件 名 Rand.java * 创建日期 2005-4-7 */package aop.demo1;/** * 类名 Rand * * 提供非安全的rand()方法。 * * @author Digi...2005-04-13 22:36:00 · 108 阅读 · 0 评论 -
FIFO、LRU、OPT的三个简单实现
1.利用随机数产生一个指令序列,共320条指令。其地址按下述原则生成: ①50%的指令是顺序执行的; ②25%的指令是均匀分布在前地址部分; ③25%的指令是均匀分布在后地址部分;Instruction.java源代码:package instructions;import java.util.ArrayList;/** * The instruction class. * @auth...2005-04-28 16:11:00 · 666 阅读 · 0 评论 -
一个泛型Hibernate DAO实现
自己四处参考,写写抄抄折腾出来的一个泛型Hibernate DAO,用了Spring的HibernateDaoSupport。提供基本的CRUD操作,支持分页查询,可使用HQL、Criteria和DetachedCriteria。 废话不说了,上代码package sgf4web.dao;import java.io.Serializable;import java.util.*;import...2007-08-06 11:58:00 · 86 阅读 · 0 评论 -
JMeter小实验——JSP性能简单测试
首先要做的当然是到Apache的站点下在一个最新的JMeter了,我下的版本是2.1.1。然后启动MySQL和Tomcat,按照原定的顺序,先测试有OSCache标签的页面,然后去掉OSCache标签,测试没有缓存的页面。 JMeter启动后,默认已经建立好了一个测试计划,右击测试计划标签,添加一个线程组,该线程组设置如下:线程数为5,Ramp-Up Period为5...2006-04-17 16:56:00 · 506 阅读 · 1 评论 -
利用缓存提高小型站点性能
最近结束了一个小型网站项目,主要功能就是一个文章系统,为了提升站点性能,我在首页上使用了OSCache,在访问首页时,性能的确有不小的提升(具体数据见《JMeter小实验——JSP性能简单测试》),但我对此并不满足,打算使用Hibernate的二级缓存来优化访问文章和栏目时的速度。 Hibernate的二级缓存有很多选择,我选择了默认的EHCache。它的配置十分简单...2006-04-23 16:11:00 · 72 阅读 · 0 评论 -
都是JDBC-ODBC惹得祸
前阵子的一个项目需要使用SQL2K作为后台数据库,本人一向认为Java配合MS SQL不是一个好选择,但往往也有不得不这么做的时候。一直听说MS的JDBC驱动不怎么样,所以我的第一反应是使用JDBC-ODBC桥,这样不用为项目添加额外的jar(其实是个很奇怪的理由,估计当时神游了,没怎么考虑)。系统使用了Hibernate 3.1.3和Spring Framework 2.0 RC2。考虑到减少...2006-09-23 11:23:00 · 102 阅读 · 0 评论 -
一些关于Liferay的使用心得
Liferay是一个出色的Java开源Portal产品,其中整合了很多当今流行的开源框架,被不少人使用在实际项目中。最近刚结束了一个基于Liferay Portal的项目,总结下使用中的一些心得,希望对正在使用Liferay的朋友有些帮助。一、安装Liferay的安装十分容易,甚至都不能称其为安装,根据情况从Liferay官方网站下载合适的安装包(一般可以选择Tomcat的Bundle),解压...2008-01-07 15:58:39 · 96 阅读 · 0 评论 -
关于表单防重复提交一些东东
前阵子弄了些表单防重复提交的东西,想整理整理,免得下次要用时再四处去找,其实这里的东西还是挺简单的。 原理:在Session中保存一个表单的唯一编号,将该编号放在一个隐藏域中,同其他数据一同提交。在提交表单后,通过拦截器或其他机制检查唯一编号,如果存在则说明表单是第一次提交,如果不存在则被重复提交(理由很简单,在第一次提交检查后就会从Session中移除该编号)。保存编号可以用一个HashM...2009-03-13 22:27:03 · 139 阅读 · 0 评论 -
实战Concurrent
编写多线程的程序一直都是一件比较麻烦的事情,要考虑很多事情,处理不好还会出很多意想不到的麻烦。加上现在很多开发者接触到的项目都是打着企业级旗号的B/S项目,大多数人都很少涉及多线程,这又为本文的主角增加了一份神秘感。 讲到Java多线程,大多数人脑海中跳出来的是Thread、Runnable、synchronized……这些是最基本的东西,虽然已经足够强大,但想要用好还真不容易。从JDK 1....2009-04-08 13:51:54 · 289 阅读 · 0 评论 -
Eclipse对JDK说“不”了
最近开始翻译Spring Recipes了,既然是讲Spring的书自然里面少不了范例代码,当然翻译时还是要自己跑一跑里面的代码比较放心。前阵子刚重装了系统,当时特地去下了个最新的JDK(1.6.0_07),Eclipse么还是原先留下的Ganymede,绿色软件就是好啊,不用安装。 不过问题也就这么瞧瞧地来了,我从没有想到过Eclipse还有起不来的一天,郁闷了。。。双击我放在桌面上的快捷方...原创 2008-09-30 21:21:38 · 89 阅读 · 0 评论 -
自己出的几道关于Spring和Hibernate的面试题
很简单的题目,随便出着玩的,如果你是高手就请直接跳过,若有雷同,纯属巧合!1、 简述你对IoC(Inversion of Control)的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。2、Spring提倡面向接口编程,请讲一下你对它的理解,它有什么好处。3、Spring的Bean有哪些作用域。4、简单描述Spring Framework与Strut...2008-02-29 16:49:00 · 84 阅读 · 0 评论 -
Spring MVC快速上手教程
Spring Framework可以被使用在很多场合之中,考虑到目前大多数Java EE的项目是B/S结构的,所以这里的快速上手教程会以Spring MVC为切入点,用最简单的代码一步一步来实现一个图书列表的页面。在正式动手之前需要做一些准备工作,先安装并设置好JDK 1.5和Tomcat 5,关于数据库及其访问方式可以根据个人习惯进行选择,教程中使用MySQL数据库和Hibernate(映射由...2008-04-01 22:00:00 · 84 阅读 · 0 评论 -
一个关于基于注解的Spring MVC的简单介绍
前段时间给同事们做了一个关于Spring MVC的分享,简单介绍了一下基于注解的Spring MVC的内容,附上PPT(主要是一些提纲性质的,没有写的很细)。另外还做了个范例,比较大,就不放上来了。 P.S.这个介绍主要针对的是2.5版本,其中附了几个比较好的参考文档,我就直接贴在下面吧。 Spring官方文档使用Spring 2.5基于注解驱动的Spring MVCS...2009-05-26 17:52:18 · 73 阅读 · 0 评论 -
isInfoEnabled究竟多有用?
前段时间,公司里组织了一次代码检查,其中有一条检查项让我有些费解: 所有INFO和DEBUG级别的日志,必须加上isInfoEnabled和isDebugEnabled的判断。理由是大量的不输出的日志对性能会有影响(日志中存在字符串拼接)。如果说只是DEBUG的加上,我也就认了,可是在系统中写成INFO的日志如果不输出,那还写它干嘛,我就是想看到关键路径的日志。而且在大多数日志上加上这...2010-06-28 15:08:22 · 1028 阅读 · 0 评论 -
代码中的坏味道
最近InfoQ上连载了郑烨写的《代码之丑》系列文章,好评不断,其实早在InfoQ开始连载前,我就在他的博客上看到过了,当时就觉得这个系列写得很实在,应该让大家都知道什么样的代码是有问题的。 说起遗留代码,大家脑子里就会反映出代码质量差、难以理解等不好的印象,其实这些代码也是大家写出来的,它们也有还是新代码的时候,也许这段“遗留代码”就是两个月前你自己写的。最近负责做新员工转...2011-01-07 04:09:25 · 153 阅读 · 0 评论 -
如何简单模拟Web服务
在SOA环境中,系统不可避免地要与其他系统进行交互,可以是基于SOAP的Web服务,基于RESTful Web服务,基于消息队列,甚至是基于RPC远程调用。随着系统依赖的增长,对单个系统进行测试也变得越来越困难,如何有效地隔离各个系统,对系统进行单独的测试呢? 本文会给大家介绍一个简单的测试方法——基于Mock进行测试! 开发过程中常用的测试有单元测试与集成测试,下...原创 2011-03-21 18:57:18 · 147 阅读 · 0 评论 -
《实战HotSpot JVM GC》分享Slides
前阵子在QClub上海站做了一个与JVM GC优化相关的分享,大家的反响还不错,对这个话题都比较感兴趣,于是把Slides分享到了SlideShare上,希望对大家有帮助。P.S.没找到怎么在博客里编辑HTML的地方,嵌不了SlideShare的东西,请访问:《实战HotSpot JVM GC》 ...2012-06-22 12:09:02 · 539 阅读 · 0 评论 -
Fedora下瞎折腾了一个半小时,还是Sun的虚拟机可靠
今天早上跑去了网络学院做技术支持, 他们碰到的问题是一个web项目放在windows下运行正常,可是放到fedora下tomcat连接池就出了问题,无法执行了。我刚听到电话的时候感觉是mysql的驱动程序文件没有给权限,可是我到了才发现,common/lib/的jar都是777的权限了,顿时感到问题貌似复杂了。但我怎么看这log都像是jar没有加载,于是搞了个直接用jdbc的connection...2007-03-23 22:00:00 · 73 阅读 · 0 评论 -
那些你该了解的Spring子项目
去年年底,Spring Framework正式发布了3.2GA版本,距离3.1版的发布时间正好相隔一年,而距离最早的Sprig Framework 1.0 Final发布也 已8年有余。现在的Spring几乎成了Java项目中的“标配”,被运用于大大小小的系统之中。它出众的模块化特性让人们可以仅仅使用需要的部分,所以 很多开发者往往只了解Spring核心框架中的IoC和AOP,有的还用了数据访原创 2013-03-20 14:36:46 · 1502 阅读 · 0 评论 -
《实战HotSpot JVM GC》分享Slides
前阵子在QClub上海站做了一个与JVM GC优化相关的分享,大家的反响还不错,对这个话题都比较感兴趣,于是把Slides分享到了SlideShare上,希望对大家有帮助。地址:http://www.slideshare.net/digitalsonic/hotspot-jvm-gc实战HotSpot JVM GCView more presentations from dig原创 2012-06-22 12:07:42 · 1419 阅读 · 0 评论 -
Caesar算法的3种实现
1、Ruby实现:caesar.rbdef encode(plaintext, offset) ciphertext = plaintext.dup for i in 0..(plaintext.length-1) if plaintext[i]>=?a && plaintext[i] ciphertext[i] = ?a + ((plaintext[i] - ?a + offset) %原创 2005-09-11 22:52:00 · 1701 阅读 · 0 评论 -
FIFO、LRU、OPT的三个简单实现
1.利用随机数产生一个指令序列,共320条指令。其地址按下述原则生成: ①50%的指令是顺序执行的; ②25%的指令是均匀分布在前地址部分; ③25%的指令是均匀分布在后地址部分;Instruction.java源代码:package instructions;import java.util.ArrayList;/** * The instruction class. *原创 2005-04-28 16:11:00 · 3351 阅读 · 0 评论 -
JMeter小实验——JSP性能简单测试
首先要做的当然是到Apache的站点下在一个最新的JMeter了,我下的版本是2.1.1。然后启动MySQL和Tomcat,按照原定的顺序,先测试有OSCache标签的页面,然后去掉OSCache标签,测试没有缓存的页面。 JMeter启动后,默认已经建立好了一个测试计划,右击测试计划标签,添加一个线程组,该线程组设置如下:线程数为5,Ramp-Up Period为5原创 2006-04-17 16:56:00 · 4382 阅读 · 0 评论 -
利用缓存提高小型站点性能
最近结束了一个小型网站项目,主要功能就是一个文章系统,为了提升站点性能,我在首页上使用了OSCache,在访问首页时,性能的确有不小的提升(具体数据见《JMeter小实验——JSP性能简单测试》),但我对此并不满足,打算使用Hibernate的二级缓存来优化访问文章和栏目时的速度。 Hibernate的二级缓存有很多选择,我选择了默认的EHCache。它的配置十分简单原创 2006-04-23 16:11:00 · 1637 阅读 · 0 评论 -
都是JDBC-ODBC惹得祸
前阵子的一个项目需要使用SQL2K作为后台数据库,本人一向认为Java配合MS SQL不是一个好选择,但往往也有不得不这么做的时候。一直听说MS的JDBC驱动不怎么样,所以我的第一反应是使用JDBC-ODBC桥,这样不用为项目添加额外的jar(其实是个很奇怪的理由,估计当时神游了,没怎么考虑)。系统使用了Hibernate 3.1.3和Spring Framework 2.0 RC2。考虑到减原创 2006-09-23 11:23:00 · 1256 阅读 · 0 评论 -
Fedora下瞎折腾了一个半小时,还是Sun的虚拟机可靠
今天早上跑去了网络学院做技术支持, 他们碰到的问题是一个web项目放在windows下运行正常,可是放到fedora下tomcat连接池就出了问题,无法执行了。我刚听到电话的时候感觉是mysql的驱动程序文件没有给权限,可是我到了才发现,common/lib/的jar都是777的权限了,顿时感到问题貌似复杂了。但我怎么看这log都像是jar没有加载,于是搞了个直接用jdbc的connectio原创 2007-03-23 22:00:00 · 1133 阅读 · 0 评论 -
一个泛型Hibernate DAO实现
自己四处参考,写写抄抄折腾出来的一个泛型Hibernate DAO,用了Spring的HibernateDaoSupport。提供基本的CRUD操作,支持分页查询,可使用HQL、Criteria和DetachedCriteria。 废话不说了,上代码package sgf4web.dao;import java.io.Serializable;import java.util.*;impo原创 2007-08-06 11:58:00 · 4984 阅读 · 1 评论 -
自己出的几道关于Spring和Hibernate的面试题
很简单的题目,随便出着玩的,如果你是高手就请直接跳过,若有雷同,纯属巧合!1、 简述你对IoC(Inversion of Control)的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。2、Spring提倡面向接口编程,请讲一下你对它的理解,它有什么好处。3、Spring的Bean有哪些作用域。4、简单描述Spring Framework与Stru原创 2008-02-29 16:49:00 · 4023 阅读 · 1 评论 -
一些关于Liferay的使用心得
Liferay是一个出色的Java开源Portal产品,其中整合了很多当今流行的开源框架,也被不少人使用在实际项目中。最近刚结束了一个基于Liferay Portal的项目,总结下使用中的一些心得,希望对正在使用Liferay的朋友有些帮助。 一、安装Liferay的安装十分容易,甚至都不能称其为安装,根据情况从Liferay官方网站下载合适的安装包(一般可以选择Tomcat的原创 2008-01-07 15:27:00 · 1845 阅读 · 0 评论 -
Spring MVC快速上手教程
Spring Framework可以被使用在很多场合之中,考虑到目前大多数Java EE的项目是B/S结构的,所以这里的快速上手教程会以Spring MVC为切入点,用最简单的代码一步一步来实现一个图书列表的页面。在正式动手之前需要做一些准备工作,先安装并设置好JDK 1.5和Tomcat 5,关于数据库及其访问方式可以根据个人习惯进行选择,教程中使用MySQL数据库和Hibernate(映射原创 2008-04-01 22:00:00 · 46156 阅读 · 31 评论 -
Eclipse对JDK说“不”了
最近开始翻译SpringRecipes了,既然是讲Spring的书自然里面少不了范例代码,当然翻译时还是要自己跑一跑里面的代码比较放心。前阵子刚重装了系统,当时特地去下了个最新的JDK(1.6.0_07),Eclipse么还是原先留下的Ganymede,绿色软件就是好啊,不用安装。不过问题也就这么瞧瞧地来了,我从没有想到过Eclipse还有起不来的一天,郁闷了。。。双击我放在桌面上的快捷方原创 2008-09-30 21:25:00 · 764 阅读 · 0 评论 -
关于表单防重复提交一些东东
前阵子弄了些表单防重复提交的东西,想整理整理,免得下次要用时再四处去找,其实这里的东西还是挺简单的。原理:在Session中保存一个表单的唯一编号,将该编号放在一个隐藏域中,同其他数据一同提交。在提交表单后,通过拦截器或其他机制检查唯一编号,如果存在则说明表单是第一次提交,如果不存在则被重复提交(理由很简单,在第一次提交检查后就会从Session中移除该编号)。保存编号可以用一个 HashMap。原创 2009-03-13 22:33:00 · 9884 阅读 · 3 评论 -
实战Concurrent
编写多线程的程序一直都是一件比较麻烦的事情,要考虑很多事情,处理不好还会出很多意想不到的麻烦。加上现在很多开发者接触到的项目都是打着企业级旗号的B/S项目,大多数人都很少涉及多线程,这又为本文的主角增加了一份神秘感。讲到Java多线程,大多数人脑海中跳出来的是Thread、Runnable、synchronized……这些是最基本的东西,虽然已经足够强大,但想要用好还真不容易。从JDK 1.5开始原创 2009-04-08 13:30:00 · 717 阅读 · 0 评论 -
Hudson CI入门
最近正好有机会在工作中推广持续集成,就借机在项目中做了一些应用,起初选择了老牌的CruiseControl,不过在实际的使用中总感觉CruiseControl在多模块的Maven项目方面有些力不从心,而且结果报表和使用界面上也不是让我很满意,配置起来还有点麻烦,也许TW的几个核心贡献者都把精力放在Cruise上了吧……在一个项目结束后,决定抛弃CruiseControl,在新项目里试试Hu原创 2010-03-16 10:29:00 · 4553 阅读 · 2 评论 -
MocoSpace架构介绍阅读笔记
最近对大规模系统的架构比较感兴趣,有很多东西想看,这次正好看到在HighScalability上读到《MocoSpace Architecture - 3 Billion Mobile Page Views a Month》,觉得讲的挺实在的,摘录一些内容放在这里。 先介绍下MocoSpace,这是一个针对移动设备的SNS,拥有1千2百万用户,10万并发用户量,一个月3原创 2010-05-19 00:26:00 · 760 阅读 · 0 评论 -
代码中的坏味道
最近InfoQ上连载了郑烨写的《代码之丑》系列文章 ,好评不断,其实早在InfoQ开始连载前,我就在他的博客 上看到过了,当时就觉得这个系列写得很实在,应该让大家都知道什么样的代码是有问题的。说起遗留代码,大家脑子里就会反映出代码质量差、难以理解等不好的印象,其实这些代码也是大家写出来的,它们也有还是新代码的时候,也许这段“遗留代码”就是两个月前你自己写的。最近负责做新员工转正前的代码抽查工作,按照公司的简版代码规范对代码质量做评估,看了不少代码,大多数都能符合规范,但我却不能说这是好代码,原创 2011-01-07 04:20:00 · 981 阅读 · 0 评论 -
如何简单模拟Web服务
在SOA环境中,系统不可避免地要与其他系统进行交互,可以是基于SOAP的Web服务,基于RESTful Web服务,基于消息队列,甚至是基于RPC远程调用。随着系统依赖的增长,对单个系统进行测试也变得越来越困难,如何有效地隔离各个系统,对系统进行单独的测试呢?本文会给大家介绍一个简单的测试方法——基于Mock进行测试 !原创 2011-03-21 19:15:00 · 1162 阅读 · 0 评论 -
那些你该了解的Spring子项目
去年年底,Spring Framework正式发布了3.2GA版本,距离3.1版的发布时间正好相隔一年,而距离最早的Sprig Framework 1.0 Final发布也 已8年有余。现在的Spring几乎成了Java项目中的“标配”,被运用于大大小小的系统之中。它出众的模块化特性让人们可以仅仅使用需要的部分,所以 很多开发者往往只了解Spring核心框架中的IoC和AOP,有的还用了数据访问...原创 2013-03-20 14:39:46 · 534 阅读 · 0 评论