任何数据结构的构造或初始化,都应指定大小,避免数据结构无限增长吃光内存【示例】

正确示例:指定初始容量

java 复制代码
// ArrayList - 指定初始大小
List<String> list = new ArrayList<>(1000); // 预计存储1000个元素

// HashMap - 指定初始容量和负载因子
Map<String, User> map = new HashMap<>(500, 0.75f); // 初始500,负载因子0.75

// StringBuilder - 指定初始缓冲区大小
StringBuilder sb = new StringBuilder(1024); // 预分配1KB空间

错误示例:未指定大小

java 复制代码
List<String> list = new ArrayList<>(); // 默认容量10,频繁扩容
Map<String, User> map = new HashMap<>(); // 默认16,可能快速扩容
StringBuilder sb = new StringBuilder(); // 默认16,频繁扩容复制

后果: 未指定大小时,数据结构会频繁自动扩容(2倍增长),产生大量内存复制和碎片,严重时耗尽内存。

相关推荐
222you6 分钟前
Redis的主从复制和哨兵机制
java·开发语言
铉铉这波能秀9 分钟前
LeetCode Hot100数据结构背景知识之集合(Set)Python2026新版
数据结构·python·算法·leetcode·哈希算法
江湖有缘10 分钟前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
踢足球092912 分钟前
寒假打卡:2026-2-8
数据结构·算法
chilavert31815 分钟前
技术演进中的开发沉思-357:重排序(下)
java·后端
Boop_wu21 分钟前
Spring生态
java·后端·spring
jzheng861023 分钟前
Spring Boot(快速上手)
java·spring boot·后端
wgslucky23 分钟前
SpringBoot解决Request和Response的内容多次读取的问题
java·spring boot·多次读取request数据
老赵说34 分钟前
Java基础数据结构全面解析与实战指南:从小白到高手的通关秘籍
数据结构
Sylvia-girl39 分钟前
IO流~~
java·开发语言