缓冲流 集合 类和类的关系。。。
MVC分层架构设计思想
线程
String家族
StringBuilder StringBuffer
集合家族
ArrayList Vector
HashMap HashTable
程序
可以理解为是一组静态的代码
进程
正在进行的程序 静态的代码 运行起来
线程
正在执行程序中的小单元
聚餐
聚餐之前 班级大扫除
扫除需要分配任务 任务写在纸上 列一个清单
一声令下 开始扫除 进程
每一个同学都做自己的事情 并发执行 互相不影响
1.主线程 系统线程
2.用户线程 main
3.守护线程(精灵) GC
线程------操作系统级别 CPU
如何在Java中创建线程 让线程执行 多线程
掌握每一个线程的几种不同状态 及状态之间如何切换
new start() CPU分配run() wait() exception over
创建线程------就绪状态------执行状态------等待/挂起------异常/消亡
| |
|______________________________|
notify/notifyAll
实现线程的过程
1.自己描述一个类
2.继承父类Thread
3.重写run方法
4.new一个线程对象 调用start()方法 让线程进入就绪状态
实现线程的过程
1.自己描述一个类
2.实现一个父接口Runnable
3.重写run方法
4.new一个线程对象 需要创建Thread将自己的对象包起来 然后调用start()
实现一个跑步的小例子
多个人同时跑步
苏炳添 博尔特 加特林
思考题--->扩展
字节型文件输入流
FileInputStream
read() read(byte[]) close() avaialbe()
skip(long count)
文件 100字节 5个线程对象 同时读
1从头--20 2跳过20读--40 3跳过40--60
微信抢红包例子
发送红包 5块钱 10个红包 随机(保证10个人都有 至少0.01) 集合里
多个线程 抢红包
Java中 继承 单继承
extends
Person extends Animal
模拟一个火车站售票小例子
1.车票 2.系统12306 3.窗口window 多线程
车票
属性
起始站
终点站
票价
系统
属性
集合
方法
窗口
是一个线程
利用Vector集合 集合本身就是线程安全
1.如何切换线程的不同状态
2.如果在设计中没有集合 我们自己想要控制线程安全