Java 集合框架详解笔记 1. HashMap 基本特性 实现方式:数组 + 链表/红黑树(JDK8+) 线程安全:非线程安全 键值对:允许null键和null值 顺序:不保证插入顺序 核心源码结构 // JDK 8+ 节点结构 static class Node<K,V> implements
Java线程详解笔记 1. 线程基本概念 1.1 什么是线程 线程:程序执行流的最小单元,是进程中的一个实体 进程 vs 线程: 进程:资源分配的基本单位,有独立的内存空间 线程:CPU调度的基本单位,共享进程资源 1.2 线程状态 public enum State { NEW,
“sleep是所有线程都会休息是吗?” 简短回答:不是。 sleep是让当前正在执行的线程暂停一段时间,其他线程不受影响。而 wait是用于线程间通信,它会释放锁,并让当前线程等待。 下面我们进行详细的对比和解释。 1. Thread.sleep() 作用对象:当前执行的线程。哪个线程调用了 sle
Java I/O流、字符流与序列化详解 一、字节流 (Byte Streams) 1.1 基本概念 字节流用于处理二进制数据,以字节为单位进行读写操作。 1.2 主要类结构 InputStream (抽象类) ├── FileInputStream ├── ByteArrayInputStream
Java字符串与字节转换学习笔记 📝 问题记录与深度解析 问题1:为什么Unicode可以到125以上,Byte不是只能-127~127吗? 🔍 问题本质 混淆概念:字符编码值 vs Java字节数据类型范围 核心疑惑:单个字节范围有限,如何表示大数值的Unicode字符 💡 根本原因解析 1
一、Java IO 文件流 1. 文件流基础概念 文件流是用于读写文件数据的流,主要分为字节流和字符流。 字节流类体系 InputStream (抽象类) ├── FileInputStream (文件字节输入流) ├── FilterInputStream └── ObjectInputStrea
Java 泛型擦拭法 1. 什么是擦拭法 Java 泛型是通过类型擦拭(Type Erasure) 来实现的,这意味着在编译期间,所有的泛型类型信息都会被移除(擦拭),替换为它们的边界类型(未指定边界时使用 Object)。 // 编译前 List<String> list = new ArrayL
Java时间戳与日期类详解 1. 时间戳 (Timestamp) 什么是时间戳 时间戳是指从1970年1月1日00:00:00 GMT开始到现在的总毫秒数,也称为Unix时间戳。 获取时间戳的方法 // 方法1: System.currentTimeMillis() - 最常用 long times