`
shixiaomu
  • 浏览: 383023 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

包(package)

    博客分类:
  • uml
设计包的出发地: 大粒度分解 包的设计:有方向,统一向下,没有环形依赖,有层次。 包和开发周期的结合: 如果项目大了以后,会出现代码版本不统一。就是你按照一个接口,调用了别人的方法,并认为那是稳定的, 可是,等你提交完了,他做了修改,再提交,你的代码就又不对了(晨后综合症)。 解决方法: 1.一个开发周期,拿出1/4的时间,做集成测试。 2.利用稳定版本策略(你动,别人不动)。 3.我自己得方法,有人总负责所有的更改,统一的调配所有的资源。
应用场景: 简易的台灯包括: 1.switch (开关) 2.light(灯) 原来是两个类。 把模式加上: switch(开关) light(灯) switchable(开关接口,灯来实现) 注意事项: 谁拥有这个接口?? 接口属于它的客户,而不是他的派生类。 客户和接口之间的逻辑绑定关系,要强于接口和他的派生类之间的逻辑绑定关系。
应用场景: subject (父类) Timesource  (接口) mockTimesource (实现类) observer(接口) MockTimesink (实现类) 模拟的是一个定时器,到固定的时间,触发update事件,调用所有注册过这个事件的类的update方法。。。 具体的实现: junit的testcase: 看图吧。 呵呵。。。 里面有一句话,很值得学习: 我们不是把时间传给notify和update方法。而是让Timesink向mocktimesource索要时间。 我们不想让mocktimesink 知道 mocktimesource 而是创建了一个接口Timesour ...
应用场景: 一个使用command类的sensor类。 现在程序要做扩展,一个sensor类要调用0-*个command类。 不修改代码,做扩展。 具体的方法: command类派生一个子类。 compositeCommand包含0-*个command, 问题解决。。。。。 注意事项: 1.它能把“一对多”变成“一对一” 2.command必须是类型相似,平等对待的对象。没有层次的划分。 3.图的右半部分是精华。

jdk jre

    博客分类:
  • java
JRE:Java  运行时环境,有了它就能运行Java程序,可以理解为java虚拟机。  JDK:Java  开发环境,除能运行Java程序外,有Java  标准API类库,可以在此基础上开发Java程序。 JRE:Java  运行时环境,有了它就能运行Java程序,可以理解为java虚拟机。  JDK:Java  开发环境,除能运行Java程序外,有Java  标准API类库,可以在此基础上开发Java程序。 sdk      ---      standard      develop      kit    jre      ---      java      run     ...
规则引擎和工作流引擎 我的理解: 规则引擎:你把对象给它,或是参数,他来挑选规则,并应用,适合负责复杂,易变的业务逻辑。比如,排课,排班,erp。。 主要是解决复杂的算法。 工作流:适合业务流程的跳转,工位,岗位,工种,节点,事件,等等的复杂跳转。 主要是解决复杂的流程。

Prototype.js

    博客分类:
  • js
我对Prototype.js的认识和应用: 其实,不光是构建富客户端的web程序,还是普通的web页面Prototype都能给你很大的帮助 1.语言优雅。 2.面向对象。 3.美工和程序人员彻底分离。
1. Java VM 运行于linux平台上的JVM会读取/etc/sysconfig/i18n中的参数来决定输出流的编码方式,如果在安装linux系统过程中没有选择中文,JVM就不能数据中文编码的文字。打开/etc/sysconfig/i18n,注意这两行: LANGUAGE="en_US.ISO8859" --该行指明了语言的编码方式 SUPPORTED="en_US.UTF-8:zh_CN.UTF-8:zh_CN.GB2312:zh.: " --该行指明了支持的编码方式 如果i18n文件是这样的那么JVM会按照其中指明的LANGUAGE参数来决定字 ...
  jdk的可变类和不可变类 primitive变量: boolean,byte, char, double ,float, integer, long, short jdk的不可变类:jdk的java.lang包中 Boolean, Byte, Character, Double, Float, Integer, Long, Short, String.   StringBuffer 可变类   java.util.Date 可变类 1.  可变类和不可变类(Mutable and Immutable Objects)的初步定义:       可变类:当你获得这个类的一个 ...
hibernate,spring,webwork,struts,jfreechart,ireport, oscache,quartz,freemaker,whirlycache,proxool,dbcp,c3p0,cewolf, je-analysis,mail,junit,acegi-security,dom4j,log4j,ehcache,xul, classloader 虚拟机内存分配(jmap,jstat,jstack,jps) 虚拟机gc 虚拟机启动参数 tomcat配置,性能调整 apache配置,性能调整 tomcat 原理 apache+tomcat结合 java多线程 linu ...
对于Java开发人员,多线程应该是必须熟练应用的知识点,特别是开发基于Java语言的产品。本文将深入浅出的表述Java多线程的知识点,在后续的系列里将侧重于Java5由Doug Lea教授提供的Concurrent并行包的设计思想以及具体实现与应用。     如何才能深入浅出呢,我的理解是带着问题,而不是泛泛的看。所以该系列基本以解决问题为主,当然我也非常希望读者能够提出更好的解决问题的方案以及提出更多的问题。由于水平有限,如果有什么错误之处,请大家提出,共同讨论,总之,我希望通过该系列我们能够深入理解Java多线程来解决我们实际开发的问题。     作为开发人员,我想没有必要讨论多线程的基础知 ...
    对于Java开发人员,多线程应该是必须熟练应用的知识点,特别是开发基于Java语言的产品。本文将深入浅出的表述Java多线程的知识点,在后续的系列里将侧重于Java5由Doug Lea教授提供的Concurrent并行包的设计思想以及具体实现与应用。     如何才能深入浅出呢,我的理解是带着问题,而不是泛泛的看。所以该系列基本以解决问题为主,当然我也非常希望读者能够提出更好的解决问题的方案以及提出更多的问题。由于水平有限,如果有什么错误之处,请大家提出,共同讨论,总之,我希望通过该系列我们能够深入理解Java多线程来解决我们实际开发的问题。     作为开发人员,我想没有必要讨论多线程 ...
线程组(ThreadGroup ) 如果线程组中的一个线程因抛出一个未捕获的异常而死亡,则调用该线程组的 uncaughtException() 方法,该方法可以向日志写入一条记录、重新启动线程,然后重新启动系统,或采取它认为必要的任何纠正或诊断操作。至少,如果在线程死亡时所有线程都写一条日志消息,您将有一个何时、何处出错的记录,而不是只能奇怪您的请求处理线程到哪里去了。

新名词

    博客分类:
  • java
1.心跳包(维持包) 2.常量池(java虚拟机) 3.infobus(信息总线,模块解耦合)
java 多线程:分两种 互斥和协作; 多线程的一个经典的例子: 一个缓冲区,一个读线程,一个写线程。协作的概念。1.等待 2.通知 等待:可以指定时间。到时间没人唤醒,自己也能醒。 通知:可以通知一个,也可以唤醒多人。 ...
Global site tag (gtag.js) - Google Analytics