ObjectOutputStream(OutputStream out) — 根据参数指定引用构造对象
void writeObject(Object obj) — 用于将参数指定的对象写入输出流中
void close()
java.io.ObjectInputStream 类用于将之前写入的整个对象一次性读取出来
ObjectInputStream(InputStream in) — 根据参数引用构造对象
void readObject() — 用于读取对象并返回
void close()
分享经验:
当需要向文件中写入多个对象时,建议将多个对象放入一个集合中,然后将集合看做一个整体写入文件,此时再读取文件中所有内容时,只需要读取一个集合即可。
程序 — 主要指存在放硬盘上的可执行文件,数据结构+算法;进程 — 主要指运行在内存中的程序;hread()— 无参形式构造对象;
hread(String name)— 根据指定的名称构造对象;
hread(Runnable target)— 根据接口的引用来构造对象;
hread(Runnable target, String name)— 根据引用和名称来构造对象;
oid run()— 没有使用 Runnable 接口构造的线程对象调用该方法什么都不做;
— 使用 Runnable 接口作为参数构造的线程对象调用该方法的结果就是调用 Runnable 接口中的 run() 方法
oid start()— 用于启动线程,会自动调用该线程对象中的 run() 方法。
注意:
继承的方式代码相对简单,但是 Java 语言只支持单继承,若继承 Thread 类则无法继承其他类,而实现接口的方式代码相对复杂,但不影响该类继承或实现其他类或接口,推荐第二种方式,从而提高代码的可维护性。
long getId() — 用于获取线程的编号并返回
String getName() — 用于获取线程的名称并返回
void setName(String name) — 用于设置线程的名称为参数指定的数据
static Thread currentThread() — 用于获取当前正在执行线程的引用并返回
新建状态 — 当使用 new 运算符创建出来的线程所在的状态
— 此时线程还没有开始执行
就绪状态 — 当线程对象调用 start() 方法后进入的状态
— 此时线程还没有开始执行
运行状态 — 当线程被线程调度器调度起来之后进入的状态
— 此时线程开始执行
— 当线程时间片执行完毕后任务没有完成就回到就绪状态
消亡状态 — 当时间片执行完毕任务已经完成后消亡中转台
阻塞状态 — 当线程在执行过程中发生了阻塞事件进入的状态,如 sleep() 方法
— 当阻塞事件结束后回到就绪状态