上一页 1 2 3 4 5 6 ··· 26 下一页
摘要: 什么是 BIO BIO 是同步阻塞式 IO,JDK1.4 之前的 IO 模型。 服务器实现模式为一个连接请求对应一个线程,服务器需要为每一个客户端请求创建一个线程,如果这个连接不做任何事会造成不必要的线程开销。 可以通过线程池改善,这种 IO 称为伪异步 IO。 适用连接数目少且服务器资源多的场景。 阅读全文
posted @ 2022-05-22 23:55 张三丰学Java 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 同步和异步是通信机制,阻塞和非阻塞是调用状态。 同步 IO 是用户线程发起 IO 请求后需要等待或轮询内核 IO 操作完成后才能继续执行。 异步 IO 是用户线程发起 IO 请求后可以继续执行,当内核 IO 操作完成后会通知用户线程,或调用用户线程注册的回调函数。 阻塞 IO 是 IO 操作需要彻底 阅读全文
posted @ 2022-05-22 22:45 张三丰学Java 阅读(77) 评论(0) 推荐(0) 编辑
摘要: JDK8 之前底层实现是数组 + 链表,JDK8 改为数组 + 链表/红黑树,节点类型从Entry 变更为 Node。 主要成员变量包括存储数据的 table 数组、元素数量 size、加载因子 loadFactor。 table 数组记录 HashMap 的数据,每个下标对应一条链表,所有哈希冲突 阅读全文
posted @ 2022-05-20 15:46 张三丰学Java 阅读(250) 评论(0) 推荐(0) 编辑
摘要: TreeMap 基于红黑树实现,增删改查的平均和最差时间复杂度均为 O(logn) ,最大特点是 Key 有序。 Key 必须实现 Comparable 接口或提供的 Comparator 比较器,所以 Key 不允许为 null。 HashMap 依靠 hashCode 和 equals 去重,而 阅读全文
posted @ 2022-05-19 11:22 张三丰学Java 阅读(356) 评论(0) 推荐(0) 编辑
摘要: Set 不允许元素重复且无序,常用实现有 HashSet、LinkedHashSet 和 TreeSet。 HashSet HashSet 通过 HashMap 实现,HashMap 的 Key 即 HashSet 存储的元素,所有 Key 都使用相同的 Value ,一个名为 PRESENT 的 阅读全文
posted @ 2022-05-16 15:16 张三丰学Java 阅读(95) 评论(0) 推荐(0) 编辑
摘要: LinkedList 本质是双向链表,与 ArrayList 相比插入和删除速度更快,但随机访问元素很慢。 除继承 AbstractList 外还实现了 Deque 接口,这个接口具有队列和栈的性质。 成员变量都被 transient 修饰,原理和 ArrayList 类似。 LinkedList 阅读全文
posted @ 2022-05-16 15:08 张三丰学Java 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 特点 ArrayList 是容量可变的非线程安全列表,使用数组实现,集合扩容时会创建更大的数组,把原有数组复制到新数组。 // 新容量扩大到原容量的大约1.5倍,右移一位相当于原数值除以2,扩容并不是严格的1.5位 int newCapacity = oldCapacity + (oldCapaci 阅读全文
posted @ 2022-05-16 14:42 张三丰学Java 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 在(静态)代码块中可以使用(静态)变量,但是被使用的(静态)变量必须在(静态)代码块前面声明。 父类静态代码块和静态变量(先声明的先执行) 子类静态代码块和静态变量(先声明的先执行) 父类普通代码块和普通变量(先声明的先执行) 父类构造方法。 子类普通代码块和普通变量(先声明的先执行) 子类构造方法 阅读全文
posted @ 2022-05-16 14:09 张三丰学Java 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 接口和抽象类对实体类进行更高层次的抽象,仅定义公共行为和特征。 语法维度 抽象类 接口 成员变量 无特殊要求 默认 public static final 常量 构造方法 有构造方法,不能实例化 没有构造方法,不能实例化 方法 抽象类可以没有抽象方法,但有抽象方法一定是抽象类。 默认 public 阅读全文
posted @ 2022-05-16 11:32 张三丰学Java 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 访问权限控制符 本类 包内 包外子类 任何地方 public √ √ √ √ protected √ √ √ × 无 √ √ × × private √ × × × protected 基类的 protected 成员是包内可见的,并且对子类可见; 若子类与基类不在同一包中,那么在子类中,子类实例可 阅读全文
posted @ 2022-05-16 11:30 张三丰学Java 阅读(15) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 26 下一页