Java-Review-Note 目录

Java-Review-Note 目录

标签: JavaStudy


第一节:Java基础知识

  • 1.面向过程与面向对象的对比(步骤与功能)
  • 2.Java相关名词
    • 2.1 四种技术架构
    • 2.2 Java主要优点
    • 2.3 JVM Java虚拟机(Java Vitual Machine)
    • 2.4 JRE与JDK
    • 2.5 JVM的垃圾回收机制(Garbage Collection)
    • 2.6 环境变量配置
    • 2.7 Java代码的运行原理
  • 3.基础知识
    • 3.1 运算符(算术运算符,逻辑运算符,三元运算符,位运算符)
    • 3.2 编码相关常识(原码,反码,补码,进制转换)
    • 3.3 运算符优先级
    • 3.4 数据类型(数据类型的自动转换与强转,包装类)
  • 4.常量与变量
  • 5.字符串(相关操作方法,使用正则表达式(字符串匹配,查找,替换))
  • 6.程序流程控制(if-else,switch,while,do-while,for,break,continue,return)
  • 7.数组(创建,初始化,使用,Java创建列数不同的多维数组)

第二节:面向对象

  • 1.面向对象理解
    • 1.1 对象的引入
    • 1.2 对象设计的要求(高内聚,低耦合)
    • 1.3 对象设计的思想
    • 1.4 面向对象的几个基本概念(对象,类,对象的状态行为,类的结构)
    • 1.5 面对对象的方式:ADP(分析,设计,编码)
    • 1.6 面向对象的四大特征(封装,多态,继承,抽象)
  • 2.对象
    • 2.1 如何创建对象(new + 类名)
    • 2.2 对象的产生(堆建对象->栈中创建变量引用对象地址)
    • 2.3 对象与对象的引用
    • 2.4 对象的使用
    • 2.5 对象的生命周期
    • 2.6 匿名对象的使用
  • 3.
    • 3.1 类与对象的建模过程
    • 3.2 类的定义
    • 3.3 成员变量,局部变量与类变量的区别
    • 3.4 成员变量的初始化
    • 3.5 构造方法(Constructor)
    • 3.6 构造代码块(类中定义没加static的,先于构造方法执行)
    • 3.7 普通代码块(方法或者语句中出现的代码块)
    • 3.8 静态代码块(static修饰的代码块)
    • 3.9 this关键字(区分局部/实例变量,代表本对象,显示调用重载的构造方法)
    • 3.10 成员方法
    • 3.11 public修饰类规则(一个Java文件,只允许有一个修饰为public的类,接口,枚举(enum))
    • 3.12 包的概念(package,import,导包时*只表示改成所有类,不包含子层下的类)
  • 4.继承
    • 4.1 继承的理解
    • 4.2 继承的方式(子类 extends 父类)
    • 4.3 继承的注意事项(树形,单继承,先有父亲后有儿子)
    • 4.4 子类构造对象的顺序
    • 4.5 super关键字
  • 5.多态
    • 5.1 OverLoading:编译时多态(方法重载)
    • 5.2 OverRidding:运行时多态(方法重定义/覆盖)方法重写,向上转型规则(UpCasting)
  • 6.内部类
    • 6.1 使用内部类的目的(内部类可以直接访问外部类成员与方法)
    • 6.2 成员内部类(Outer.Inner in = out.new Inner())
    • 6.3 静态内部类(Outer.Inner in = new Outer.Inner())
    • 6.4 局部内部类(存在类的某个局部,方法或者代码块,只能在方法中生成局部内部类并调用)
    • 6.5 匿名内部类(通常是隐式地继承一个父类或者实现一个接口,比如设置按钮点击事件)
  • 7.抽象类
    • 7.1 什么是抽象类
    • 7.2 抽象类与抽象方法的定义
    • 7.3 抽象类的注意事项
  • 8.接口
    • 8.1 什么是接口
    • 8.2 接口的定义(修饰符 interface 接口名 { 内容 })
    • 8.3 接口的注意事项
  • 9.修饰符详解
    • 9.1 访问控制修饰符(public,protected,default(不写默认),private)
    • 9.2 static修饰符(随类加载而加载,静态变量,静态方法,静态代码块)
    • 9.3 final修饰符(修饰常量,空白final变量,常量,修饰方法,修饰类,不涉及继承)
    • 9.4 abstract抽象修饰符
    • 9.5 transient(修饰不想序列化,持久化的成员)
    • 9.6 volatile(保证可见性和防止重排序,线程并发用到)
  • 10.枚举类型
    • 10.1 简单用法(做标记,switch时用到)
    • 10.2 自定义属性方法

