字符流 字节流 多线程

发布时间 2023-12-25 22:59:33作者: Cyptals

 

  1. 字符流和字节流:

    • 字符流用于处理字符数据,每次读写一个字符,适用于文本文件。
    • 字节流用于处理字节数据,适用于二进制文件。InputStreamOutputStream 是字节流的基类。
  2. Reader 和 Writer:

    • ReaderWriter 是字符流的抽象基类。它们提供了读写字符数据的方法。
  3. OutputStreamWriter 和 InputStreamReader:

    • OutputStreamWriter 是字符流通向字节流的桥梁,将字符转换为字节。
    • InputStreamReader 是字节流通向字符流的桥梁,将字节转换为字符。
  4. 便捷流(Convenience Streams):

    • FileReaderFileWriter 是用于读写文件的便捷字符流。
    • PrintStreamPrintWriter 是便捷的输出流,用于方便地打印各种数据类型。
  5. 程序、进程和线程:

    • 程序是静态的,是一组指令,存在于硬盘上。
    • 进程是程序的一次运行,是运行中的程序。
    • 线程是进程执行过程中的分支,也称为执行路径。主线程通常是主程序的入口。
  6. Thread 类:

    • Thread 类是 Java 中用于创建线程的类。通过继承 Thread 类或实现 Runnable 接口可以创建新线程。
  7. 继承和实现:

    • 类与类之间单继承,类与接口之间多实现。
    • 继承表示 is-a 关系,实现表示 has-a 关系。
  8. 线程的启动和异常:

    • 每个线程只能启动一次,再次启动会抛出 IllegalThreadStateException 异常。
  9. 用户线程和守护线程:

    • 用户线程是默认的线程类型,主线程是用户线程。
    • 守护线程在所有用户线程结束时自动结束,用于提供服务。