随笔分类 -  Java

摘要:一、程序结构 说明:以上两个包的版本要相匹配,否则可能会出现Class找不到的情况(不同版本路径有改变) 几个主要jar包下载地址: http://yangjizhong.iteye.com/blog/1206901 spring-data-common-core-1.0.0.RELEASE.jar 现在很多例子程序提供的都是之前spring官网上的链接地址,但是spring官网改版 后那些下载地址都已经失效。 二、源码 1、Url类package com.wiscom.data;import java.io.Serializable;public cla... 阅读全文
posted @ 2014-04-11 11:16 edisonfeng 阅读(1674) 评论(0) 推荐(0) 编辑
摘要:一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装 ... 阅读全文
posted @ 2014-03-03 15:22 edisonfeng 阅读(412199) 评论(22) 推荐(73) 编辑
摘要:应用场景: 安全代理:控制对原对象的访问权限 注: 之所以把权限控制放在"代理类"中,而不是放在原对象中,主要依据"单一性原则". 远程代理:网络通讯时,将加密,解密,打包,解包这些操作一起封装在"代理对象"使得客户端 调用时,就像是在访问本地数据. eg: WebService的工作原理 虚拟代理:当存在实例化需要很长时间的成员对象时,当需要调用到与该对象相关的方法时才 声明该对象,并实例化. 智能指引:未使用过基本特点: 代理拥有实际执行者的实例,代理的每一个函数,直接调用实际执行者对应的函数.一、普通代理: (安全代理) 1.原 阅读全文
posted @ 2011-12-30 16:56 edisonfeng 阅读(520) 评论(1) 推荐(0) 编辑
摘要:应用场景: 将构建一个复杂产品的过程进行分解: 1)每个部件的创建:专注于每个部件自身的创建 2)整体产品的创建:将创建好的各个部件传递给产品类 一个复杂的产品对象由若干个部件对象装配而成,由此可使整个复杂构建过程的逻辑更加清晰,可读性更强一、组成结构 组成: 抽象建造者 具体建造者 指挥者 产品类 产品类:public class HouseProduct { private int area; private int roomCount; private String color; public HouseProduct(int area,... 阅读全文
posted @ 2011-12-29 01:29 edisonfeng 阅读(403) 评论(0) 推荐(0) 编辑
摘要:应用场景:图形用户界面中,各个控件构成树状拓扑结构.在做消息机制时,子控件无 法处理的消息,就继续传递给父控件来处理.特点: a)责任链模式并不指定链的拓扑结构,可以是单链表,二叉树,环 b)链接顺序由系统任意指定,甚至可以进行动态变化一、组成结构 请求者类: public class Request {//请求者类,用flag标识 private int levelFlag; public Request(int levelFlag) { this.levelFlag=levelFlag; } public int getLevelFlag... 阅读全文
posted @ 2011-12-27 01:55 edisonfeng 阅读(1399) 评论(2) 推荐(0) 编辑
摘要:应用场景: 某个类型具有两个或多个维度,实现抽象与行为的分离,防止"行为代码模块"冗余.一、基本结构 组成: 行为接口: 1个,定义了通用的行为方法 具体行为类: 多个,具体实现行为接口中指定的行为方法 抽象类: 1个,定义了通用的行为方法,供外部调用,通常方法名与"行为接口"中的方法名相同. 抽象类具体实现: 若干个,通过其中一个维度,具体定义抽象类 行为接口:public interface Engine {//行为接口 public void setEngine();} 具体行为类一:public class Engine1500CC implem 阅读全文
posted @ 2011-12-26 16:25 edisonfeng 阅读(428) 评论(0) 推荐(0) 编辑
摘要:一、基本结构 组成: a)策略接口:1个 b)具体策略类:多个,封装了具体的算法和行为 c)调度类: 1个,持有某具体策略类的引用,供客户端使用 策略接口://策略接口,定义了不同策略供外部调用的“通用方法”public interface StrategyInterface { public void multiWay_tour();} 具体策略类一:public class FirstConcreteStrategy implements StrategyInterface { public void multiWay_tour() {//策略方法的具体实现 ... 阅读全文
posted @ 2011-12-25 16:35 edisonfeng 阅读(462) 评论(0) 推荐(0) 编辑
摘要:一、基本结构1.层次一:原始抽象类 抽象类:Cakeabstract class Cake { protected String description="Unknown Cake"; public abstract void printDescription();//抽象方法必须指定为abstract类型 }2.层次二:具体实现者、装饰者抽象类 具体实现者1:WhiteCakepublic class WhiteCake extends Cake { public WhiteCake() { description="WhiteCake"; } ... 阅读全文
posted @ 2011-12-25 02:15 edisonfeng 阅读(548) 评论(0) 推荐(1) 编辑
摘要:使用场景: 接口转换一、对象适配器(优先选用)优选的原因:多用聚合,少用继承原始接口类:public class Adaptee { public void standardRequest(){ System.out.println("这是原始标准接口!"); }}目标接口:public interface Target { public void newRequest(); }适配器类://聚合的方式,适配器类中“原始接口对象”作为其成员对象public class Adapter implements Target ... 阅读全文
posted @ 2011-12-20 01:28 edisonfeng 阅读(579) 评论(0) 推荐(0) 编辑
摘要:一、定义观察者类1)观察者DiningObserverpublic class DiningObserver implements Observer { //只需要实现Observer接口中的update方法 public void update(Observable o, Object arg) { if(arg.equals("Dining") ){ System.out.println("我是观察者DiningObserver,当前被观察者的状态为:Dining!"); }else{ System.out.print... 阅读全文
posted @ 2011-12-15 16:41 edisonfeng 阅读(374) 评论(0) 推荐(0) 编辑
摘要:Alt+Shit+S Generaet Getter and Setter 选中Generate method comments 文本编辑 复制行 Ctrl+Alt+向下键 编辑文本 快捷键:选中接口名按ctrl+t 会列出所有实现此接口的类 ctrl+o 找到这个类中的所有方法 Ctrl+O 快速显示 OutLine Ctrl+T 快速显示当前类的继承结构 Ctrl+Shift+X 把当前选中的文本全部变为小写 Ctrl+Shift+Y 把当前选中的文本全部变为小写 Ctrl+Shift+F 格式化当前代码 Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定... 阅读全文
posted @ 2011-11-08 23:14 edisonfeng 阅读(584) 评论(0) 推荐(0) 编辑
摘要:一、基本特点 如何防止创建多个实例:构造方法设置为私有,使得外部无法直接new出实例 基本组成:a)一个静态的和自身类型相同的成员对象 b)私有的构造方法 c)获取实例的公有方法,供外部调用,以返回实例 二、懒汉式特点:类被加载时不创建实例,getInstance方法第一次被调用时才创建实例类代码:public class LazySingleton { /** * 静态的和自身类型相同的成员对象 */ private static LazySingleton theLazySingleton=null; /** * 构... 阅读全文
posted @ 2011-10-22 18:11 edisonfeng 阅读(531) 评论(0) 推荐(0) 编辑
摘要:一、类的定义package com.StaticKeyword;public class Staff { private static String country="China"; private int id; private String name; static void setCountryAndPrint(String _country) { country=_country;// 由于country不是专属某个特定的类,因此不能以this.country=country;的形式访问 System.out.println("T... 阅读全文
posted @ 2011-10-20 22:28 edisonfeng 阅读(15352) 评论(0) 推荐(0) 编辑
摘要:一、简单工厂模式的组成部分 a)抽象产品: 在接口中指定了每种具体产品需要实现的方法 具体产品: 实现接口 b)工厂类:根据具体的参数,创建和返回相应的具体产品,由主程序直接调用二、代码实现抽象产品:Carpackage com.simpleFactory;public interface Car { public void run();}具体产品1:BENZpackage com.simpleFactory;public class BENZ implements Car { public void run() { // TODO Auto-generat... 阅读全文
posted @ 2011-10-19 23:56 edisonfeng 阅读(374) 评论(0) 推荐(1) 编辑
摘要:反射的基本作用:运行期,根据对象名就能获得该对象的:类型、方法、属性基本的类定义如下:1 class Person {2 String name;3 int age;4 5 public String toString(){6 return"name="+name+" age="+age;7 }8 }一、反射的作用 反射的作用1:根据“字符串类型的类名”创建“实例” String driverName="com.mysql.jdbc.Driver"; try{ Class.forName(driverName); System.out 阅读全文
posted @ 2011-08-07 14:35 edisonfeng 阅读(356) 评论(0) 推荐(0) 编辑
摘要:一、读取Xml文档 xml文档内容: 代码实现: 1 try{ 2 File myFile=new File("E:\\SourceCode\\JavaWorkspace\\Xml\\XmlFiles\\Candidate.xml"); 3 DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); 4 DocumentBuilder builder=factory.newDocumentBuilder(); 5 Document doc = builder.parse(myFile); 6 No 阅读全文
posted @ 2011-06-03 00:23 edisonfeng 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1.JDK的安装与配置 JDK安装过程和一般的软件安装相类似,以下主要详细介绍安装之后,环境变量需要的设置: a)新建JAVA_HOME变量 新建该变量后,将值设置为JDK的安装路径,例如:C:\jdk1.6 注:该变量主要是因为,很多第三方软件会自动寻找系统中的JAVA_HOME变量,如果没有,则不能使用,例如: Tomcat。 同时,新建该变量后,在其他地方引用JDK路径时,也可以不用添加很长的安装路径,直接使用%JAVA_HOME%即可。 b)设置path变量 将JDK安装路径下的bin目录添加到path变量中,例如: %JAVA_HOME%\bin 注:此配置是为了便于系统在任何地方. 阅读全文
posted @ 2011-06-01 00:45 edisonfeng 阅读(1789) 评论(0) 推荐(0) 编辑