多线程
核心点:线程安全
- 创建线程的两种方式
 - 线程生命周期
 - 获取、修改线程名
 - 获取当前线程对象
 - 静态方法 sleep()
 - 通过异常终止线程的睡眠 interrupt()
 - 强行终止线程
 - 合理终止线程的方式
 - 了解(静态方法,让位 yield();实例方法 join(),合并线程)
 - 线程安全
 - 同步异步
 - 线程安全之账户取款
 - 同步代码块
 - 守护线程
 - 定时器
 - 实现线程的第三种方式:FutureTask 方式,实现 Callable 接口(JDK8 新特性)
 - 关于 Object 类中的 wait() 和 notify(),生产者和消费者模式
 
反射
核心点:怎么通过反射获取修改类的属性以及调用方法
- 获取 Class 的三种方式【掌握】
 - 利用反射机制通过配置文件实例化对象(不创建流和获取绝对路径,直接以流的形式返回,进行 load(流))
 - Class.forName(完整类名) 会导致类加载,实现只让静态代码块执行(jdbc 中会用到)
 - 获取类路径(项目 src 下文件夹)下文件的绝对路径通用方式
 - 使用资源绑定器代替 IO+Properties 获取属性配置文件
 
反射机制必须掌握:Method > Field > Constructor
- 通过反射机制调用对象的方法【必须掌握 must be !】
 - 通过反射机制获取和修改对象的属性
 - 通过反射机制调用对象的构造方法创建对象
 - 通过反射获取指定类的父类以及实现的接口
 - 获取Class的三种方式
 
注解
- 官方的两个注解:@Deprecated (已过时的),@Override(监测是否是重写父类的方法)
 - 元注解:注解注解的注解(用在注解的上面)
 
需掌握的四个注解:(两个官方注解,两个元注解)
- @Override 监测是否是重写父类的方法
 - @Deprecated 已过时的;不建议使用的
 - @Targer 元注解,用来标注”被标注的注解“可以出现的位置,如方法、类、属性上等...
 - @Retention 元注解,用来标注”被标注的注解“最终保存的位置,如源文件、字节码文件中等...
 
自定义注解:
- 自定义属性时,没赋默认值的话,使用的时候必须手动给属性进行赋值
 - 赋默认值的属性,使用的时候可以不写
 - 如果一个注解的属性名是value,并且只有一个属性的话,使用的时候,value可省略不写
 - 注解当中的类型可以有哪些?
byte、short、int、long、float、double、boolean、char、String、Class、枚举类型
以及以上所列的每一种的数组形式。 - 使用时,如果某属性是一个数组,并且数组中只有一个元素,则 {} 可以省略
 - 通过反射机制读取类上面的注解对象以及属性值
 
JDBC
- jdbc 本质理解:针对 msql 的一套接口实现类库,实现 java 连接数据库;需要手动添加进项目进行使用(mysql、oracle,sql server 都有自己的一套类库,可在各自的官网下载)
 - jdbc 编程六步【掌握】
 - 类加载方式注册驱动
 - 属性文件中读取配置信息 Driver、url、username、password
 - power" target="_blank">PowerDesigher 设计表以及导出表
 - 了解并解决 SQL注入现象
 - Statement 和 PreparedStatement 实现数据库数据增删改查【核心】
 - jdbc 中事务控制
 - 了解悲观锁/行级锁和乐观锁(了解行级锁的使用)
 - jdbc 工具类封装(获取连接和释放资源)