Java核心
多线程
- 并发、多线程机制:程序同时完成多件事情
- Thread类继承方式使用
- Runnable接口使用
- 线程的生命周期
- 出生
- 创建new Thread()
- 就绪
- t.start()
- 运行
- 等待
- 休眠
- 阻塞
- 死亡
线程同步
- 线程安全
- HashMap线程不安全 异步的
- currentHashmap可解决
- HashTable线程安全 同步的
- 线程同步机制
- 同步块
- synchronized(object){ //访问资源的代码块}
- 同步方法
- 在方法前加上修饰synchronized void 份(){//访问资源的代码}
- 同步块
网络编程
- 应用层
- TCP/IP协议
- 传输层
- 互联网层
- 网络层
- TCP、UDP协议
- TCP固接连接为基础
- socket类编程
- inteAddress类
- ServerSocket类
- 服务器套接字,等待来自网络上的请求
- 聊天室
- UDP无连接的通信协议
- 发送端
- DatagramSocket创建套接字
- DatagramPacket创建数据包
- send
- 接收端
- DatagramSocket创建套接字,接收端口
- DatagramPacket创建字节组,接收数据包
- receive
- 不断广播,同组的主机可随时接收数据包
- 224.0.0.0~224.255.255.255
- 端口、套接字
- 端口
- 提供多种服务
- 套接字Socket
- 将应用程序与端口连接起来
- 端口
集合类
- Collection
- List集合
- ArrayList 异步的 动态数组
- LinkedList
- 方法
- get
- set
- Set集合
- HashSet
- TreeSet
- 元素不可重复
- 方法
- 添加 add
- 删除 remove
- 查找
- 遍历
- 迭代器iterator()
- List集合
Map集合
- Hashmap
- 效率更高
- hash表实现
- 异步的,线程不安全
- 可接受空值null
- TreeMap
- 存在映射顺序
- Map中的key对象有一定顺序
- 顺序输出时转换为Treemap
- 方法
- put(key,value)添加
- 是否包含containsKey(key)
- get(key)返回指定可以的内容
- keyset返回所有key的set集合
- values值对象的collection集合
- Hashmap
Dictionary类
- HashTable
- 同步的,保证线程安全
- 不能为空值
- Vector类
- 动态数组
- 同步的,线程安全的
- 单独的方法操作上是安全的
- 方法都使用了synchronized修饰
- 序列化
- 底层实现与ArrayList类似
JVM相关
- 内存分配
- 堆-分配对象
- 栈-线程的工作空间
- 方法区-静态方法,变量,常量池
- 操作计数器
- 垃圾回收机制
异常处理
- 异常类
- 当某个方法出现异常会创建一个异常对象
- 处理异常
- 当前方法中处理
- 向上抛出异常
- 捕捉异常
- try{}catch(Exceptiontype e){}
- try中有异常,则后面的不会执行
- catch后面的继续执行
- 自定义异常
- throw抛出异常
- throws抛出的错误信息
- 运行时异常
- Throwable类的子类
- 常见异常
- 类型转换异常
- 未找到相应类异常‘’
- 算数异常
- 数组下标越界异常
- 数组包含不兼容的值
- 操作数据库异常
- 空指针异常
- 字段未找到、方法未找到
- 字符串转数字异常
- 数组元素个数为负数异常
- 字符串索引异常
- IO异常
- 不允许访问某类异常
- newInstance创建实例,但类不允许实例化
- 文件已结束、文件未找到异常
枚举类型与泛型
- 枚举类型
- 将常量封装在类中或接口中,编译时检查
- 常量放在枚举类型中enum
- 优点
- 类型安全
- 紧凑有效的数据定义
- 可以和程序其他部分完美交互
- 运行效率高
- 泛型
- 解决类型安全问题,提供编译时安全检查
- 总结
- 泛型的参数必须是类类型,不可以是简单类型
- 参数可有多个
- 可使用extends限制泛型的类型
- 可使用通配符限定泛型的类型
输入输出
- 字节输入输出流
- InputStream
- 字节输入流
- Reader类
- FileReader
- OutputStream
- Writer类
- FileWriter
- 文件输入输出流
- File类
- 获取文件基本信息
- FileInputStream文件输入
- FileoutputStream文件输出
- 缓存区输入输出
- BufferedInputStream
- BufferedReader
- BufferedOutputStream
- BufferedWriter
- 缓存是IO的性能优化
- 数据输入输出流
- DataInputStream
- DataOutputStream
- 不必关心数据类型
- ZIP压缩输入输出流
- ZipEntry类
- ZipInpuStream
- ZipOutputStream
数据库操作
- JDBC
- java.sql
- connection接口
- Statement接口
- preparedstatement
- drivermanager
- resultset
- 特点
- 安全性控制
- 并发控制
- 完整性控制
- 故障的发现和恢复
- SQL语言
- 数据定义
- create、alter
- 数据操纵
- select、insert、
- 数据控制
- grant、revoke
- 事务控制
- commit、rollback
- 数据定义