【自用】java复习笔记2

本文涵盖了Java中的关键概念,包括多线程的创建与状态,如继承Thread类和实现Runnable接口,线程同步的机制如synchronized和Lock,以及IO流的分类和用法,如字节流、字符流和缓冲流。此外,还讨论了集合框架中的List、Set和Map接口的实现,如ArrayList和HashMap。最后提及了基础的网络编程概念,如TCP和UDP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刷新页面:fn+f5

搜狗输入法取消当前的输入快捷键:Esc

java复习

多线程

  1. 进程和线程
  2. run,start()
  3. 线程的两种创建方式
    在这里插入图片描述

3.1 继承Thread类
3.2 实现Runnable接口
    函数式接口,lambda表达式简化
在这里插入图片描述

3.3 静态代理
    new Thread(Runnable).start();
在这里插入图片描述

3.4 Lambda表达式
    函数式编程
    避免内部类定义过多
    new Thread(()->{
    System.out.println();
    }).start();
    手动推导一遍lambda表达式
3.5 线程的状态
    新建状态、就绪、运行、阻塞、死亡
在这里插入图片描述

3.6 常用的方法
在这里插入图片描述
在这里插入图片描述

    sleep,休眠
    join,插队
    yield,礼让
    isAlive,判断线程是否存活
    start,启动线程
    getPriority,获取优先级
3.7 线程同步
在这里插入图片描述

    多个线程操作同一个资源,并发
    队列+锁
    Synchronize
        同步方法 弊端:锁太多了
        同步代码块(常用!)
        第一个线程进来拿到锁,后面就要排队了,直到这个人释放锁,后面拿到锁才能进去
        死锁:两个人都抱着对方的锁
            互斥
            请求与保持
            不可剥夺条件
            循环等待
    Lock
        reentrantLock
            lock
            trylock
            unlock

IO流

  1. 字节流
    1.1 输入流:OutputStream
    1.2 输出流:InputStream
    在这里插入图片描述

  2. 字符流
    2.1 Reader
    2.2 Writer
    在这里插入图片描述

  3. 节点流
    FileInputStream/FileOutputStream:用于读写文件的字节流
    CharArrayReader/CharArrayWriter:用于读写字符数组的流
    StringReader/StringWriter:用于读写字符串的流。
    PipedInputStream/PipedOutputStream:用于线程间通信的流,管道流pipe

  4. 处理流,增加了缓冲区的功能,从而提高读写文件的速度
    4.1 buffer
            bufferInputStream
            bufferOutputStream
            bufferReader
            bufferWriter
    4.2 data,将基本数据类型和字符串数据读入或写出文件中,InputStream、OutputStream只允许读取、写入字节
            DataInputStream
            DataOutputStream
    常用方法:
    readInt():以字节形式读取一个整数。
    readDouble():以字节形式读取一个双精度浮点数。
    readChar():以字节形式读取一个字符。
    readUTF():以字节形式读取一个 UTF 字符串。

    writeInt():以字节形式写入一个整数。
    writeDouble(double d) - 写一个双精度数据
    writeChar(int b) - 写一个字符数据
    writeUTF(String str) - 写一个Unicode字符串数据
    在这里插入图片描述

4.3 转换流
        InputStreamReader,读取字符流并将其作为字节流处理
        OutputStreamWriter,将字符输出流转换为字节输出流并写入文件
4.4 Filter,用来包装一个已有的流并向其提供过滤功能的
过滤功能是指在数据流传输的过程中,通过一定的方式修改传输的数据。
        FilterInputStream
        FilterOutputStream
        FilterReader
        FilterWriter
4.5 print
        PrintWriter
        PrintStream
在这里插入图片描述

集合框架

  1. Collection
    Iterator< E > iterator(): 返回一个迭代器,用于遍历集合中的元素
    1.1 List,列表,有序可重复
            ArrayList
                  add
                  remove
                 contains
                  size
            LinkedList,链表
                  getFirst()
                  getLast()
                  removeFirst()
                  addFirst()
    1.2 Set,集合,无序不可重复
            HashSet
            TreeSet
    1.3 Vector
    1.4 Stack

  2. Map
            2.1 HashMap,键值对形式,hash表=数组+链表+红黑树
            2.2 TreeMap
    在这里插入图片描述
    merge()方法使用在这里插入图片描述

  3. Collection工具类

  4. 泛型,<>约束,避免类型转换之间的问题

网络编程

  1. IP
  2. 端口
  3. Socket编程
  4. TCP,三次握手,四次挥手,面向连接
  5. UDP,无连接,Packet
  6. URL

实现了客户端向服务端发送三角形三边长,服务端计算三角形面积并将结果发送回客户端。

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值