One Trick Per Day

简介: 初始化Map时应避免直接指定容量,建议使用Guava的`Maps.newHashMapWithExpectedSize()`或手动计算初始容量(如:目标大小 / 0.75 + 1),以防扩容开销。禁止使用Executors创建线程池,因其默认队列无界或线程数无限制,易引发OOM。推荐通过ThreadPoolExecutor显式构造,控制资源使用。

1.初始化Map大小并非用多少指定多少
● 初始化Map并非用多少初始化Size是多少,建议使用Guava,避免扩容引起的动荡()
说明
● 如:Map map = new HashMap<>(1); 在具体使用时,并非size=1,而是最近的2的幂等,如1实际是2,3实际是4,9实际是16
使用方法
● 依赖gvaua:Map map = Maps.newHashMapWithExpectedSize(7);


com.google.guava
guava
17.0

● 手动声明:Map map = new HashMap<>(实际存储个数 / 0.75 + 1);
2.线程池初始化严禁使用Executors
使用线程池时候,我们可能会使用下面四个场景,这在alibaba代码规范中都是明令禁止的Java运行代码
我们知道了 Executors 创建的线程池存在 OOM 的风险,那么到底是什么原因导致的呢?我们需要深入 Executors 的源码来分析一下。其实,在上面的报错信息中,我们是可以看出蛛丝马迹的,在以上的代码中其实已经说了,真正的导致 OOM 的其实是 LinkedBlockingQueue.offer 方法。

相关文章
|
26天前
|
存储 网络协议 Linux
零拷贝
实现文件传输时,若采用传统read/write方式,每32KB需两次系统调用,引发4次上下文切换,1万次共4万次切换,性能低下。主因是频繁的用户态与内核态切换开销大,且数据需经内存缓冲中转。可优化为使用零拷贝技术(如sendfile),减少数据复制和上下文切换,提升传输效率。
|
26天前
|
测试技术 Nacos 开发者
从Google线上故障,谈灰度发布的重要性2
业务配置灰度可通过主流配置中心实现,如Nacos支持IP和标签灰度,可扩展SPI定制策略;Apollo仅支持IP灰度,二者均可二次开发。复杂场景可基于Nacos标签扩展或自研方案,多数场景推荐使用Nacos满足需求。
|
26天前
|
存储 人工智能 搜索推荐
向量数据库的基本概念
向量数据库是专为存储和检索高维向量设计的系统,能将图片、文本等非结构化数据转化为“数字指纹”(向量),通过相似性搜索快速找到相近内容,广泛应用于推荐系统、图像识别和AI搜索等领域。
|
26天前
|
人工智能 JSON 安全
大模型应用开发中MCP与Function Call的关系与区别
Function Call依赖模型直接调用工具,适用于单一场景;MCP通过标准化协议实现模型与工具解耦,支持跨模型、跨设备的动态集成。二者可协同工作,形成“意图解析-协议传输-工具执行”分层架构,未来将趋向融合,推动AI应用生态标准化发展。
|
26天前
|
消息中间件 监控 NoSQL
海量数据下的订单超时取消
本文深入解析海量订单超时取消的分布式调度方案,对比Redis ZSet、延时消息、时间轮等技术优劣,结合大厂实践,提出分层架构与多级延迟策略,兼顾性能、可靠与可扩展性,助力构建高可用订单系统。
104 2
|
26天前
|
运维 自然语言处理 监控
阿里云企业支持计划是什么?企业支持计划服务内容及常见问题解答
阿里云对企业有没有相关的支持或扶持计划?当然是有的,阿里云除基础售后支持外,针对业务系统复杂或对服务有更高要求的客户, 可选择阿里云提供的多种企业支持计划,获取工单极速响应、专属技术保障通道、技术服务经理 (TAM)等专属支持。本文为大家介绍阿里云企业支持计划是什么,介绍其服务内容,并解答一些常见问题。
118 2
lyL
|
26天前
|
存储 NoSQL 关系型数据库
MongoDB相关概念
MongoDB是一款高性能、无模式的文档型数据库,适用于社交、游戏、物流、物联网等大数据量、高并发读写场景。它以BSON格式存储数据,支持灵活的数据模型、丰富查询及水平扩展,尤其适合无需复杂事务、需快速迭代的应用。其高可用、易扩展特性使其成为应对海量数据与高并发需求的理想选择。
lyL
63 1
|
26天前
|
XML Java 数据格式
SpringBoot@Configuration
`@Configuration` 注解用于标记配置类,相当于 XML 配置文件。配合 `@Bean` 可注册 Bean 实例,通过注解方式启动 IOC 容器,实现组件的自动加载与管理。
|
26天前
|
存储 人工智能 数据可视化
阿里云X米兰设计周:用AI创造,助力每一个创作者的想象力落地
阿里云作为第十届米兰设计周中国高校设计展AI技术首席合作伙伴,携手“云工开物”与PAI ArtLab平台,为师生提供专属算力、AIGC工具及学习资源,支持AI创作与模型训练,助力青年学子释放创意潜能,推动AI与设计深度融合。
lyL
|
26天前
|
NoSQL Linux Shell
MongoDB单机部署
本文介绍MongoDB在Windows和Linux系统中的安装、配置与启动方法,包括下载地址、版本选择、解压安装、命令行及配置文件启动方式,并详细说明如何通过mongo shell和Compass图形化工具连接数据库,以及Linux下的服务管理与防火墙设置。
lyL
68 1

热门文章

最新文章