1.1 -- TCP协议特点
|-- 建立连接,三次握手
|-- 安全可靠协议
|-- 适合大数据传输
|-- 效率慢
1.2 Socket类
|-- 客户端类,连接服务器
|-- 构造方法 传递String IP,int端口号
|-- InputStream getInputStream 读服务器
|-- OutputStream getOutputStream 写服务器
|-- shutdownOutput 结束客户端流对象
1.3 ServerSocket
|-- 服务器类,打开端口等待客户端
|-- 构造方法,传递int端口号
|-- Socket accept 获取客户端的连接对象
|-- 通过Socket获取流对象
|-- InputStream getInputStream 读客户端
|-- OutputStream getOutputStream 写客户端
2. 反射
2.1 获取class文件三种方式
|-- 对象.getClass
|-- 类名.class
|-- Class.forName获取(重要)
2.2 java.lang.Class
|-- 获取构造方法的方法
|-- getConstructors 获取所有公共构造方法
|-- getConstructor 获取指定公共构造方法,传递相对应参数列表
|-- 获取成员变量的方法
|-- getFields 获取所有公共成员变量
|-- getField 获取指定成员变量,参数传递变量名
|-- 获取成员方法的方法
|-- getMethods 获取所有成员方法,包含继承的,公共的
|-- getMethod 获取指定成员方法,传递方法名和参数列表
|-- newInstance
2.3 Constructors类
|-- newInstance()传递构造方法的实际参数
2.4 Field类
|-- set()传递对象,和修改后的成员变量值
2.5 Method类
|-- invoke()传递对象,和运行的方法是实际参数
1. File
1.1 File封装路径,文件,文件夹
1.2 静态常量两个 pathSeparator ; separator \ Linux : /
1.3 构造方法
|-- 字符串路径
|-- 字符串父路径,字符串子路径
|-- File父路径,字符串子路径
1.4 创建功能
|-- createNewFile创建文件
|-- mkdirs 创建文件夹
1.5 删除和重命名
|-- delete
|-- renameTo
1.6 判断功能
|-- exisit 判断路径有没有
|-- isDirectory判断是不是文件夹
|-- isHidden判断是不是隐藏属性
1.7 获取功能
|-- getName 获取名字
|-- getPath 获取路径的字符串
|-- getParentFile 获取父路径
|-- getAbsoluteFile 获取绝对路径
1.8 List方法
|-- static File[] listRoots 返回系统根
|-- listFiles 获取目录下的内容,单级目录
|-- listFiles(FilenameFilter)过滤器
2. 递归
2.1 编程技巧,方法自身调用
2.3 递归使用注意事项
|-- 有出口
|-- 次数不能太深,否则出现内存的溢出情况
|-- 构造方法不能递归
3. IO
3.1 IO输入输出,是设备之间的数据传递 Input Output
3.2 实现远程计算之间的数据传输 客户端和服务器,或者两个服务器,两个客户端
3.3 分类
|-- 字节输出流,用于写任意文件
|-- 字节输入流,用于读取任意文件
|-- 字符输出流,用于写文本文件
|-- 字符输入流,用于读取文本文件
3.4 方法
|-- OutputStream 字节输出流 方法,write写,字节有关,单个字节,字节数组
|-- InoutStream 字节输入流 方法,read读, 字节有关,单个字节,字节数组
|-- Writer 字符输出,写只能是文本文件 write写 写字符串,字符数组,单个字符
|-- Reader 字符输入,只能读取文本文件 read读 字符数组,单个字符
1. DateFormat
1.1 -- 抽象类,无法实例化对象
1.2 -- 静态方法 getDateInstance() getDateTimeInstance() 返回子类对象SimpleDateFormat
1.3 -- 静态方法 getDateInstace(日期风格) getDateTimeInstance(日期风格,时间风格)
1.4 -- format(Date d)格式化日期
1.5 -- parse(String s)字符串转成日期对象
2. Calendar
2.1 -- 抽象类,无法实例化对象
2.2 -- 静态方法 getInstance()返回的是子类对象 格林威治日历
2.3 -- get()传入日历字段,返回这个对应的数值,日历自动看文档 Calendar.YEAR
2.4 -- set()设置日历,可以直接写数字,年,月,日。
重载形式可以写 日历字段,具体数据
2.5 -- setTime()设置日历,传递Date类型
2.6 -- add()偏移日历,传入日历字段,具体数值,写负数,向前偏移
3. 集合数组区别
集合:
变长
存储对象,不存储基本类型
存储不同类型数据
数组:
定长
存储对象,也存储基本类型
单一类型数据
4. Collection接口
4.1 -- 集合顶层接口,和Map接口没关系
4.2 -- 接口中的方法
add()添加
size()长度
contains()包含
remove()删除
clear() 清空
iterator() 返回迭代器接口实现类对象
5. Iterator接口
5.1 -- 遍历集合,迭代集合
5.2 -- 每个集合都有方法 iterator()返回接口实现类的对象
实现类是集合内部类
5.3 -- 迭代集合三行代码
iterator()
hasNext()
next()
5.4 -- 迭代中出现多次next()可能出现数据错误,也可能出现没有元素被取出异常
5.5 -- 迭代中,不要使用集合方法,修改集合长度,否则出现并发修改异常
6. List接口
6.1 -- 有序,重复,下标
6.2 -- 特有方法:
add(int index,Object o)
set(int index ,Object o)
Object remove(int index)
Object get(int index)利用方法,可以实现遍历集合,像数组一样
特有迭代器
ListIterator lit = list.listIterator()获取特有迭代器实现类对象
1. List特有迭代器ListIterator
会逆向遍历即可,但是先正向
2. ArrayList特点
2.1 自身特点必须知道
|-- 底层可变数组,默认10个,增长50%
|-- 线程不安全,速度快
|-- 查询快,增删慢
3. Vector特点
3.1 自身特点必须知道
|-- 底层可变数组,默认10个,增长100%
|-- 线程安全,速度慢
|-- 查询快,增删慢
从JDK1.2开始 Vector被ArrayList取代
4. LinkedList特点
4.1 自身特点必须知道
|-- 底层链表结构
|-- 线程不安全,速度快
|-- 查询慢,增删快
5. 泛型
5.1 JDK1.5出现安全机制,将运行时期问题,提前到了编译时期
5.2 好处:保证安全性,减少代码量,避免强转
5.3 会使用泛型的定义格式 <>
6. 增强for
6.1 JDK1.5新特性,出现目的,方便遍历
6.3 弊端就是不能操作集合或者数组内的元素
7. 可变参数
7.1 JDK1.5新特性,出现目的,参数类型一致,而个数不确定
7.2 写法是 数据类型...变量
7.3 可变参数就是一个数组,不传递长度是0
7.4 必须写在方法参数最后,一个方法只能有一个可变参数
字符串的特点
A:字符串一旦被赋值,就不能改变。
注意:这里指的是字符串的内容不能改变,而不是引用不能改变。
B:字面值作为字符串对象和通过构造方法创建对象的不同
A:判断功能
boolean equals(Object obj)
两个字符串内容是否相同
boolean equalsIgnoreCase(String str)
忽略大小写比较内容.
boolean contains(String str)
当前串是否包含str.
boolean startsWith(String str)
当前串是否以str开头
boolean endsWith(String str)
当前串是否以str结束
boolean isEmpty()
判断字符串是否为空字符序列
B:获取功能
int length()
返回字符串的长度
char charAt(int index)
将字符串指定下标处的字符返回
int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引,找不到返回—1
int indexOf(String str)
返回指定字符串在此字符串中第一次出现处的索引
int indexOf(int ch,int fromIndex)
返回指定字符在此字符串指定位置后第一次出现处的索引,
int indexOf(String str,int fromIndex)
返回指定字符串在此字符串指定位置后第一次出现处的索引,
String substring(int start)
索引开始到字符串结束截取子串.
String substring(int start,int end)
从start索引开始到end结束截取子串.
C:转换功能
byte[] getBytes()
char[] toCharArray()
static String valueOf(char[] chs)
static String valueOf(int i)
String toLowerCase()
String toUpperCase()
String concat(String str)
D:其他功能
a:替换功能
String replace(char old,char new)
String replace(String old,String new)
b:去空格功能
String trim()
c:按字典比较功能
int compareTo(String str)
int compareToIgnoreCase(String str)