
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
方式是否返回值是否抛异常是否可继承其他类使用场景Thread❌❌❌简单演示Runnable❌❌✅大多数并发任务Callable✅✅✅需要返回结果的任务在枚举里确实只有RUNNABLE而没有RUNNING,这并不是遗漏,而是有意为之Java 把“正在 CPU 上跑”和“可跑但还没分到 CPU”这两件事合并成了同一个状态:RUNNABLE。
共享仓库生产者 & 消费者线程启动演示运行示例要点说明保证仓库操作原子性while 而非 if防止虚假唤醒避免生产者/消费者互相饿死用if替代while→ 假醒导致越界。忘记notifyAll→ 死锁。公共仓库(线程安全)运行效果类/方法作用自带机制,无需手写 wait/notifyput()队列满时自动阻塞生产者take()队列空时自动阻塞消费者线程名方便 jstack 定位。
写法锁对象适用场景粒度同步实例方法this保护实例变量粗同步静态方法Class<?保护静态变量粗同步代码块(this)this与同步实例方法等价中同步代码块(任意对象)任意对象细粒度锁、减少竞争细。
功能示例增删查遍历转数组批量操作retainAll() 交集 / removeAll() 差集。
ArrayList就是 Java 集合框架里最常用的,查询快、增删慢(中间位置)、自动扩容、非线程安全。
HashMap,key 唯一、value 可重复、允许 null key/value,,增删查平均。
HashSet,特点:无序、不可重复、允许 null增删查平均。
ArrayList本身,但借助可以搞定,同时保序/不保序任选。
/ 1. 继承 Exception 或 RuntimeException// 2. 使用if (score < 0 || score > 100) throw new ScoreException("分数非法");业务语义更清晰,上层可精准 catch(ScoreException)。
记住口诀:“先分字节/字符,再分输入/输出,最后看是否带缓冲/转换/对象。”10 段必会代码文件复制(裸字节流)加缓冲 → 提速 5~10 倍逐行读文本(最常用)指定编码读写 → 避免中文乱码控制台输入(JDK 8 前写法)对象序列化 → 写对象到文件反序列化 → 读对象批量序列化集合打印流 → 方便写文本/控制台随机读写文件(Seek 任意位置)易错点提醒字符流默认用 系统编码,跨平







