- 博客(40)
- 资源 (13)
- 收藏
- 关注
原创 Gradle Plugin开发手记
最近手头需要开发一个Gradle插件,于是研究了几天,基本实现了一个Gradle插件。总结一下Gradle插件开发的步骤。首先需要建一个gradle工程,需要添加以下依赖dependencies { compile gradleApi() compile 'org.codehaus.groovy:groovy:2.1.5'}例如:新建一...
2014-01-22 21:02:13
359
WeakReference和SoftReference总结
今天查一个ClassLoader卸载问题,涉及到SoftReference和WeakReference,之前只知道大概的区别,没有什么总结,今天抽时间总结一下。 WeakReference触发回收条件引用的对象不再被其他对象引用回收方式系统GC即可使用场景适用于做这种缓存:缓存的key一旦失去了其他的引用,缓存里的东西就可以随时消失。...
2013-12-26 21:17:55
216
Memory Analyzer Tool 使用手记
最近一段时间一直在研究热部署,热部署中涉及到一个比较头痛的问题就是查内存泄露(Memory Leak),于是乎在研究热部署的过程中,干的最多的一件事就是查内存泄露。 查内存泄露,最开始尝试用JDK自身的工具去解决这件事,通过jstat和jmap,去发现是否有内存泄露,当判断有内存泄露存在时,试图要去寻找内存泄露的点时,发现单纯使用JDK自身提供的工具没有什么很好的办法...
2013-12-06 18:23:34
1023
JVM调优记录
前阵子写了一个RPC服务,测试的过程中,同时在测试的过程中反应间歇性超时比较严重,我的第一反应就是gc有问题,于是就观察了一阵子GC情况,发现这个服务的YGC时间有点不太正常,快的时候也就几十ms,慢的时候几十秒,总体上说就是快慢波动比较明显。 先说说这个服务,这个服务里面有个后台线程,每10分钟会去读一个大文件,然后将文件的数据缓存到本地,这个文件大概有...
2013-09-18 13:00:40
209
原创 模拟一个本地缓存,统计缓存的命中率
为了测试线上服务,加缓存的效果,模拟了一个本地缓存,去测试一下加缓存后的命中率,代码如下: import java.util.Date;import java.util.Random;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.Executor;import jav...
2011-05-26 16:55:54
583
原创 关于统计log
写个脚本统计log day=$1;type=$2;typefile="/data/wens/sharefile/type";for type in `cat $typefile`dosearchKey="type:$type,";echo "type:$type";if [ "$type" == "" ]; then searchKey="INFO";ficatfile=&quo
2011-05-15 21:24:57
229
原创 [经验积累] awk 分析log
awk '/ /' xxx | gawk '{ sum += $6}; END {print sum}'POST|/share/{ownerId}/share 17.6 6 939 49.9 569awk一个简单的统计功能第六列的总和
2011-04-14 00:19:14
183
写了两个脚本
第一次写脚本,写得很烂,不过还算成功了,以后的工作,只要是重复的,尽量写脚本完成,体力活让计算机去做,哈哈 参数主要有这么几个$1日期,$2文件类型,$3关键字 getnum.sh #用户统计远程服务器上的远程log的一些值day=$1;if [ "$day" == "" ]; then day=`date -d '1 days ago' +...
2011-03-03 01:01:47
192
原创 Linux命令 积累
du -h /root 查询一个目录下的文件文件大小分布转 du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。 功能:统计目录(或文件)所占磁盘空间的大小。 语法:du [选项] [Names…] 说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统...
2011-02-01 10:57:22
178
原创 工作总结,提高效率
工作总结,提高效率:1、别太自信,要知道电脑也出错。2、打好log,在可能出问题的前面打好log,别偷懒 3、尽量用变量来替代重复出现的东西,如果确定不变的情况下,干脆做成一个常量4、不要出现两份相同的代码逻辑片段。考虑,抽象或者把代码片段抽出。5、不要做重复的事情,如果第二次做一件相同的事情,考虑能不能把这个事情做成一个动态化的东西,或者可配置的东西,让它动态的去改变。6...
2010-12-25 23:47:33
202
原创 Linux积累
df -h 查看整个硬盘情况du -h filename 查看文件大小情况du -h | grep G |awk '$1 ~/G/{print $0}' 定位G的文件夹
2010-12-20 11:39:12
190
原创 MemCache 的积累
MemCache set值时要判断set的对象是否可以被序列化,比如一个List是不能被序列化的,要先转成可序列化的List,还要判断set是否为null,否者插入是不成功,甚至抛500,性能没提高,还被500,真是赔了夫人又折兵。...
2010-11-21 10:08:37
146
原创 FreeMarker 知识 积累
一.输出 ${book.name} 空值判断:${book.name?if_exists }, ${book.name?default(‘xxx’)}//默认值xxx ${ book.name!"xxx"}//默认值xxx ${ book.name?exists}判断book.name是否存在日期格式:${book.date?string(‘yyyy-MM...
2010-11-19 18:48:55
140
原创 更新总结
回顾一下大约一周前,更新过一次线上,上了分享相册终端页,第二天新鲜事入口一打开,从早上开始就一直开始挂机器,起初认为是压力问题,后来加机器到了快晚上7点的时候,几乎大面积的挂掉,没办法,只能回滚。通过分析,发现是压力测试不到位,因为压力测试不够真实,不够真实是因为数据不够随机,导致缓存为服务减少了压力。第二天亮哥写了一个足够随机的取数据算法,把算法移植到压测代码上后,进行压测,大概也是...
2010-10-30 00:39:49
155
原创 JDK NEW TOOLS——jps、jinfo、jstat、jmap、jconsole
转载:http://blog.csdn.net/roland101/archive/2008/03/16/2188585.aspx最近压力测试和调优Liferay portal,所以需要找到一种工具,可以比较好的监测VM工具。本来想使用商用工具,但偶然间发现SUN 的JDK中新添了几个工具,并且非常好用。秉承着有免费,不用商用的原则。开始使用新的JDK工具,以下简单介绍一下这几种工具。(注...
2010-10-22 09:57:54
158
原创 Linux积累 命令之cat和wc
Linux的cat命令 cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件。$cat file1 file2 > file功能说明:计算字数。语 法:wc [-clw][--h...
2010-10-19 10:33:19
566
原创 Linux积累 命令之netstat
netstat [选项] 命令中各选项的含义如下: -a 显示所有socket,包括正在监听的。 -c 每隔1秒就重新显示一遍,直到用户中断它。 -i 显示所有网络接口的信息,格式同“ifconfig -e”。 -n 以网络IP地址代替名称,显示出网络连接情形。 -r 显示核心路由表,格式同“route -...
2010-10-09 11:17:09
163
java获取本地局域网的外网IP
近日为了满足2个屋子里人的通信需要,需要将本地的外网IP告诉给另一个屋子里的人。以前都是在群里喊一句,我这里的IP是XXXX,有一天自己突发奇想,想通过程序来实现这个自动化通知的过程。于是自己给自己定了需求。 需求:基本目标实现开机将本地的路由WAN口IP通知对方。 思考:如果才能实现自动通知呢? 首先,要有一个公共的空间,可以作为通知的载体。...
2010-09-13 23:20:48
254
原创 Linux 知识积累 - 关于shutdown
Shutdown命令可以安全地关闭或重启Linux系统,在Linux中可以用shutdown命令实现自动定时关机的功能,它在Linux系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作...
2010-09-12 00:37:54
283
原创 Linux积累 命令之uptime
Linux中uptime用来查看当前机器的负载[root@SJSWT44-15:/data/ugc/checkout]# uptime; 16:26:39 up 2 days, 6:21, 63 users, load average: 2.13, 2.55, 6.25 up 2days,6:21 //启动的时间63 users, /...
2010-09-08 16:40:57
165
原创 An internal error occurred during: "Items filtering". Class file name must end w
删了 <workspace>/.metadata/.plugins/org.eclipse.jdt.core/*.index <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt重启Eclipse
2010-08-26 17:00:39
206
原创 JRedis资料
JRedis Connection ManagementJRedisClientJRedisServiceJRedisPipelineServiceJRedisClient 单线程JRedisService是线程安全和连接池JRedisPipelineService使用一个单一的管道,为多个客户。 (线程安全)。 参考http:/...
2010-08-03 11:07:38
205
原创 java自带的jvm分析工具(转载)
原文:java自带的jvm分析工具这段时间觉得很有必要对java的内存分析工具进行熟悉,这样以后出现机器负载较高,或者反应很慢的时候,我就可以查找原因了。上网搜了搜,发现下面这些是比较常用的,然后我在机器上试试了,把结果也贴出来哈。1.jps 类似ps -ef|grep java 显示java进程号2.jstack打印jvm内存的堆栈信息,打印出来的结果类似...
2010-07-19 13:56:11
172
原创 资料整理
JIRA4 安装 http://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Tomcat+6.0#InstallingJIRAonTomcat6.0-1.UnpackJIRA
2010-07-16 16:35:55
104
原创 网站技术架构与环境
1、采用paoding-rose作为其框架。2、网站的开发环境:JDK1.6+Mysql5.1+Resin + MemCache + Redis3、网站的运行环境:CentOS + Resin + Nginx + JDK1.6 + Mysql5.14、工具统一用 eclipse + Maven插件 ...
2010-07-15 23:46:49
221
原创 Maven使用总结
maven部署打包:mvn -U clean -f pom-deploy.xml(部署要用的deploy.xml) deploymaven找出工程依赖包:mvn dependency:copy-dependencies -DoutputDirectory= DIR(具体目录)maven打jar:maven packagemaven更新:maven -U...
2010-06-30 10:52:16
199
原创 java.util.concurrent 多线程框架(转载)
(来源于http://www.zhuaxia.com/item/590227619/)JDK5中的一个亮点就是将Doug Lea的并发库引入到Java标准库中。Doug Lea确实是一个牛人,能教书,能出书,能编码,不过这在国外还是比较普遍的,而国内的教授们就相差太远了。一般的服务器都需要线程池,比如Web、FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tom...
2010-06-01 11:11:48
108
原创 Maven常用命令(转载)
1、常用命令mvn compile 编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时。mvn test-compile 编译测试代码,compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。mvn test运行应用程序中的单元测试mvn site...
2010-05-28 15:50:29
158
原创 INSERT IGNORE 与INSERT INTO的区别(转载)
INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。eg:insert ignore into table(name) select name from table2 ...
2010-05-28 15:17:08
164
原创 MySQL Replace INTO的使用(转载)
今天DST里面有个插件作者问我关于Replace INTO和INSERT INTO的区别,我和他说晚上上我的blog看吧,那时候还在忙,现在从MYSQL手册里找了点东西,MYSQL手册里说REPLACE INTO说的还是比较详细的.REPLACE的运行与INSERT很相像。只有一点除外,如果表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同...
2010-05-28 14:40:07
121
原创 解决 Eclipse jee 3.5安装SVN不成功
安装Eclipse jee 3.5后直接从URL安装SVN插件,多次尝试失败。最后通过修改eclipse.ini文件后,再次安装成功 -debugoptions-vmD:/Java/jdk1.6.0_07/jre/bin/javaw.exe-startupplugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090...
2010-05-27 17:26:49
179
原创 纠结的离职
5月5日提出的离职申请,目前申请已经被批下来了,交接已经完成了。此后经历了数次面试后,拒绝了一个6.4K,最后选择了千橡。千橡那边就等我确定最后入职时间,而我的入职时间也是我最纠结的地方。本来我以为交接完了就差不多了。可是领导意犹未尽,说一定要我完成他给的任务才能放人,还暗示说如果没干完的话就6月4日,也就是提出申请30天之后才能走。还说如果提前走,没允许的话,有些那个证明什么的就不好说(我...
2010-05-20 00:05:43
246
原创 SQL学习笔记第二天
UNION ALL 的应用UNION ALL将多个来源的行组合起来,放到一个结果集中。所有SELECT 列表中的项目数和项目的数据类型必须匹配,这根其他所有集合的操作要求相同。UNION ALL 与 UNION区别UNION ALL包含重复的,UNION不包含,去重复。使用UNION 相当于对于UNION ALL子句的查询结果使用DISTINCT。select deptno ...
2010-05-17 23:01:58
130
原创 SQL学习笔记第一天
COALESCE 函数使用COALESCE 函数用实际的值替代空值select coalesce(comm,0) from emp; 结果:03005000 除了使用COALESCE还可以这样写 select case when comm is null then 0 else comm end from emp ; 随机...
2010-05-16 22:17:13
93
原创 失业在即,附上简历,有合适的职位推荐一下(北京)
08年本人在JE发过类似的帖子,得到了JE上很多大虾,前辈们的指点,非常感激。目前我即将离职,目前处于工作交接中,现在正在找下一份工作,同时更新了简历,希望能再次得到大家的指点。如果大家觉得有适合的工作,欢迎大家跟我联系,本人感激不尽。谢谢大家给我的意见,我已经对简历进行了一定的调整,如果有什么不妥的地方,还希望大家继续指出。再次谢谢大家的指点。 ...
2010-05-09 19:30:20
433
千橡怎么样,想了解一下
29日到千橡面试,2点半开始笔试,笔试后,等待了一会,开始面试,面试的整个过程持续了大约3小时,经过了2个技术经理面试,和一个技术总监的面试(面试不到5分钟,后来因为什么事情走开了,第二个技术经理过来面试),最后第一个技术经理,告诉我他这一关过了,改天等他们的头来面一次。 个人对千橡还是比较感兴趣,经过那天面试,心里有个疑问,那天我离开的时候好像千橡还没人什么人下班,网上查了一些千...
2010-05-02 09:37:28
122
原创 JBPM4.3解决Tomcat6冲突的方法
删除tomcat下的el-api.jar包,并把jbpm4中的juel系列的三个包考到tomcat的lib目录下,然后删除jbpm4的lib下的三个包。
2010-01-28 16:10:56
133
人月神话-FREDERICK P. BROOKS, JR.
2008-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人