java
- 单例模式
- 继承
- 多态
- 抽象类
- 接口
- 内部类
- 枚举
- 泛型
- 常用API
- Lambda表达式 (代替匿名内部类)
- Collection集合
- Map集合
- Stream流
- File和IO流
- 方法递归(算法)
- java代码的编码和解码
- IO流的分类
- 日志技术
- 多线程
- 网络编程
- 反射
- 注解
单例模式
定义和写法:
饿汉式单例模式:
用Java实现(拿到对象,对象就创建好了)
懒汉式单例模式:
(拿对象时,才创建对象.再拿对象,拿的是同一个对象)
使用Java实现懒汉式单例模式
继承
方法重写
重写toString方法
子类访问成员的特点
this()调用兄弟构造器
多态
解决办法:强制转换
final关键字
抽象类
模板方法设计模式
模板方法sing()前面要加上final关键字,把该方法固定,防止被子类重写,这样才是标准的模板方法
接口
接口新增的三种方法
接口可以实现多继承,但有一些注意事项
内部类
四种内部类
成员内部类(了解)
静态内部类(了解)
局部内部类(了解)
匿名内部类(重要)
枚举
泛型
泛型类
泛型接口
泛型方法
泛型的擦除问题和注意事项
常用API
Object类
Objects类
包装类
自动装箱,自动拆箱
包装类的其他操作(toString)
StringBuilder
StringBuilder,StringBuffer的区别
StringJoiner
Lambda表达式 (代替匿名内部类)
Collection集合
使用 迭代器 遍历collection集合
使用 增强for循环 遍历collection集合
使用lamada表达式 遍历collection集合
List集合 遍历
ArrayList的底层原理(查询快,增删慢,根据索引查询)
ArrayList基于数组实现
ArrayList自动扩容
LinkedList集合的底层原理(查询慢,增删快,查询要从头开始找)
链表增加元素
链表删除元素
单向链表和双向链表
LinkedList集合特有的方法
LinkedList常用的场景
set系列集合
三类set集合的特点(TreeSet集合里面的元素默认升序排序)
HashSet集合的底层原理
树
HashSet集合 去重
TreeSet集合
Collection总结
可变参数
Collections工具类
Map集合
Map集合的常用方法
使用Lamada表达式遍历Map集合
HashMap集合的底层原理
用键(key)的值计算哈希值
LinkedMap集合的底层原理
TreeMap集合的底层原理
Stream流
Stream流的介绍
Sream流常见的中间方法
### Stream流常见的终结方法
把流收集到数组里面
File和IO流
File提供的常用Api
遍历File的两种方法
方法递归(算法)
方法递归三要素
第一步:找到递归公式
第二步:找到递归的终结点
第三步:递归的方向必须走向终结点
java代码的编码和解码
IO流的分类
FileInputStream一次性读取文件所有字节
FileOutputStream
释放资源对的方式
方法一try…catch…finally
示例
方法二try…with…resource
示例
FileReader(文件字符输入流)
FileWriter(文件字符输出流)
FileWriter注意事项
字节缓冲流
字节缓冲流的作用
字符缓冲流的作用
BufferedReader字符缓冲输入流
BufferedWriter字符缓冲输出流
转换流
InputStreamReader字符输入转换流
OutputStreamWriter字符输出转换流
打印流
PrintStream字节打印流
PrintWriter字符打印流
两种打印流的区别
打印流重定向
数据输出流DataOutputStream
数据输入流DataInputStream
序列化流
对象的属性加上transient,表明该对象不参与序列化
IO框架
Properties文件
XML的语法规则
Dom4j解析XML文件
日志技术
日志框架
多线程
线程的定义
多线程的定义
●多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)。
创建线程的方式一
创建线程的方式二
创建线程的方式三
创建线程的方式四
使用线程池,例如用Executor框架创建线程:简化并发编程,有助于避免this逃逸问题;
Thread提供的Api
线程安全
实现线程同步:加锁
线程同步方式一:同步代码块
线程同步方式二:同步方法
线程同步方式三:加Lock锁
线程通信
线程池
ThreadPoolExecutor创建线程池的七个参数
Executors工具类
线程的生命周期
线程状态(六种)
网络编程
java提供的InetAddress类
端口
TCP和UDP协议
UDP通信
TCP通信
TCP通信之客户端开发
TCP通信之服务端开发
反射
如何获取Class对象(.class对象)
获取Class的构造器