`
fansfirst2008
  • 浏览: 95446 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
      je上大力推从<<代码整洁之道>>之书,看来jes开始集中关注质量问题了,这迎合了最近打假成风的的社会风气!    对于质量问题再怎么强调都不为过啊,性命攸关啊,只是社会浮华之风太重,我觉得只有静下心来,才能重视质量,提高质量!     虽然只是读完了前三章,但是觉得豁然开朗,之前写代码诸如命名,函数,怎么重构都觉得不甚满意,虽然多次改进,零零碎碎有点感触,但是终究未能成系统,未能照顾方方面面,心中总是疙疙瘩瘩的!     一个函数只做一件事情,这样才能命名,理解起来更好!     要想只做一件事情,就要保证函数里面的代码处于同一 ...
先贴代码,再解释与疑问(这段代码是我努力了半天的结果)     import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFClientAnchor; import org.apache.poi.hssf.usermodel.HSSFPicture; import org.apache.poi.hssf.usermodel. ...
 问题背景:       项目中要实现自己的JTable的CellEditor,easy!参考官方例子代码,也就是extends AbstractCellEditor重写里面的getTableCellEditorComponent的方法,可是问题来了,实现了自己的cellEditor,但是其行为为只要点击cell,马上就cell就处于编 ...
前言:     目前自己在寫一個動態畫面生成的小模塊,遇到的一個問題!     問題描述:      自己實現JDialog子類,子類里面組合了一些JComponent做用戶輸入,關閉JDialog的時候,一直無法成功獲得用戶輸入的數據!   解決歷程:      剛開始一直是NullPointerException! 然后跟蹤調試,發現沒有值,甚是奇怪! 思維歷程:      對于swing編程,自己理論上有兩個關注點:1,swing組件樹,swing 組件只會存在于在組件樹中的某一個節點      2,swing的edt單線程模型,如果阻塞的話,將讓應用程序看起來很卡! ...
   知道的越多,不知道的就更多,圆外总是有更大的空间!swing就是这么给我带来的感觉!    项目中有用到swing,可是知道edt的人,却很少,大都是浮光掠影的了解swing!    swing编程有两个基本的法则:一,对于时间比较长的任务,应该启动多线程的方式来执行任务。二,对于需要改变swing组件状态的行为,需要在edt里面执行!关于第二点,有两个解决办法,一是用swingutilities类提供的方法,二override swingworker类!这些都是基础知识!     当前项目中,很好的执行了法则一!而好多代码都在新线程里面直接改变swing组件的状态!     奇怪 ...
   一直试图寻找最本质的东西,或者想找个永动机和银弹,去解决遇到的一切问题!   0和1,难道就是计算机最本质的问题,或者是编程的核心?因为就像分子和原子一样,它们已经不能在分解了!曾经我也确实是这么多认为!    可是对于电脑这样的人造的东西,如果用自然界的去类比,本身就是一种谬误。    记得有句话意思好像是,如果你都不知道怎么解决问题,那么电脑肯定也是不知道的。对于问题驱动型的计算机解决方案,终究归结于人,任何强悍的技术,任何先进的思想,如果你不知道解决方案,一切都是徒劳无功。    最近碰到的问题,也让我愈来愈感觉到,技术只不过是手段。    计算机是建立在人对自然,对世界的 ...
背景:java代码事务处理中,事务属性设置为手动提交,但是居然没有发现事务回滚,只有提交动作!服务器为tomcat,配置数据源为oracle!   疑问有二:1.如果一个事务调用oarcle存储过程正常,但是java代码有抛出异常,此代码能否自动回滚?              2.如果一个事务中调用两次存储过程,第一个无误,第二个plsql代码有误,那么这个事务能否回滚?   针对这两个疑问,我手动写了些测试用例,但是是直接连接数据库的! 事实证明:如果没有回滚动作,那么事务是不正常执行的! 于是推理出,那些没有回滚的java代码是不严谨的!   但是当选用tomcat配置数 ...

堆排序实现难点

    堆排序的步骤如下:      首先建立堆,然后引入了循环不变式,就是初始情况下,整个数组都为堆,然后始终把堆的根,也就是第一个元素与堆的最后一个元素交换,这样每次交换后,从堆最后一个元素开始到结束是有序的,最后堆 ...
引言     一直用java,沉溺于面向对象与设计模式,以为那就是编程的一切,以为算法和c语言一样的古老!所以很多问题都止步于java的糖衣炮弹里面!     多次的挣扎后,打开算法导论,细细的从头看起,慢慢的思考!突然豁然明白,算法 ...
    首先申明,此处将大量引用chjavach之博客,因为他写得太好了,太精准了!而且此博客的目的也只是相当于读书笔记而已.只是对自己的理解和记忆有用罢了!    策略模式可谓最简单的模式,其类图只要瓢一眼,保准你十年忘不掉!然而要灵活多变,掌握其精髓,如果没有深刻的认识,是难以做到的! 为了理解而理解   模式只是类结构,或者基于类的算法,不是基于数据结构的算法 chjavach 写道 (1)策略模式的功能 策略模式的功能是把具体的算法实现,从具体的业务处理里面独立出来,把它们实现成为单独的算法类,从而形成一系列的算法,并让这些算法可以相互替换。 策略模式的重心不是如何来实现算 ...
   这两天在开发一个文件上传功能,如果在合理的架构下,或者适应的场合,对于java,这个功能简直任何人都可以完成的!    可是偏偏是我们前辈遗留下来的牛逼框架下开发,我一度认为都是无法达成这个任务!    花了两三天时间,还有在同事的协助下,才搞定了技术问题!唉,真的是自我最大的嘲讽!    回想下这个过程,有几点感受特别的深刻!    一:测试    由于平时一般都比较简单,所以测试都是极其原始的!虽然tdd早就如雷贯耳,可是我们仍然是钻石取火!    我一般的做法是直接运行代码,然后启动DEBUG跟踪一下!这个对于细节上是比较好的,可是对于模块,或者清晰的结构测 试  一点帮 ...
  一直未对工厂设计模式没用把握到其精髓!   本来打算看下spring源码来品读下,可惜时间被生活和工作抢走了,尤其是最近世界杯-我的最爱,足球啊!   今天看了两篇有关博客,再加上以前的了解,反思下工厂设计模式的自己的理解!   凡事都有个先入为主,估计是以前看书,关于工厂设计模式都关于简单,总觉得延迟创建对象到子类,而就那么一个短短的new关键字,居然要放到子类,真的有种大材小用,小题大做的感觉,也觉得没用必要!   而且从那个类图上看,丝毫感觉不到其中妙处!   直到有一天,发现如果创建一个对象,或者创建一个对象的逻辑,真的就是new的话,工厂设计模式真的没用什么用处,通常让一 ...
  记得曾多次看到过一句话:java的每个方法应尽量的简短,甚至最好不要超过十行!   一直没用理解它的妙处!今天看源代码才终于领悟到了一点点!本来计划是想看看工厂模式的实现,但是种瓜得豆,下面是JDK的AudioSystem的源代码getMixerInfo()方法部分:   public static Mixer.Info[] getMixerInfo() { List infos = getMixerInfoList(); Mixer.Info[] allInfos = (Mixer.Info[]) infos.toArray(new Mixer.Info[infos. ...
     要求: 如何让DOS命令在批处理文件中,首先执行完一条命令,然后在执行下一条命令    第一次尝试:直接写命令    ant explorer "http://127.0.0.1:8088/CoreTekMRP/indexAP.html"     ANT执行完了,但是浏览器并没有按要求打开,失败!   第二次尝试:通过查询,用START /WAIT 执行    start /wait ant explorer "http://127.0.0.1:8088/CoreTekMRP/indexAP.html"   ...
   记得曾经打算考个RHCE证书,日夜学习LINUX,持续了一两个月,最后因为了高昂的考试费 用,放弃参加!      也就那个时候开始对LINUX有个懵懂的认识,但因没有实际应用经验.所以只是觉得和WINDOW一样,不过是个操作系统而已,无所谓激动!      参加工作以来,公司的开发环境是WINDOWS,TOMCAT都是跑在WINDOWS的服务器下面!很多时候,用WINDOWS总感觉力不从心,写点批处理,但是DOS资料又太少!     在加上作为一个JAVA程序员,总是在后端写代码,对于前端的页面画面设计也很感冒!     我觉得对于JAVA来说,或者任何开发语言,在碰到 ...
Global site tag (gtag.js) - Google Analytics