第三节:异常与断言

  • 1.异常
    • 1.1 什么是异常(异常是运行时的程序出错,编译时检查的只是语法错误)
    • 1.2 为什么会出现异常
    • 1.3 异常的分类树(Throwable,两个子类:Error和Exception)
    • 1.4 常见异常信息总结表
    • 1.5 检验异常与非检验异常(RuntimeException及其子类都是非检验异常,其他异常均为检验异常,要捕获)
    • 1.6 异常的处理(捕获(try-catch-finally),声明(throws),抛出(throw))
    • 1.7 自定义异常(继承Exception或子类,使用throw抛出,对抛出异常捕获或声明)
  • 2.断言
    • 2.1 什么是断言
    • 2.2 使用断言好处
    • 2.3 断言的使用(assert 条件 或assert 条件:错误信息)
    • 2.4 断言的开启(默认关闭,使用enableassertions或-ea来启用)
    • 2.5 断言的关闭(使用disableassertions或-da来关闭)

第四节:多线程

  • 1.程序,进程,线程与多线程的理解
  • 2.线程的生命周期(新建,就绪,运行,堵塞,终止)
  • 3.创建线程的三种方式
    • 3.1 继承Thread类创建
    • 3.2 实现Runnable接口创建
    • 3.3 实现Callable泛型接口创建(CallableFutureFutureTask,可获得执行结果)
  • 4.多线程集锦
    • 4.1 线程的执行顺序(Java只保证每个线程都被启动切结束)
    • 4.2 线程的优先级(固定优先级调度算法,抢占策略,循环执行策略)
    • 4.3 Java中的线程优先级(0-10,默认5,值越大优先级越高,设置优先级只是给系统一个参考)
    • 4.4 Java中提供的进程协作相关的方法(Thread中的run(),start(),sleep(),join(),yield())
      Object中的(wait(),notify(),notifyAll();1.5新增Condition接口await(),signal(),signalAll();
      不安全不推荐的方法stop(),interrupt(),suspend()/resume())
    • 4.5 线程同步安全问题(多线程访问临界资源)
    • 4.6 如何解决线程安全问题(序列化访问临界资源->同步互斥访问->加锁)
    • 4.7 与锁相关的特殊情况:死锁饥饿活锁
    • 4.8 守护线程(setDaemon(boolean)设置,isDaemon()判断)
    • 4.9 线程并发的问题(高速缓存的引入,缓存不一致的问题)
    • 4.10 并发线程的三个概念(原子性可见性有序性)
    • 4.11 Java中对并发线程的保证(保证基本读取与负责是原子性,volatile保证可见性,8条原则先天有序性)
      8条先行发生原则(程序次序->锁定->volatile变量->传递->线程启动->线程中断->线程终结->对象终结)
    • 4.12 线程并发经典问题简介:生产者消费者问题
    • 4.13 同步容器(VectorStackHashTableCollections提供的静态工厂创建的类)
    • 4.14 并发容器(BlockingQueueBlockingDequeConcurrentMapCopyOnWriteArrayList/Set)
    • 4.15 堵塞队列(ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueueDelayQueue)
    • 4.16 线程组(ThreadGroup)
    • 4.17 线程池(不同的构造方法,类间的关系,如何创建线程池,Executors静态方法创建线程池)
    • 4.18 TimerTimerTask(延时或重复执行任务)
    • 4.19 并发辅助类(CountDownLatch计数器,CyclicBarrier回环栅栏,Semaphore信号量)
    • 4.20 ThreadLocal(线程本地存储,提供线程内的局部变量,隔离其他线程)
  • 5.细讲与代码实现
    • 5.1 synchronized同步方法或代码块
    • 5.2.Lock(锁,ReentrantLock(可重入锁,独占锁,唯一实现Lock接口的类);ReadWriteLock接口,ReentrantReadWriteLock(读写锁))
    • 5.3 锁的相关概念(可重入锁可中断锁公平锁读写锁)
    • 5.4 生产者消费者几种代码实现(synchronized + wait() + notify()实现;Lock + Condition接口的await()与signal()实现;使用堵塞队列ArrayBlockingQueue实现;)
    • 5.5 volatile关键字详解(可见性,禁止指令重排序,只能修饰成员变量!!!使用场景:
      状态量标记,双重校验锁)

MusicTime:云流れ——みかん箱 / Foxtail-Grass Studio

border="0" width="330" height="86" src="http://music.163.com/outchain/player?type=2&id=785902&auto=1&height=66">

你可能感兴趣的:(Java-Review-Note 目录)