`
lisa.zhou
  • 浏览: 3738 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
 一:设计原则 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化得代码混在一起。 针对接口编程,而非针对实现编程。 多用组合,少用继承。 'has a' is better than 'is a' 为交互对象之间的松耦合设计而努力 开放关闭原则:类应该对扩展开放,对修改关闭(在不修改代码的情况下,对功能进行扩展) 要依赖抽象,不要依赖具体类 二:策略模式(strategy)    定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。   示例图:   FlyBehavior 和 QuackBehavior分别是 ...
 以前经常对IO的概念及其中大量的类理解不清,这里先简单整理一下 一 IO    首先流的概念 使用inputStream对file进行读取,使用outputStream对文件进行写入 流的分类 字节流(8 位) 字节输入流:InputStream,是所有字节输入流的祖先 字节输出流:OutputStream,是所有字节输出流的祖先 字符流(16 位Unicode) 字符输入流:Reader ,是所有字符输入流的祖先 字符输出流:Writer,是所有字符输出流的祖先 IO字节流整体分类单看,InputStream一块,FileInputStream和Buf ...
 迭代器模式:目前该模式已被整入到Java的Collection。 适用于: 访问一个聚合对象的内容而不暴露它的内部表示 支持聚合对象的多种遍历 为遍历不同的聚合结构提供统一的接口 下边用代码模拟Java的Iterator: 定义Iterator接口,定义迭代接口方法 /* * imitate the JDK Iterator */ public interface Iterator<E> { public E next(); public boolean hasNext(); } 定义Collection接口,及集合的通用方法如 ...
   原题: 农场一头小母牛每年生头小母牛母牛四岁产母牛二十年上多少牛   首先定义两个对象,母牛和农场 public class Cow { public static final int new_age = 4;//Till this age,the cow can birth new cow private int age; public Cow(int age){ this.age = age; } /* * birth the new cow */ public Cow birth(){ if(age >= ...
Chain  of responsibility.是一种比较简单的设计模式。个人理解,Servlet的filter和struts中的Interceptor都会采用这种模式。 以filter为例,filterChain将filter的各个过滤步骤封装成了黑盒子,用户只需将request和response放进去,利用filterChain逐步进行过滤,拿到最终结果。 以下是是一个例子,模拟Filter的执行步骤:其中request依次经过SpecialCharacterFilter和SensitiveWordsFilter的过滤,返回的response依次经过Sensit ...
前段时间准备面试时,遇到的一些常问问题总结   1.Switch 语句能否作用于byte,long,String?    byte可以,long,String不可以,因为switch 的判断条件可以接受int,byte,char,short,不接受其他类型   2.给出输出结果   int testNum = 1;   switch(testNum ){   case 1:   System.out.println('A');   case 2:   System.out.println('B');   case 3:   System.out.println('C ...
HTTPS和HTTP的区别: HTTPS协议需要到CA申请证书 HTTP为超文本传输协议,信息为铭文传输;HTTPS则是具有安全性的SSL加密传输协议 端口不同,HTTP:80     HTTPS:443 HTTP的连接简单,无状态 HTTPS是有SSL+HTTP协议建构的,可进行加密传输、身份认证的网络协议,比HTTP安全   HTTPS解决问题: 信任主机问题:https的server到CA申请一个用于证明服务器用途类型的证书,该证书只有用于对应的server的时候,客户才信任次主机,常用于银行系统网站 通讯过程中的数据的泄漏和被篡改      
Global site tag (gtag.js) - Google Analytics