浅浅的对EhCache缓存的传统封装

背景介绍 也不记得是什么时候接写的了,大概是2011到2012年间?是老黄历了,记忆犹新的是从什么时候开始正式接触这个缓存,这个要数2010年的下半年的一个Portal类型的项目,其中有一块内容管理是由我来实现,还记得当时在功能实现完之后,项目经理给我说可以加上缓存,好吧,当时对缓存理论了解的很泛,实践那更是没使用过,于是我在了解了一些缓存知识后,开始动手了,OK,减短截说,那就给加上缓存了,说说当时是怎么做的吧,首先了解到了一个EHCache的缓存组件,使用它的页面缓存,应用起来貌似就很简单了,稍微表一下当时的实现方案。 1、系统首页采用后台配置的页面缓存,实现是添加一个过滤器,配置好过滤的地址(比如访问的首页地址等),每30分钟缓存过期的更新策略,后来由于各种原因吧,我又给换了,换成了后台对象缓存,实现方案是调用后台BaseDao中的缓存函数,使用的项目架子里面的hibernate的查...

文章分类:经验分享 技术随写

常见集合去重复的几种实现

在写这个之前,总喜欢割一下=============在平时工作中,有个很小很小的实现就是对某个集合元素的去除重复项,以前也肯定处理过,不过记不得了,今天又遇到了,这里就总结一下这个很小很小的实现的解决方案吧,以及再介绍一下熟悉的其他的实现方案的实现。 先说一下业务场景吧,假设有个集合,它的定义如下: List<String> dataList = new ArrayList<String>(); dataList.add("aa"); dataList.add("bb"); dataList.add("bb"); dataList.add("cc"); dataList.add("cc"); dataList.add("dd"); dataList.add("ee"); 在处理一个简单类型的集合去重复是比较简单的,在我看来想都不用想的办法是使用Set集合,即将List集合转换为Set集合,...

文章分类:经验分享 技术随写

java集合通用排序Collection<Bean>的简单实现

集合类我以前觉得就是写个类实现Comparator接口,然后重写里面的compare函数,最新听别人说,重新认识了一下,对于排序时的中文处理稍微有点不一样,当英文、数字时排序很正常,但是只要是含有中文时就不行了,排序显示的就不正确了,不深究这个,直接贴一个能够实现支持多列排序、中文排序的例子代码,这俩应该能够解决实际项目的需要了,今天问了下工程涛,他介绍说了个冒泡排序的,相关介绍如下: 1、先来一个普通的javabean类,取名叫UserBean.java,用途表现为List<UserBean> 2、接着贴出相关的核心代码实现 3、最后给出调用代码 4、用到的jar包为common-beanutils-x.x.jar 此jar包依赖common-logging-x.x.jar 5、此程序的不足在于,当中文中含有英文时,暂时是按照中文排序的,也就是说当字段中含有中文时,走中文排序的逻辑,这点...

文章分类:经验分享 技术随写

轻松实现内涵图片

标题的意思指的是,轻松将文本文件(txt)和压缩包(rar,zip)文件,存储入图片中。 很多网上论坛只支持上传图片的附件,用此种办法,我们可以把相关的其他类型的文件也放在图片中上传上去,只不过打开方式不一样,网上经典的称这种图片为 “内涵图”。这个技巧有什么用,就不讨论了,仁智问题多讨论无益。 使用windows平台dos自带的copy 命令实现,copy语法咱就不讨论了,直接上实现: 例1:我把一个内容为:“我和草原有个约定”的txt文件写入一个1.gif的文件中,命令如下: F:\> cd tt ---进入文件目录 F:\tt>copy 1.gif /b + 1.txt /a tt1.gif ---将1.gif文件和1.txt文件合并,生成tt1.gif文件,打开图片发现没变,此时使用txt打开该文件,再文件最后处会发现1.txt文件中的内容。 真相图为:请自行另存为本地,然后使用t...

文章分类:经验分享 技术随写

轻松实现Eclipse导入MyEclipse项目

前段时间用了一个月的myeclipse9,发现破解它很麻烦,不像低点版本的一样,输入一个注册码就行了,使用内存也达到了8-900M,伤不起。这段时间也是一直在用myeclipse6.5,发现好多eclipse高点的版本的功能都没有,就准备切换到eclipse当中,大半年没用eclipse,细细使用之下好多东西都给丢了,还得再捡起来。 在切换之前google了一下,找了一堆文章出来,发现说的都是修改.project配置文件,添加几句eclipse支持的xml配置,因为之前用eclipse导过myeclipse的项目,在导入项目那一步eclipse根本识别不了mye的项目文件夹,最近下载了一个最新的eclipse版本,发现完全能导入mye的项目文件夹,好吧,能导入就最好了,也不用去修改它的xml了。就说一下我切换成功的过程吧。 1、下载一个最新的eclipse版本,注意这里说的是J2EE版本。...

文章分类:经验分享 技术随写

