- 浏览: 66748 次
- 性别:
- 来自: 北京
最新评论
-
wangmuchang:
javascript验证 -
gaogaf:
到了2.2这个方法就废了~~~~~
android 退出应用程序
文章列表
jmx 监控hibernate 和c3p0
- 博客分类:
- jmx
<beanid="jmxExporter"class="org.springframework.jmx.export.MBeanExporter">
<propertyname="beans">
<map>
<entrykey="Hibernate:name=statistics">
<reflocal="statisticsBean"/>
</entry>
</map>
</propert ...
开闭原则
1、定义
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
2、问题由来
在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能 ...
迪米特法则
1、定义
一个对象应该对其他对象保持最少的了解。
2、问题由来
类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。
3、解决方案
尽量降低类与类之间的耦合。
...
接口隔离原则
1、定义
客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
2、问题由来
类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类 ...
依赖倒置原则
1、定义
高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
2、问题由来
类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。
3、解决方案
将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。
4、详解
依赖倒置原则基于这样一个事实: ...
里氏替换原则
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。
1、定义如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。
2、问题由来
有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在 ...
单一职责原则
1、定义
不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。
2、问题由来
类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。
3、解决方案
遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。
4、详解
说到单一职责原则,很多人都会不屑一顾。因为它太简单了。稍有经验的程序员即使从来没有读过 ...
享元模式
1、定义
享元模式(FlyWeight),运用共享技术有效的支持大量细粒度的对象。
2、结构图
单纯享元模式所涉及到的角色如下:
● 抽象享元(Flyweight)角色 :给出一个抽象接口,以规定出所有具体享元角色需要实现的方法。
● 具体享元(ConcreteFlyweight)角色:实现抽象享元角色所规定出的接口。如果有内蕴状态的话,必须负责为内蕴状态提供存储空间。
● 享元工厂(FlyweightFactory)角色 :本角色负责创建和管理享元角色。本角色必须保证享元对象可以被系统适当地共享。当一个客户端对象调用一个享元对象的时候 ...
门面模式(facade)
1、门面模式
门面模式是对象的结构模式,是通过一个代理一些复杂而又繁琐的操作,客户端只需调用改类中的方法,不必关心后台复杂的操作。
2、结构
在结构图中包含两种角色
‘门面角色:客户端可以通过门面角色与各个子系统进行通信。
子系统角色:可以同时有一个或者多个
3、代码
(1)电灯类
public class Light {
public void turnOn(){
System.out.println("开启灯...");
}
public void turnOff(){
Syste ...
观察者模式
1、定义
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
2、结构
3、代码
(1) ...
1、防止生产客户端程序错误-frontend jaxws21wsdl2java -p client -d stub -frontend jaxws21 -client url
wsdl2java -d d:/ -keep -frontend jaxws21 http://localhost:8888/ms?wsdl
Maven依赖jar包的查询
- 博客分类:
- maven
1、查询地址1
http://search.maven.org/#browse
2、查询地址2
http://mvnrepository.com/
策略模式
1、定义
策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
2、结构图
3、代码
(1)策略接口
public interface IStrategy {
public int calculate(int a, int b);
}
(2)加法算法实现IStrategy
public class AddStrategy implements IStrategy {
@Override
public int calculate(int a, int b) ...
1、jps 虚拟机进程状况工具
语法 jsp [option] [hostid]
选项
作用
-q
只显示lvmid
-m
输出虚拟机启用时传入main方法参数
-l
输出主类全名
-v
输出jvm参数
注意:
如果在linux环境中jps命令不能输出vmid数据(jdk1.6.0.23/24 bug),需要修改catalina.sh文件
if [ -z "$CATALINA_TMPDIR" ] ; then # Define the java.io.tmpdir to use for Catalina # CA ...
1、修改/etc/sysconfig/network文件中的HOSTNAME
HOSTNAME对应的值必须是/etc/hosts中本地ip对应的其中一个值
2、修改/etc/hosts文件
将127.0.01改为局域网ip地址
3、添加jmx访问用户名密码
在jdk/jre/lib/management文件中根据jmxremote.password.template创建jmxremote.password文件,将最后两行的#号删除。
4、修改catalina.sh文件
在catalina.sh文件中添加JAVA_OPTS="-server -Xms7 ...