摘要: Java世界泰山北斗级大作《Thinking In Java》切入Java就提出“Everything is Object”。在Java这个充满Object的世界中,reference是一切谜题的根源,所有的故事都是从这里开始的。 Reference是什么? 如果你和我一样在进入Java世界之前曾经浪迹于C/C++世界,就一定不会对指针陌生。谈到指针,往日种种不堪回首的经历一下子涌上心头,这里不... 阅读全文
posted @ 2011-02-15 15:28 redcreen 阅读(1550) 评论(2) 推荐(3) 编辑
摘要: Java 中一共有 4 种类型的引用 : StrongReference、 SoftReference、 WeakReference 以及 PhantomReference (传说中的幽灵引用).这 4 种类型的引用与 GC 有着密切的关系, 让我们逐一来看它们的定义和使用场景 :1. Strong Reference StrongReference 是 Java 的默认引用实现, 它会尽可能长时间的存活于 JVM 内, 当没有任何对象指向它时 GC 执行后将会被回收2.WeakReferenceWeakReference, 顾名思义, 是一个弱引用, 当所引用的对象在 JVM 内不再有强引. 阅读全文
posted @ 2011-02-15 15:27 redcreen 阅读(4587) 评论(0) 推荐(0) 编辑
摘要: vevocity在做渲染时会调用 org.apache.velocity.util.introspection.ClassMap$MethodCache.get方法 该方法完整代码(velocity1.6.1版本)如下 private final Map cache = new HashMap();public Method get(final String name, final Object [] params) throws MethodMap.AmbiguousException { String methodKey = makeMethodKey(name, params); Obj 阅读全文
posted @ 2011-02-15 15:22 redcreen 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 案例一: 简要描述: 生产服务器/home目录磁盘空间100%,导致解压缩异常,进而导致网站频道不能访问. 服务环境描述: 本地发布服务器 数据中转机 预发布服务器 生产服务器 发布流程描述: 在本地发布服务器上编译打包-->传输到数据中转机-->拉取数据包到预发布机-->预发布测试通过-->发布到生产服务器 场景回放: 预发布测试通过后,通过发布脚本发布服务后,F5报警,应用服务没有报警,频道首页无法打开. 发现生产服务器的频道首页index.html 为空白,monitor文件空白. 原因分析: 生产服务器/home目录空间100%,tar解压失败,脚本继续执行(b 阅读全文
posted @ 2011-02-15 15:17 redcreen 阅读(331) 评论(0) 推荐(0) 编辑
摘要: Apache rewrite配置如下: RewriteEngine OnRewriteLogLevel 1RewriteRule ^/(\d+)/(.+)$ /$2\?t=$1正常的访问:www.domain.com/1234/js/girl.jpg 错误的访问:www.domain.com/1234/lib/girl.jpg 错误日志:File does not exist: /lib/正常情况下找不到文件的错误日志应该是(访问www.domain.com/abcd):File does not exist: /home/admin/web-deploy/htdocs/abcd注意:只有根目 阅读全文
posted @ 2011-02-15 15:17 redcreen 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 使用memcache缓存数据,减少对数据库的直接访问,提高网站性能已经成了各大网站最基本的技术.如何更好的提高memcache缓存的利用率及命中次数会在后面的blog中单独介绍,本文主要探讨为何及如何使用本地缓存(java localcache)提高网站性能.localcache与memcache性能比较先来个本地缓存与memcache缓存的性能比较,有个直观上的概念Cache请求方式次数时间平均Localcachehashmap中get请求1亿1344ms0.00001344msMemcache简单的get请求,不做序列化1万4437ms0.4437msDb单表查询(有索引)1-2ms以上测 阅读全文
posted @ 2011-02-15 15:16 redcreen 阅读(7245) 评论(0) 推荐(3) 编辑
摘要: 在了解WeakReference之前,先给出一段简单的代码: public class WeakReferenceTest {public static void main(String[] args) throws Exception {Object o = new Object();// 默认的构造函数,会使用ReferenceQueue.NULL 作为queueWeakReference<Object> wr = new WeakReference<Object>(o);System.out.println(wr.get() == null);o = null;S 阅读全文
posted @ 2011-02-15 15:03 redcreen 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 本篇文章介绍下redis排序命令.redis支持对list,set和sorted set元素的排序。排序命令是sort 完整的命令格式如下: SORT key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey] 下面我们一一说明各种命令选项 (1)sort key 这个是最简单的情况,没有任何选项就是简单的对集合自身元素排序并返回排序结果.下面给个例子 redis> lpush ml 12(integer) 1redis> lpush ml 11(integer) 2red 阅读全文
posted @ 2011-02-15 15:02 redcreen 阅读(43497) 评论(1) 推荐(1) 编辑