基础
iteye_15246
这个作者很懒,什么都没留下…
展开
-
初步设计校验器框架
项目中有一批文十几种类别,每个文件有若干列。需要对十几类文件做不同类型的校验。如:非空、非数值、长度等。原来就是一堆方法校验,后来重构了下,引入了校验配置文件:[code="java"] ...原创 2010-08-20 16:46:16 · 139 阅读 · 0 评论 -
人情世故中的设计模式-适配器模式
时不时翻看设计模式,发现有些模式不仅在设计层次有其价值体现,在人情世故中也能充当润滑剂。(自己YY的) 比如适配器模式。咱们提供某些服务给客户,而客户偏偏要按自己定义的方式去调用或者已经设计好接口(且不论调用方法设计的高低)。在这里,客户定义了接口bizInterface ,咱提供的是OtherClass类,两回事,不搭调。那客户可不管这个,你让客户改调用方式,不现实,人家的设计都整完了,再说...原创 2013-10-23 10:53:20 · 139 阅读 · 0 评论 -
模板方法-有些活儿,先搭架子再填肉。
张猫猫同学搞广告的,她们整方案多用PPT,分工是这样的,组长牵头,把握方案的总体,搭出架子,具体的肉由小朋友完成,当然自己也会做一部分。由此联想到设计模式,恰恰模板方法跟这事挺靠谱的。TemplateClass中step1()-step4()都可以抽象的,到具体子类去实现run方法是实的,里面给出具体的调用顺序或条件。那run方法就好比是组长搭出的架子,step们就由小朋友去具体完成,不用关心...原创 2013-10-23 10:51:47 · 251 阅读 · 0 评论 -
FtpClient要设置setSotimeOut!
如果,如果不设置,可能在执行completePendingComannd时阻塞,至此无限时阻塞在此。建议连接成功后调用setSotimeout方法,此方法设置一个命令执行后最大等待Server反馈的时间。...原创 2011-05-13 15:01:52 · 1927 阅读 · 0 评论 -
不当使用quartz度出现waiting on condition不完全解决思路
最近发现个问题,不知道是使用不当还是何种原因造成的。具体内容: 用Quartz调度任务,周期10分钟。但具体业务执行的时间要大于10分钟。Quartz线程池的配置是缺省,查了一下10个大小。现象,运行一段时间后,Quartz的线程池中9个线程的状态是Waiting on Condition,一个是runnable。整进程的状态貌似停住了,调度时间到了,没有执行高度线程中的代码。...2011-05-10 17:40:58 · 2890 阅读 · 0 评论 -
转自zerozone oom
Java的OutOfMemoryError关键字: outofmemoryerror Java中不再需要关心Object(相对C++而言这的确省去了许多烦恼)生存期管理,因为我们有了垃圾收集器GC! 引入GC带来了效率,我们专心编写业务逻辑而不必随 时为内存管理问题担忧。不过,在Java中如果程序设计有误,对于简单的问题也会导致新问题出现,这就是OutOfMemoryError(简称...原创 2011-05-07 16:46:31 · 123 阅读 · 0 评论 -
一道线程应用的试题
网上找的,有人说疑似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 · 111 阅读 · 0 评论 -
将HashMap文件化
( 只是个想法加雏形,实现的很丑陋且效率很低下) 有这样一种场景,校验千万行文本中某一列键值(长度30以上)的唯一性(要求100%准确)。按我的水平,自然就想到用HashMap,可这样就会将所有的键值都放入内存,对内存资源需求较大。然后我就想,数据库也有一样的需求呀,人家怎么搞的呢?思前想后,能力太有限,没思路。最后只能想到,如果把HashMap的存储介质由内存转移到外存(文件中)...2011-04-20 11:40:25 · 162 阅读 · 0 评论 -
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 · 120 阅读 · 0 评论 -
生产者和消费者模型应用
[color=darkred]一组生产者线程不断产生数据到生产者队列中,另一组消费者线程定时去扫描队列,记录到各自线程的任务集合中,当集合到达设置的上限,再转交到一组写线程,将数据输出到相应的DB或文件中。[/color]...原创 2010-11-29 12:57:09 · 142 阅读 · 0 评论 -
再次小小的修改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 · 130 阅读 · 0 评论 -
作为一个应用系的程序员,我们该掌握什么?!
1. 业务知识 话说业务知识,那才真该是做企业应用开发人员的必备知识,你技术可以一般,但不懂业务就没法跟客户谈,没法谈,需求就无法深入,那就不是一个水平的对话,这时你只能被动地接受,因为你无知。 业务知识可分为两类掌握(我自己定义的): 一、做的行业总变,不可能深入怎么办?拿来行业各种规范,熟记熟背(在做项目前,甚至谈需求前),这样当你想反驳的话就有了最简单的业务理论依据...原创 2011-06-03 12:45:28 · 109 阅读 · 0 评论 -
JAVA引用
虽然用 Java™ 语言编写的程序在理论上是不会出现“内存泄漏”的,但是有时对象在不再作为程序的逻辑状态的一部分之后仍然不被垃圾收集。本月,负责保障应用程序健康的工程师 Brian Goetz 探讨了无意识的对象保留的常见原因,并展示了如何用弱引用堵住泄漏。 要让垃圾收集(GC)回收程序不再使用的对象,对象的逻辑 生命周期(应用程序使用它的时间)和对该对象拥有的引用的实际 生命周期必须是相同的...原创 2008-11-10 10:45:50 · 106 阅读 · 0 评论 -
dbunit导出数据
[code="java"] [/code]导出时必须指定schema,否则抛org.dbunit.database.AmbiguousTableNameException...原创 2008-11-10 10:22:05 · 165 阅读 · 0 评论 -
貌似简单的模式-单例模式
翻看设计模式,单例模式往往安排在前面,一般来说,前面的东西都简单,那单例简单吗?1. 写个singleton很简单,自己拿住自己的对象,整成private的。构造函数private化,再来个static 且同步的方法getInstance,里面初始化。 看两眼书,都能写个差不多。但请注意,这里有个隐含条件,单例的范围是什么?范围不同,单例的实现与调用是不同的。 范围: 单JVM(进程)...原创 2013-10-24 10:01:52 · 179 阅读 · 0 评论