Spring

第一章

1.jdk jre jvm javaSDK 的区别

2.什么是反射

JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。

3.Java常用指令

第二章

1.常见数据类型

2.变量和常量

3.变量的作用域

全局变量使用前可以不初始化(将会是默认值),局部变量使用时必须初始化

4.基本类型和引用类型

5.类型转换

自动类型转换,强制类型转换(有风险)

6.操作符

(条件)?(如果成功):(如果失败)

7.运算符优先级:

优先级(由高到低) | 运算符 — | — 分隔符 | . [] () {} , ; 一元运算 | ++ – ! ~ 强制类型转换 | (type) 乘、除、取余 | * / % 加、减 | + - 位移运算符 | » »> « 关系大小预算符 | > < >= <= 等价运算符 | == != 按位与 | & 按位异或 | ^ 按位或 | || 逻辑与 | & 逻辑或 | ||| 三元运算符 | ? : 赋值运算符 |= += *= ?= ^= &= |= «= »= »>=

8.流程控制

  1. 分支结构 if else
  2. 循环结构 for while do…while;
  3. 选择结构 switch(){case : … break;case: …break;defult:…} jdk7之后,可用枚举或字符串

9.数组,二维数组,数组遍历

10.值传递和引用传递

第三章 面向对象

1.常用类

1.接口与的继承

2.this , super

3.封装中public pravite procteced default

4.String常量池,拼接字符串

5.static final

6.String类常用方法(查阅帮助文档)有几个构造方法,多少个方法和功能

StringBuffer 字符串缓冲区,初始为16位。

常用的类,如Math,Date (查看帮助文档)

日期格式化DateFormat

2.类与类之间的关系

1.类在Java之间是单继承(与C++有区别)

2.方法的重写(在父类与子类之间)

3.super,this,super(),this()的用法。

4.final 不可更改变的,最终的。

5.static 静态

第四章 异常处理

1.Throwable类

image

2.错误Error

一般指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这些错误无法恢复或捕获,将导致应用程序中断;

3.异常Exception

因程序编码错误或外在因素导致的问题,这些问题能够被系统捕获并进行处理,从而避免应用程序非正常中断,例如:除以0、对负数开平方根、空指针访问等

  1. 异常的分类
    • 非检查型异常:编译器不要求强制处置的异常,该异常是因编码或设计不当导致的,这种异常可以避免,RuntimeException及其所有子类都属于非检查型异常
    • 检查型异常:编译器要求及其子类(RuntimeException及其子类除外)都属于检查型异常必须处理的异常,该异常是程序运行时因外界因素而导致的,Exception image

4.异常处理

  1. try{}catch{}…catch{}finally{} :捕获异常
  2. throws :发送一个异常的抛出声明(抛出异常序列)
  3. throw : 抛出异常

第五章集合和泛型

一、集合

1.Collection

image -可用迭代器 -可转数组 -add()放数据

  1. Set 元素是无序的,且不可以重复(重复会覆盖掉)
    • 遍历使用forEach或Itretor
  2. 有序的如List可以使用三种遍历方式

2.Map<K,V> : 键值对

二、泛型

  1. “泛”对于通用类型比Object的好处是简洁不需要强转。
  2. 通配符:是由“?”来表示一个未知类型,从而解决类型被限制、不能动态根据实例进行确定的缺点。
  3. 有界类型
    • 使用extends关键字声明类型参数的上界; 使用extends关键字可以指定类型参数的上界,限制此类型参数必须继承 自指定的父类或父类本身。被指定的父类则称为类型参数的“上界(upper bound)”。 —
    • 使用super关键字声明类型参数的下界。 使用super关键字可以指定类型参数的下界,限制此类型参数必须是指定的类型本身或其父类,直至Object类。被指定的类则称为类型参数的“下界(lower bound)”
  4. 泛型的限制 java的泛型会在编译时擦除,于是泛型的使用必须有限制
    • 泛型的类型只能是类类型,不能是简单类型。
    • 不同泛型的实例是不兼容的,如“Generic”与“Generic”的实例不兼容
    • 定义泛型时,类型参数只是占位符,不能直接实例化,
      例如:“new T()”是错误的;
      
    • 不能实例化泛型数组,除非是无上界的类型通配符
例如:“Generic<String> []a = new Generic<String> [10]”是错误的,
而“Generic<?> []a = new Generic<?> [10]”是被允许的

第五章 JDBC编程

JDBC简介

  1. JDBC访问不同的数据库时,需要数据库厂商提供相应的驱动程序
  2. 完成的工作:
    • 建立数据库连接
    • 执行SQL语句
    • 获取执行结果

JDBC工具类

第六章 线程

实现Thread

继承Runnable

Callable

Future

线程的生命周期

状态切换: 线程生命周期(状态切换)

有三种方法可以使终止线程。

  1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。
  2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。
  3. 使用interrupt方法中断线程。

join()

线程的优先级

线程的同步(保证某一时刻只由一个线程访问)

  1. 同步代码块
  2. 同步方法
  3. 同步锁
    • 定义一个ReentrantLock的对象,进行加锁和释放锁

####