随笔分类 -  Java

摘要:一、定义定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。(Java的TreeSet集合中,构造方法可传入具体的比较器对象以实现不同的排序算法。就是利用的策略模式)策略模式的用意是针对一组算法,将每... 阅读全文
posted @ 2018-08-10 17:41 neu_张康 阅读(302) 评论(0) 推荐(0)
摘要:一、定义观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己。主要应用在java的AWT事件机制。二、角色抽象主题角色(Subject):把所有对观察者对象的引用保存... 阅读全文
posted @ 2018-08-10 17:21 neu_张康 阅读(1193) 评论(0) 推荐(0)
摘要:一、定义装饰模式的设计理念主要是以对客户端透明的方式动态扩展对象的功能,是继承关系的一个替代(继承会产生大量的子类,而且代码有冗余)。装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。装饰模式把客户端的调用委派到被装饰类。装饰模式的关键在于这种扩展完全是透明... 阅读全文
posted @ 2018-08-09 22:57 neu_张康 阅读(224) 评论(0) 推荐(0)
摘要:一、概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流 流按操作类型分为两种: 二、字节流 字节流的抽象父类:InputStream和OutputStream,由于抽象类是不能直接new对象的,所以我们可以 阅读全文
posted @ 2018-06-16 23:15 neu_张康 阅读(208) 评论(0) 推荐(0)
摘要:1、创建File对象的几种方式import java.io.File;public class MyFile { public static void main(String[] args) { File file1 = new File("a.txt"); ... 阅读全文
posted @ 2018-06-12 22:47 neu_张康 阅读(313) 评论(0) 推荐(0)
摘要:1.TreeSet介绍TreeSet是一个有序集合,可以以任意顺序将元素插入到集合中,在对集合进行遍历的时候,每个元素将自动按照排序后的顺序呈现。底层使用的是二叉树(更具体点是红黑树)实现,对于元素之间排序,如果不指定自定义的比较器Comparator,那么插入的对象... 阅读全文
posted @ 2018-06-06 20:40 neu_张康 阅读(305) 评论(0) 推荐(0)
摘要:在介绍HashMap的同时,我会把它和HashTable以及ConcurrentHashMap的区别也说一下,不过本文主要是介绍HashMap,其实它们的原理差不多,都是数组加链表的形式存储数据,另外本文所介绍的都是JDK1.8版本的。在介绍之前,先看下Map家族的继... 阅读全文
posted @ 2018-03-09 14:55 neu_张康 阅读(289) 评论(1) 推荐(0)
摘要:String字符串常量-JDK1.0StringBuilder字符串变量线程不安全JDK1.0StringBuffer字符串变量线程安全JDK1.5三者区别String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此... 阅读全文
posted @ 2018-03-08 11:35 neu_张康 阅读(155) 评论(0) 推荐(0)
摘要:ArrayList、LinkedList、Vector这三个类都实现了List接口。ArrayList是一个可以处理变长数组的类型,可以存放任意类型的对象。ArrayList的所有方法都是默认在单一线程下进行的,因此ArrayList不具有线程安全性。LinkedLi... 阅读全文
posted @ 2018-03-08 10:48 neu_张康 阅读(200) 评论(0) 推荐(0)
摘要:equals是Object类的公共方法,方法内部是用==实现的。但是很多类都重写了equals方法,例如基本数据类型的封装类和String类,重写后比较的是对象的值或者内容是否相同。而==是比较地址,但是基本数据类型,==比较的是两个变量的值是否相同,对于两个引用数据... 阅读全文
posted @ 2018-03-06 19:45 neu_张康 阅读(147) 评论(0) 推荐(0)
摘要:Java的9种基本数据类型以及封装类基本类型大小(单位/字节)默认值封装类byte1(byte)0Byteshort2(short)0Shortint40Integerlong80LLongfloat40.0fFloatdouble80.0dDoubleboolean... 阅读全文
posted @ 2018-03-06 17:11 neu_张康 阅读(854) 评论(0) 推荐(0)