- 博客(37)
- 收藏
- 关注
原创 貌似简单的模式-单例模式
翻看设计模式,单例模式往往安排在前面,一般来说,前面的东西都简单,那单例简单吗?1. 写个singleton很简单,自己拿住自己的对象,整成private的。构造函数private化,再来个static 且同步的方法getInstance,里面初始化。 看两眼书,都能写个差不多。但请注意,这里有个隐含条件,单例的范围是什么?范围不同,单例的实现与调用是不同的。 范围: 单JVM(进程)...
2013-10-24 10:01:52
156
原创 人情世故中的设计模式-适配器模式
时不时翻看设计模式,发现有些模式不仅在设计层次有其价值体现,在人情世故中也能充当润滑剂。(自己YY的) 比如适配器模式。咱们提供某些服务给客户,而客户偏偏要按自己定义的方式去调用或者已经设计好接口(且不论调用方法设计的高低)。在这里,客户定义了接口bizInterface ,咱提供的是OtherClass类,两回事,不搭调。那客户可不管这个,你让客户改调用方式,不现实,人家的设计都整完了,再说...
2013-10-23 10:53:20
132
原创 模板方法-有些活儿,先搭架子再填肉。
张猫猫同学搞广告的,她们整方案多用PPT,分工是这样的,组长牵头,把握方案的总体,搭出架子,具体的肉由小朋友完成,当然自己也会做一部分。由此联想到设计模式,恰恰模板方法跟这事挺靠谱的。TemplateClass中step1()-step4()都可以抽象的,到具体子类去实现run方法是实的,里面给出具体的调用顺序或条件。那run方法就好比是组长搭出的架子,step们就由小朋友去具体完成,不用关心...
2013-10-23 10:51:47
221
原创 深度clone
这招好使,深度clone不用一个个的set考虑关系了。 public static byte[] toByteArray(Object object) throws IOException { if (object == null) return new byte[0]; ByteArrayOutputStream bo...
2012-10-17 16:24:10
114
原创 分页非得取总记录数吗?
为啥分页非得取总记录数?谁规的定? 没总记录数,无非不能知道一共有多少页罢了。分页是为了什么?查询结果一页显示不下,分几页显示。那么这种情况多吗?如果多,我觉得首先是使用者未充分利用已有的查询条件去过虑记录,二已有的查询记录无法满足部分业务需求。当然有也有个案,通话记录查询,没条件,全给你列出来。可这就一定要算出总页数吗?未必吧,不算一样可以前后翻,只不过翻到某些页的时候没记录...
2012-05-08 16:11:51
679
2
原创 一道线程应用的试题
网上找的,有人说疑似Google的多线程面试题: 启动4个线程,向4个文件A,B,C,D里写入数据,每个线程只能写一个值。 线程1:只写1 线程2:只写2 线程3:只写3 线程4:只写4 4个文件A,B,C,D。 程序运行起来,4个文件的写入结果如下: A:12341234... B:23412341... C:341...
2011-11-22 18:18:19
107
原创 (转)jstat
性能测试过程中,我们该如何监控java虚拟机内存的使用情况,用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。在项目实践过程中,我们探索和使用了一款新工具--Jstat。 先秀一下。Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine s...
2011-06-29 16:35:46
71
原创 (转自http://www.cnblogs.com/jimeper/)ORA-16038问题
ORA-16038的解决(日志无法归档)ORA-16038的解决 数据库装载完毕。ORA-16038: 日志 3 序列号 5035 无法归档ORA-19809: 超出了恢复文件数的限制ORA-00312: 联机日志 3 线程 1:......REDO03.LOG' DB是归档模式, 每个日志组只有一个文件(新太公司的人通常使用的方法,FT), 没办法, 搜寻...
2011-06-28 09:30:32
83
原创 作为一个应用系的程序员,我们该掌握什么?!
1. 业务知识 话说业务知识,那才真该是做企业应用开发人员的必备知识,你技术可以一般,但不懂业务就没法跟客户谈,没法谈,需求就无法深入,那就不是一个水平的对话,这时你只能被动地接受,因为你无知。 业务知识可分为两类掌握(我自己定义的): 一、做的行业总变,不可能深入怎么办?拿来行业各种规范,熟记熟背(在做项目前,甚至谈需求前),这样当你想反驳的话就有了最简单的业务理论依据...
2011-06-03 12:45:28
107
工作中涉及到的应用负载的一些想法
一些胡乱的想法与实现 场景:生产者与消费者模型,前端一台ftpServer接收文件,一个文件接收完成后由一个后台进程对其进行业务处理。 1. 简单架构这种设计下,不存在负载均衡,所有接收完成的文件,全部由业务处理进程加工。业务处理进行的工作:定时任务取可处理文件,取到后进行处理,一个文件可重试N次后决定其处理结果。 2. ...
2011-05-31 15:17:26
136
原创 aix中awk使用一例
cat *B02.TMP | awk -F \| '{print FNR "\t" $8}' |grep -E "001|002|003" 相关网页: AWK: http://blog.csdn.net/bright_mac/archive/2008/12/01/3419419.aspx GREP: http://aix.chinaunix.net/...
2011-05-31 14:23:27
693
原创 FtpClient要设置setSotimeOut!
如果,如果不设置,可能在执行completePendingComannd时阻塞,至此无限时阻塞在此。建议连接成功后调用setSotimeout方法,此方法设置一个命令执行后最大等待Server反馈的时间。...
2011-05-13 15:01:52
1910
不当使用quartz度出现waiting on condition不完全解决思路
最近发现个问题,不知道是使用不当还是何种原因造成的。具体内容: 用Quartz调度任务,周期10分钟。但具体业务执行的时间要大于10分钟。Quartz线程池的配置是缺省,查了一下10个大小。现象,运行一段时间后,Quartz的线程池中9个线程的状态是Waiting on Condition,一个是runnable。整进程的状态貌似停住了,调度时间到了,没有执行高度线程中的代码。...
2011-05-10 17:40:58
2850
原创 转自zerozone oom
Java的OutOfMemoryError关键字: outofmemoryerror Java中不再需要关心Object(相对C++而言这的确省去了许多烦恼)生存期管理,因为我们有了垃圾收集器GC! 引入GC带来了效率,我们专心编写业务逻辑而不必随 时为内存管理问题担忧。不过,在Java中如果程序设计有误,对于简单的问题也会导致新问题出现,这就是OutOfMemoryError(简称...
2011-05-07 16:46:31
118
原创 试着回个电话面试
首先,要感谢神奇的Iteye,带了了这次面试的机会,无论如何经历比结果重要。 个人情况如有兴趣,请参阅http://www.iteye.com/topic/991391。 首先是电话面试,感觉当时有点紧张,看来不习惯一个电话对着两个人说的感觉,时空错乱? 以下是部分面试题,凭事后记忆,还请诸位海涵。 一、电话面试 面试官两名,轮流提问。时间1小时 1、自我介绍。 还有诸如是否结...
2011-05-07 10:00:37
93
原创 转老俞的教育理念
我之所以能够在这谈谈家庭教育的心得,确实是因为我接触的孩子太多了。从我在北大开始教书,一直到后来办新东方,到现在从新东方走出去的700多万学生。我看到过很多幸福的学生,也看到了很多被耽误的学生;看到了很多家长因为孩子的成功感到无比的幸福,也看到了很多家长因为孩子的不成功而痛不欲生;我看到很多贫困家庭最后因为孩子有出息而生活的满心幸福;我也看到很多亿万富翁的家庭,最后因为孩子问题父母甚至患上精神分裂...
2011-04-29 15:27:36
142
将HashMap文件化
( 只是个想法加雏形,实现的很丑陋且效率很低下) 有这样一种场景,校验千万行文本中某一列键值(长度30以上)的唯一性(要求100%准确)。按我的水平,自然就想到用HashMap,可这样就会将所有的键值都放入内存,对内存资源需求较大。然后我就想,数据库也有一样的需求呀,人家怎么搞的呢?思前想后,能力太有限,没思路。最后只能想到,如果把HashMap的存储介质由内存转移到外存(文件中)...
2011-04-20 11:40:25
159
原创 JUNIT结合DBUNIT进行单元测试初试
涉及数据库操作的单元测试,最麻烦的就是基础数据准备、正确的验证数据。这两项工作以前我都是手工完成,存储过程、SQL搞得挺乱,最近试了试DBUNIT还是不错,为准备数据提供了一种思路。 测试类的基类如下:public class TestBase extends DBTestCase{ private static String[] paths ={"conf/spr...
2011-04-14 15:42:14
210
原创 AIX下大本文中查找某些串所在的行号
cat *B02.TMP | awk -F \| '{print FNR "\t" $8}' |grep -E "001|002|003"记录一下吧,省得忘了。
2011-04-14 15:11:00
294
原创 转用人
团队高效执行力从何而来?最近团队做完一个项目,成功交付给客户上线,总结一下经验,关于团队执行力方面的。当然,大家都知道,一个软件项目的成功依赖多种因素(包含在软件工程里面):需求的正确理解、客户的有效沟通、团队成员的有效沟通和激励、团队成员的技术水平、架构设计、队伍的稳定性、测试流程、软件工具的使用、项目管理等等。这里只谈团队执行力!首先说一下什么是执行力,简单说就是做成一件事,完成一个目...
2011-03-14 13:48:47
95
原创 测试覆盖率
测试覆盖率仅仅能够告诉团队什么没有被测试,根本就回答不了软件是否经过了有效测试!例:class A{public static Decimal div(Decimal a,Decimal b);public static void m2();}class testA { public void divtest(){ Assert.AreEqual...
2010-12-31 12:47:20
66
原创 生产者和消费者模型应用
[color=darkred]一组生产者线程不断产生数据到生产者队列中,另一组消费者线程定时去扫描队列,记录到各自线程的任务集合中,当集合到达设置的上限,再转交到一组写线程,将数据输出到相应的DB或文件中。[/color]...
2010-11-29 12:57:09
132
原创 初步设计校验器框架
项目中有一批文十几种类别,每个文件有若干列。需要对十几类文件做不同类型的校验。如:非空、非数值、长度等。原来就是一堆方法校验,后来重构了下,引入了校验配置文件:[code="java"] ...
2010-08-20 16:46:16
133
原创 crontab 笔记
第一列 分钟 1-59第二列 小时 1-23第三列 日1-31第四列 月1-12第五列 星期0-6(0周日)第六列 要运行的命令30 21 * * * /apps/bin/cleanup.sh45 4 1,10,22 cmdcrontab 命令-u 用户名-e 编辑-l 列任务...
2010-08-10 18:55:31
97
原创 再次小小的修改common-net中ftp包
起因:ftp协议八几年定的,那会还没有nat转换,ftp协议中pasv命令会把ip地址和端口返回给客户端,这些返回值是在网络包的数据部分,那么网络层的nat转换自然是不去转的了,除非防火墙带应用层包过滤功能,好像叫Alg吧,不然这个转换功能只能自己做.举个例子:ftp server对外IP: 192.168.56.34[size=medium]一个机构的网络把这个ip转成内...
2010-05-15 00:13:43
119
程序还是先从自身找原因吧
我cao,在机房憋了两周,调试aix上的java应用。由最初的怀疑系统参数、jdk bug等非自身因素问题,最后检查代码定位到应用代码的问题。 能说啥呢,我不是说一个jdk或系统级的bug我们没有能力和机会去发现,而是如果把我们应用的代码与所使用的应用开发框架、jdk等代码相比较,不难得出我们的代码质量还是相当低的,我们的bug还是相当有量的。当然了,很可能是我们这水平低,哈哈。...
2010-04-21 09:20:38
99
给斐波那契函数加个缓存
算兔子:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?[code="java"]import java.util.HashMap;public class a{ private static HashMap map = new HashMap(); public stat...
2010-03-10 17:35:28
248
关于基于mina的ftpserver的性能问题
工作中使用到apache的ftpserver,一直以为基于mina的它是异步非阻塞IO的,结果看了源码发现,接收是这么写的[code="java"] while (true) { 从流中读 写文件 } }}[/code] 真是太失望了,这样一来,ftpserver处理客户请求的数据就取决于那个ExectorFilter...
2010-02-24 10:08:58
396
原创 工作记录
6029 6920 1674 0381export JAVA_HOME=/usr/java5_64export PATH=$PATH:$JAVA_HOME/binnohup java -jar frservice.jar&nohup java -classpath .:c.jar net.gbicc.sicms.ftp.test.FtpClient 10 1...
2009-12-09 09:33:38
110
扩展 COMMON-NET和APACHE FTP SERVER命令
项目中使用apache ftp server提供文件接收服务,需要在文件接收完毕修改状态为:传输完毕。根据apache文档,只需实现FtpLet接口就可以实现命令执行前后的监控了。看了下APACHE FTP SERVER的源码,FtpLet的beforeCommand方法在Command执行前调用, afterCommand方法在Command执行后调用。那很清晰了,只要在afterCommand...
2009-11-14 21:29:14
99
原创 event使用
[code="java"]function showDetail(event) { event=event||window.event; var target=event.target||event.srcElement; alert(target.tagName); if ( String(targ...
2008-11-10 11:15:49
106
原创 JAVA引用
虽然用 Java™ 语言编写的程序在理论上是不会出现“内存泄漏”的,但是有时对象在不再作为程序的逻辑状态的一部分之后仍然不被垃圾收集。本月,负责保障应用程序健康的工程师 Brian Goetz 探讨了无意识的对象保留的常见原因,并展示了如何用弱引用堵住泄漏。 要让垃圾收集(GC)回收程序不再使用的对象,对象的逻辑 生命周期(应用程序使用它的时间)和对该对象拥有的引用的实际 生命周期必须是相同的...
2008-11-10 10:45:50
93
J2EE项目jprofiler3使用前配置
1.修改服务器启动命令,java命令后加参数[code="java"]-Xint -Xrunjprofiler:port=8849 -Xbootclasspath/a:D:\lib\agent.jar[/code]2.修改环境变量path, 增加加安装目录\profiler3\bin有点奇怪的是,如果第二步不做,只把agent.jar加入classpath的话会报agent....
2008-11-10 10:37:41
67
原创 dbunit导出数据
[code="java"] [/code]导出时必须指定schema,否则抛org.dbunit.database.AmbiguousTableNameException...
2008-11-10 10:22:05
154
关于连接池设置的问题。
目前一个项目在APUSIC应用服务器上跑,连接池用也是APUSIC自带的。并发访问人数大约在80左右,操作基本没太复杂的。服务器配置:8CPU 12G内存 SUSE LINUX 9.0想知道在这样的情况下连接池的最大连接数、最大空闲连接数等设置在什么范围内比较适应。另能否说明是跟据什么进行的设置。...
2007-07-16 14:23:28
85
分页查询的SQL语句,出现重复记录!
table1中表有字段(其余字段省)ID 主键DATA_UPDATE_TIME 数据更新时间(只存储了年月日)分页查询的语句如下select * from ( select row_.*, rownum rownum_ from ( select p.id from table1 p or...
2007-01-29 18:16:21
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人