Eclipse Maven管理项目——解决修改.java文件不需要重启tomcat了

对于maven管理项目这方面很次,就不详细说了,适合看此文章的是,平时用到了maven,但是又被他的改了类保存立即重新编译折腾的很疼的人看,曾经使用过两个月,maven环境都是别人给的,至于为什么这么搞,从没想过,现在的使用Eclipse中有大量的插件,出现了一个问题,就是改了.java文件,则立即部署项目,相当于要重启tomcat,个人感觉这是一个非常浪费时间的事情,真心想解决。只要一改类文件,需要重启tomcat服务器,这是一个很疼的问题。 在修改维护项目的时候,很大一部分时间都是在修改别人写的代码,更多需要是debug,去走一走代码的执行流程,如果在修改一行代码之后,发现项目自动去重新发布,非常慢,项目代码量大的话,也容易引起tomcat内存不足,当然没有手动设置tomcat最大内存的除外。现在特地来整理整理,怎么解决这个问题的,回想之前呆的项目组中解决的也不算非常完美,但不要失望,...

文章分类:经验分享 技术随写

Apache DbUtils查询初步实现

花了几天时间,初步的了解了下Apache DbUtils,Apache公共的组件确实是多的很,这里主要说说DbUtils组件,它是马哇就不说了,有马哇优点也就不说了,组件集合详细看看下图吧。 ,大晚上的,赶紧搞完了睡觉,只啰嗦一句,好的东西,也得需要好的眼力,识货才行。怎么安装DbUtils环境就不说了,这个相信大家都知道。 1、利用DbUtils实现多表数据查询,并将查询结果集转换为 List<Javabean>或者Javabean的形式。 先给出数据库表结果,一个Province省表,一个City市表,实现根据SQL语句的查询结果,自动与某javabean相转化。 表关系比较简单,不再赘述了,接下来看看两个相对于的Javabean代码。 javabean说明:仔细看的话,会发现@Javabean注释,自己写的,没别的什么实现业务,只是起到一个标记的作用,类似于java.io.Seria...

文章分类:经验分享 技术随写

适用的Log4j的使用

标题的意思是说:从很强大的东西中找到适合我们适用的部分。据说dom4j比jdk中自带的logging要更好,只不过dom4j的某个版本在完成的适合,jdk1.5的正式版已经封板了,不想再动了,因此dom4j便没有内置于jdk中。 dom4j的配置文件有xml文件和properties文件两种,基于properties文件的配置我觉得简单点,直接键值对的形式便可。 从一个dom4j.properites文件的配置,根据配置的内容来分析这个日志的实现,详细如下: #appenderType日志输出类型 log4j.rootLogger = debug,appenderType,appenderLocation log4j.appender.appenderType = org.apache.log4j.ConsoleAppender log4j.appender.appenderType.la...

文章分类:经验分享 技术随写

无意中发现网页中强大的google翻译插件

无意中发现一个网页中的翻译很强大,打开右键源文件看了下,抱着试试的态度来试试,结果很给面子,出现了结果。 废话不多说,先贴上运行效果看看: 贴上效果图中代码: OK,就这么点东西,实现这么强大的效果,如果有机会的话,用这个也不错。 个人觉得这个东西有优点也有缺点: 优点: 1、省去了项目中大量的.properties文件和页面lable文字的专业翻译工作,减少了项目中开发的成本。 2、增加了几十种国际化翻译文件,支持的语言更广。 缺点: 如果要用到国际化则必须依赖google的翻译服务器。 建议:第一个是功能实现的gif图片,图片大小在上传前有 2.1M,如果由于网络原因或者其他看不到效果时,请用浏览器直接 右键--图片另存为,保存到本地查看 运行效果图.gif 注 上述许多内容已经过时和过期了,留存本篇文章仅为方便个人查看,原始文章的信息参考: 原始链接:hhttps://www.che...

文章分类:经验分享 技术随写

java动态代理简单例子

代理模式主要有两种:静态代理和动态代理,可以看看这篇文章: http://kuangbaoxu.iteye.com/blog/192804 这里说说动态代理的简单例子,spring的AOE底层就是代理,Struts的拦截器本质上也是代理,不多说了,自己上例子,我们做一个吃饭的动作,那么吃饭前和吃饭后各做一件事情,来模拟一下方法的拦截或者说是监听。 示例核心:通过接口代理为接口动态去增加方法实现,以及方法调用的前置与后置处理。 说明:在第二部中第14行的 Object proxy参数似乎没有什么用处,方法中也好像用不到,注意:如果在函数实现中比如在16行加上System.out.println(proxy); 如果加上这么一句打印输出的话,程序会抛异常,异常原因为:无限的递归循环,诡异吧。 =======2013-04-22 分割线==============================...

文章分类:经验分享 技术随写

动态代理
本站信息

 运营时间: 天

 用户数量: 人

 文章数量: 篇

 评论数量: 条

 点赞个数: 个

 最后更新:

标签云