自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (6)
  • 收藏
  • 关注

原创 ehcache2.5的源码分析 ---- 缓存失效机制

2.5的算法变了,清超出的缓存的代码在这里:net.sf.ehcache.store.chm.SelectableConcurrentHashMap第五百行int runs = Math.min(MAX_EVICTION, SelectableConcurrentHashMap.this.quickSize() - (int) SelectableConcurrentHashM...

2011-12-16 15:04:53 175

原创 ehcache2.4源码分析 ---- 持久化

参数:overflowToDisk="true" 当为true时会持久化到硬盘,并非超出内存最大数时才会diskPersistent="true" 当为false时,manager.shutdown()时会清空硬盘文件,下次启动时不会读取。为true时,manager.shutdown()时会保留硬盘文件,下次启动会读取。当缓存为可持久化时,会用到这个工具net.sf.eh...

2011-12-15 12:31:53 148

原创 ehcache2.4源码分析 ---- 集群

我刚看到这,随便写写,当是记录了。集群有两种方式,一是配置上你要同步的ip+port。这样在同步列表里就有了这此地址。第二种方式是广播来自动发现。net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatSender心跳发送工具,守护线程。里面使用java.net.MulticastSocket发广播的send发广播,内容...

2011-12-14 19:30:45 107

原创 ehcache2.4的源码分析 ---- 缓存失效机制

首先说一下ehcache的好处。ehcache是本机缓存,而非memcache是远程缓存,ehcache的缓存是在当前jvm里的,这使得内存是可重用的。所以其性能是远过memcache的。1、免去了远程IO时间。2、免去了memcache这种取回来以后要申请内存的时间。3、大大差少了full gc的次数。ehcache的缓存方式与cuncurrentHashmap相似,一系...

2011-12-14 11:55:23 296

TCP消息服务中,缓冲消息并发送,来自真实服务

场景如下:有一个功能,比如排行榜,这个房间的排行榜发生变化,要推送变化消息到房间。 这时,如果房间里送礼物很频繁,比如1秒 有10条送礼记录,排行榜发生了10次变化。 但是1秒推10条消息显然是2B的,要加一个缓冲,把10条 缓冲成1条推下去。 demo路径com.qq.common.util.buffer.TestMain

2020-09-11

JAVA服务端访问量与响应时间统计工具 与 过载保护工具

这个代码如果你懂的话,说穿了也不是什么多高的东西。 但是如果你不懂的话,我可以说很多程序员工资都超2w了,他也不知道怎么弄这个,甚至不知道居然还要用到这个。 所以本资源要价很高。来自真实源码。 一个服务器端程序的运行,少不了两个必须的工具。 一、访问量与响应时间统计工具。 1、能让你知道当前服务上的接口单位时间内访问量是多少,总的响应时间是多少 2、通过1里的数据,你能知道哪个接口反应慢,如果服务假死,能根据它来快速判断哪些接口搞死了服务(实际情况中80%可以依此判断)。 二、过载保护 如果我现在的服务里接口1只能 支撑每1秒100次请求,那么如果1秒在100次以上的请求(如110次),那多出的10次就要主动拒绝服务。不然服务就会支持不住。本工具就是为这个而做。 1、单机内存版用来防止自己挂掉 2、内存版基于redis计数,可以用来控制用户的访问频率 实际应用中,只要加一个filter即可实现。见com.qq.common.util.visit.limit.StatFilter

2017-10-16

改良版的json-lib2.4

大家都知道jsonlib2.4之后有了属性过滤的功能,就是当把一个bean转成json的时候能指定哪些属性输出哪些不输出,不过代码很难看,如下 JsonConfig config = new JsonConfig(); config.setJsonPropertyFilter(new PropertyFilter(){ public boolean apply(Object source, String name, Object value) { if(name.equals("parentGroup") || name.equals("childGroups")) { return true; } else { return false; } } }); Iouser user = (Iouser) getBaseManager().get(Iouser.class, iouserId); JSONObject jsonObject = JSONObject.fromObject(user, config); 改良后新加了类MyFilter,下面是实例: util方法: public static String listToJsonArray(List<?> rs, PropertyFilter fs) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setJsonPropertyFilter(fs); JSONArray json = JSONArray.fromObject(rs, jsonConfig); return json.toString(); } 调用util: MyJsonUtil.listToJsonArray(list, new MyFilter("count", "pn", "url", "title")) *这样写的话,是输出你指定的属性。 MyJsonUtil.listToJsonArray(list, new MyFilter(false, "count", "pn", "url", "title")) *这样写的话,是不输出你指定的属性。 不好意思没写注释。。大家可以反编译了看看。这个改良包我用了一年多了,源码找不着了。好像就新加了这一个类。最近缺分了,发上来攒点。

2012-03-08

JSTL-Core标签库.pdf

网上搜集的,然后自己整理了一下。 JSTL-Core标签库.pdf

2010-08-13

自己写的实用JAVA读配置文件专用工具包

工作中自己封装的实用工具包。 分打包jar文件和源代码及使用说明。 此代码虽然不很复杂,但是这种程序结构和思想对普通程序员是有帮助的。 实现了缓存,只会对硬盘读一次。 其中的FileUtil是以前在网上找的。

2010-08-04

Struts1Hibernate3Spring2网上考试系统

各层间分的非常清楚,绝没有混在一起的地方。思想、方法,都是最好的

2008-10-07

空空如也

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

TA关注的人

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