多线程 & 反射 & 注解 & JDBC 核心点总结

多线程

核心点:线程安全

  • 创建线程的两种方式
  • 线程生命周期
  • 获取、修改线程名
  • 获取当前线程对象
  • 静态方法 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(监测是否是重写父类的方法)
  • 元注解:注解注解的注解(用在注解的上面)

需掌握的四个注解:(两个官方注解,两个元注解)

  1. @Override 监测是否是重写父类的方法
  2. @Deprecated 已过时的;不建议使用的
  3. @Targer 元注解,用来标注”被标注的注解“可以出现的位置,如方法、类、属性上等...
  4. @Retention 元注解,用来标注”被标注的注解“最终保存的位置,如源文件、字节码文件中等...

自定义注解:

  1. 自定义属性时,没赋默认值的话,使用的时候必须手动给属性进行赋值
  2. 赋默认值的属性,使用的时候可以不写
  3. 如果一个注解的属性名是value,并且只有一个属性的话,使用的时候,value可省略不写
  4. 注解当中的类型可以有哪些?
    byte、short、int、long、float、double、boolean、char、String、Class、枚举类型
    以及以上所列的每一种的数组形式。
  5. 使用时,如果某属性是一个数组,并且数组中只有一个元素,则 {} 可以省略
  6. 通过反射机制读取类上面的注解对象以及属性值

JDBC

  • jdbc 本质理解:针对 msql 的一套接口实现类库,实现 java 连接数据库;需要手动添加进项目进行使用(mysql、oracle,sql server 都有自己的一套类库,可在各自的官网下载)
  • jdbc 编程六步【掌握】
  • 类加载方式注册驱动
  • 属性文件中读取配置信息 Driver、url、username、password
  • PowerDesigher 设计表以及导出表
  • 了解并解决 SQL注入现象
  • Statement 和 PreparedStatement 实现数据库数据增删改查【核心】
  • jdbc 中事务控制
  • 了解悲观锁/行级锁和乐观锁(了解行级锁的使用)
  • jdbc 工具类封装(获取连接和释放资源)
posted @ 2022-11-01 22:43  luis林  阅读(125)  评论(0编辑  收藏  举报