总结
单元测试(掌握)
- 单元测试:
- 注意:
- 第三方的,注意导包(eclip自带的)
- public修饰
- void返回值
- 没有形参
- @Test
- @Before 测试之前需要初始化的(不能单独运行)
- @After 测试结束之后运行的(不能单独运行)
- 注意:
jar包的导入(掌握)
-
jar包(字节码的压缩包)
-
导出jar包:
选择要导出的类(注意这个类要有路径)–>export–>jar file–>选择存放路径
-
引入jar包:
将准备好的jar包放入自己创建的lib文件夹–>build path–>add to build path
-
获取配置文件中的数据(掌握)
-
解析配置文件中的资源:
通常配置文件放在resources包下面
-
通过Propertie获取配置文件
load方法
-
通过字节码对象获取流
- 类名.class getResourceAsStream() 路径相当于编译后的字节码路径 要加/
- 通过流读取内容
-
通过类加载器获取流
- Thread.currentThread().getContextClassLoader()
- getResourceAsStream() 路径相当于编译后的字节码路径 不加/
-
单例模式(重点掌握)
懒汉
-
懒汉:只有需要的时候调用方法才创建对象返回
-
私有化构造方法
-
提供一个本类静态实例属性
-
对外提供获取返回实例对象的方法
线程不安全
-
-
解决线程安全:
- 同步代码块
- 同步方法
饿汉
- 饿汉:没有调用方法之前就已经创建了对象,可以直接返回
- 私有化构造方法
- 定义静态的实例对象属性(已经创建对象)
- 提供一个可以返回实例对象的方法
- 线程安全
解决线程安全的新方式(掌握)
- ThreadLocal:
- 解决线程安全的一种新的形式,当前的线程地址会存在map的key里面
- 存取的值方法在value里面,获取值的时候通过key获取
- set(T value) get()
工厂模式(理解)
装饰者模式
-
装饰器模式:
在不改变原类的或继承原类的情况下,通过包装的方式动态的扩展对象的功能
适配器模式
-
接口适配器
通过抽象类实现接口,从而重写抽象方法,当一个类继承这个抽象类时,可以选择重写那个方法,减少了接口的开发难度
-
对象适配器
将类作为适配器的属性,创建适配器对象时,实例类的对象传入适配器对象的构造方法,通过适配器对象的方法调用传入的类的方法
-
类适配器
将适配器对象继承一个类和实现接口,重写接口中的方法,在方法中调用父类的的方法