`
lenozhi
  • 浏览: 51026 次
社区版块
存档分类
最新评论
文章列表
 翻看设计模式,单例模式往往安排在前面,一般来说,前面的东西都简单,那单例简单吗?1. 写个singleton很简单,自己拿住自己的对象,整成private的。构造函数private化,再来个static 且同步的方法getInstance,里面初始化。   看 ...
时不时翻看设计模式,发现有些模式不仅在设计层次有其价值体现,在人情世故中也能充当润滑剂。(自己YY的)  比如适配器模式。咱们提供某些服务给客户,而客户偏偏要按自己定义的方式去调用或者已经设计好接口(且不论调用方法设计的高低)。在这里,客户定义了接口bizInterface ,咱提供的是OtherClass类,两回事,不搭调。那客户可不管这个,你让客户改调用方式,不现实,人家的设计都整完了,再说也没道理因为你个开发商,由着你来。怎么办,传统思路:活稀泥。想折把两事搞一块去,那咱就先实现用户的接口呗,脸面的事遥按人家的方法办,没错。实现类里的service方法具体怎么搞,那人家可没限制,本来就是 ...
 张猫猫同学搞广告的,她们整方案多用PPT,分工是这样的,组长牵头,把握方案的总体,搭出架子,具体的肉由小朋友完成,当然自己也会做一部分。由此联想到设计模式,恰恰模板方法跟这事挺靠谱的。TemplateClass中step1()-step4()都可以抽象的,到具体子类去实现run方法是实的,里面给出具体的调用顺序或条件。那run方法就好比是组长搭出的架子,step们就由小朋友去具体完成,不用关心整体的一些设计。     
这招好使,深度clone不用一个个的set考虑关系了。        public static byte[] toByteArray(Object object) throws IOException {         if (object == null) return new byte[0];                 ByteArrayOutputStream bos = new ByteArrayOutputStream();         ObjectOutputStream oos = new ObjectOutputStream(new Buffere ...
  为啥分页非得取总记录数?谁规的定?     没总记录数,无非不能知道一共有多少页罢了。分页是为了什么?查询结果一页显示不下,分几页显示。那么这种情况多吗?如果多,我觉得首先是使用者未充分利用已有的查询条件去过虑记录,二已有的查询记录无法满足部分业务需求。 当然有也有个案,通话记录查询,没条件,全给你列出来。可这就一定要算出总页数吗?未必吧,不算一样可以前后翻,只不过翻到某些页的时候没记录罢了,那页面判断一下也就没有显示下一页或下几页的按钮了。       小结,从某种意义上讲,大家都是半路出家。当你出生时,当你上学时,IT系统就存在了,需要不断学习,掌握技能。技术是死的,人是活的。 ...
网上找的,有人说疑似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:34123412...     D:41234123...     思路:用ConcurrentLinkedQueue类调度线程执行的执行的顺序,例:        事先准备针对4个文件写入顺序的队列 ...
性能测试过程中,我们该如何监控java虚拟机内存的使用情况,用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应 ...
ORA-16038的解决(日志无法归档) ORA-16038的解决       数据库装载完毕。ORA-16038: 日志 3 序列号 5035 无法归档ORA-19809: 超出了恢复文件数的限制ORA-00312: 联机日志 3 线程 1:......REDO03.LOG'   DB是归档模式, 每个日志组只有一个文件(新太公司的人通常使用的方法,FT), 没办法, 搜寻文档和晚上的资料, 有如下的解决方法: 损坏非当前联机日志: 1、启动数据库,遇到ORA-00312 or ORA-00313错误,如: 
1. 业务知识   话说业务知识,那才真该是做企业应用开发人员的必备知识,你技术可以一般,但不懂业务就没法跟客户谈,没法谈,需求就无法深入,那就不是一个水平的对话,这时你只能被动地接受,因为你无知。     业务知识可分为两类掌握(我自己定义的):    一、做的行业总变,不可能深入怎么办?拿来行业各种规范,熟记熟背(在做项目前,甚至谈需求前),这样当你想反驳的话就有了最简单的业务理论依据,XXX规范XX章X节Y条,把这一搬出来,OK,客户也不好讲啥了,除非这个行业很混乱很小。(电力行业就是这样,怎么操作,怎么样行,有规范的,大家都遵守)    二、没啥可说的,多年积累,留心地积累。 ...
一些胡乱的想法与实现   场景:生产者与消费者模型,前端一台ftpServer接收文件,一个文件接收完成后由一个后台进程对其进行业务处理。   1.       简单架构 这种设计下,不存在负载均衡,所有接收完成的文件,全部由业务处理进程加工。 业务处理进行的工作:定时任务取可处理文件,取到后进行处理,一个文件可重试N次后决定其处理结果。  
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/doc/2007/08/21/1107970.shtml
如果,如果不设置,可能在执行completePendingComannd时阻塞,至此无限时阻塞在此。建议连接成功后调用setSotimeout方法,此方法设置一个命令执行后最大等待Server反馈的时间。
最近发现个问题,不知道是使用不当还是何种原因造成的。 具体内容:      用Quartz调度任务,周期10分钟。但具体业务执行的时间要大于10分钟。Quartz线程池的配置是缺省,查了一下10个大小。 现象,运行一段时间后,Quartz的线程池中9个线程的状态是Waiting on Condition,一个是runnable。整进程的状态貌似停住了,调度时间到了,没有执行高度线程中的代码。          怀疑,由于业务操作的时候大于10分钟(调度周期),可能会导致(猜的)Quartz的线程池中的线程还在处理业务,一次调度结束但实际业务操作还在运行(指在调度的线程池中运行),运行 ...
Java的OutOfMemoryError 关键字: outofmemoryerror Java中不再需要关心Object(相对C++而言这的确省去了许多烦恼)生存期管理,因为我们有了垃圾收集器GC!  引入GC带来了效率,我们专心编写业务逻辑而不必随 时为内存管理问题担忧。不过,在Java中如果程序设计有误,对于简单的问题也会导致新问题出现,这就是OutOfMemoryError(简称OOM)。 举几个例子。 1. 文件上传类。由于没有考虑到大文件的情况,这个类在上传大文件时会抛OOM错误。原来代码中直接 new Byte[filesize]。一下子在堆上申请这么多内存能不出错吗 ...
首先,要感谢神奇的Iteye,带了了这次面试的机会,无论如何经历比结果重要。   个人情况如有兴趣,请参阅http://www.iteye.com/topic/991391。     首先是电话面试,感觉当时有点紧张,看来不习惯一个电话对着两个人说的感觉,时空 ...
Global site tag (gtag.js) - Google Analytics