Java包装类型的缓存
Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。
Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or False。
果超出对应范围仍然会去创建新的对象,缓存的范围区间的大小只是在性能和资源之间的权衡。
两种浮点数类型的包装类 Float,Double 并没有实现缓存机制。
public static void main( String[] args ){Integer i1 = 128;Integer i2 = 128;System.out.println(i1 == i2);// 输出 falseInteger i3 = 33;Integer i4 = 33;System.out.println(i3 == i4);// 输出 trueFloat i11 = 333f;Float i22 = 333f;System.out.println(i11 == i22);// 输出 falseDouble i5 = 1.2;Double i6 = 1.2;System.out.println(i6 == i5);// 输出 falseInteger i7 = 40;Integer i8 = new Integer(40);System.out.println(i7==i8);//输出false,因为i7直接用的缓存,i8则是创建的对象,存在堆}

装箱其实就是调用了 包装类的valueOf()方法,拆箱其实就是调用了 xxxValue()方法。
Integer i = 10 //等价于 Integer i = Integer.valueOf(10)
int n = i //等价于 int n = i.intValue();
相关文章:
Java包装类型的缓存
Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or Fal…...
【蓝桥杯——物联网设计与开发】拓展模块4 - 脉冲模块
目录 一、脉冲模块 (1)资源介绍 🔅原理图 🔅采集原理 (2)STM32CubeMX 软件配置 (3)代码编写 (4)实验现象 二、脉冲模块接口函数封装 三、踩坑日记 &a…...
.NET平台用C#通过字节流动态操作Excel文件
在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据。这种方法允许开发者直接在内存中创建、修改和保存Excel文档,无需依赖直接的文件储存、读取操作,从而提高了程序的性能和安全性。使用流技术处理Excel不仅简化了…...
SpringMVC详解
文章目录 1 什么是MVC 1.1 MVC设计思想1.2 Spring MVC 2 SpringMVC快速入门3 SpringMVC处理请求 3.1 请求分类及处理方式 3.1.1 静态请求3.1.2 动态请求 3.2 处理静态请求 3.2.1 处理html文件请求3.2.2 处理图片等请求 3.3 处理动态请求 3.3.1 注解说明3.3.2 示例 3.4 常见问题…...
springboot、spring、springmvc有哪些注解
Spring Boot 常用注解 虽然Spring Boot本身并没有引入大量新的注解,但它基于Spring框架,并整合了多种技术和库,使得开发者可以更方便地使用Spring框架的功能。在Spring Boot项目中,常用的注解主要来自于Spring框架本身。 Sprin…...
Apache Commons ThreadUtils 的使用与优化
Apache Commons ThreadUtils 的使用与优化 1. 问题背景 在 Java 系统中,跨系统接口调用通常需要高并发支持,尤其是线程池的合理配置至关重要。如果线程池使用不当,可能导致性能下降,线程等待或过载。 当前问题 使用了 Apache …...
重温设计模式--5、职责链模式
文章目录 职责链模式的详细介绍C 代码示例C示例代码2 职责链模式的详细介绍 定义与概念 职责链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它旨在将请求的发送者和多个接收者解耦,让多个对象都有机会处理请求&am…...
下午四点半
客户的员工竟然背着公司开发报表系统,是在密谋什么大事吗? 之前去线下给客户的员工培训,当时我就对这个小姑娘印象很深刻,因为她后面加了我们的技术人员,问了很多问题,不同于从来没有用过低代码平台的人&a…...
嵌入式单片机中Flash存储器控制与实现
第一:嵌入式单片机内部Flash概述 1.存储器的概念 存储器指的是若干个存储单元的集合,每个存储单元都可以存储若干个二进制数,为了方便的操作存储单元,就为每个存储单元都分配了地址,就可以通过寻址来访问存储单元。由于计算机的处理的数据量较大,并且运算速度都很快,就…...
loki failed to flush
loki 报错 levelerror ts2024-12-27T08:13:10.450140686Z callerflush.go:143 org_idfake msg"failed to flush" err"failed to flush chunks: store put chunk: open /data/loki/chunks/ZmFrZS85ODBmM2U3NzliODg2MjY1OjE5M2VhNDVkYTc4OjE5M2VhNDVlNDdkOjVmMjA…...
微信小程序打印生产环境日志
微信小程序打印生产环境日志 新建一个log.js文件,写入以下代码: let log wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports {debug() {if (!log) returnlog.debug.apply(log, arguments)},info() {if (!log) returnlog.i…...
利用 deepin-IDE 的 AI 能力,我实现了文件加密扩展
经过多轮迭代,deepin 文件管理器(dde-file-manager)的扩展功能已经趋于稳定,看到越来越丰富的文管新功能,作为一名技术爱好者,也想自己动手写个插件扩展一下文管的功能。 我选择的开发工具是 deepin-IDE&a…...
JPA 基本查询(五)
JPA 查询Exists示例 JPA教程 - JPA 查询Exists示例 如果子查询返回任何行,则EXISTS条件返回true。 以下代码显示如何在JPQL中使用带有子查询的EXISTS运算符。 List l em.createQuery("SELECT e FROM Professor e WHERE EXISTS " "(SELECT p FROM …...
hiprint结合vue2项目实现静默打印详细使用步骤
代码地址是:vue-plugin-hiprint: hiprint for Vue2/Vue3 ⚡打印、打印设计、可视化设计器、报表设计、元素编辑、可视化打印编辑 本地安装包地址:electron-hiprint 发行版 - Gitee.com 1、先安装hipint安装包在本地 2、项目运行npm(socket.…...
项目报 OutOfMemoryError 、GC overhead limit exceeded 问题排查以及解决思路实战
项目报 OutOfMemoryError、GC overhead limit exceeded 问题排查以及解决思路实战 前言: 问题现象描述: 1,生产环境有个定时任务,没有初始化告警数据【告警数据量为1000多个】 2,其他定时任务执行正常 3,查…...
【计算机-显示屏灰阶测试】
硬计算机-显示屏灰阶测试 ■ 对比度■ 清晰度■ 灰度色阶(色带)■ 对比率■■ ■ 对比度 在一个性能良好的显示器上,您可观察到每种颜色的标尺都可分为从 1 至 32、大致上等宽但不同亮度的色带。即使是在刻度1处的色带也应该隐约可见。 一个…...
CSS系列(40)-- Container Queries详解
前端技术探索系列:CSS Container Queries详解 📦 致读者:探索组件响应式的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS Container Queries,这个强大的组件级响应式特性。 基础概念 🚀 容…...
工作生活做事慢效率低原因及解决方案
时间和效率管理具体版(初阶)(一) 工作&生活做事慢效率低原因及解决方案 一、效率慢的原因(动物解析法(编者自创)) 打败你的可能是生活的小事 1.无头苍蝇无流程 做事之前没有想…...
各种数据库类型介绍
在软件开发和数据处理领域,数据库扮演着至关重要的角色。它们用于存储、检索和管理大量数据,是信息系统不可或缺的基础。以下是几种常用的数据库类型及其简要介绍: 1.关系型数据库(Relational Databases) 关系型数据库…...
了解智能运维
智能运维 (一)运维工作的转变 随着技术发展,运维工作从基础的搬机器、插网线、装系统等体力活儿,逐渐转变为更侧重服务器管理、代码管理、日志分析、监控告警、流量管理及故障排查等的脑力劳动。如今,运维人员拿到的…...
Linux下C/C++高效调试工具与技巧全解析
1. Linux终端下C/C调试工具演进史作为一名长期在Linux环境下开发C/C程序的老兵,我深刻理解调试工作对开发效率的影响。很多人对GDB的印象还停留在原始的命令行界面,实际上经过多年发展,终端下的调试工具已经形成了完整的生态体系。从最基础的…...
嵌入式调试实战:常见错误与高效排查方法
1. 程序员调试中的那些"荒唐"错误 作为一名从业多年的嵌入式工程师,我深知调试过程中的酸甜苦辣。那些看似简单的问题往往耗费我们最多时间,而最终解决方案却常常让人哭笑不得。今天就来分享几个真实的调试故事,希望能给同行们带来…...
Ubuntu 20.04安装搜狗输入法全攻略:从配置到常见错误解决
Ubuntu 20.04 中文输入终极方案:搜狗输入法深度配置指南 在Linux桌面环境中实现流畅的中文输入一直是许多用户的痛点。作为国内最受欢迎的中文输入法之一,搜狗输入法凭借其强大的词库和智能预测功能,成为Ubuntu用户的首选。本文将带你从零开始…...
UWB定位算法避坑指南:如何避免常见错误并提升定位精度(含2025最新优化技巧)
UWB定位算法避坑指南:如何避免常见错误并提升定位精度(含2025最新优化技巧) 在工业4.0和智能物联网的浪潮中,超宽带(UWB)技术凭借其厘米级高精度定位能力,正在重塑智能制造、仓储物流和医疗监护…...
2026 AI 智能体工程化深度解析:从词元逻辑到高可用链路构建
进入 2026 年,大语言模型(LLM)的竞争已从单纯的“模型智力”转向了“工程化落地能力”。对于开发者而言,AI 不再仅仅是一个对话框,而是一个能够自主调用工具、处理复杂逻辑的智能体(Agent)。在这…...
Ostrakon-VL-8B环境配置:Ubuntu 22.04 + CUDA 12.1 + PyTorch 2.3 验证清单
Ostrakon-VL-8B环境配置:Ubuntu 22.04 CUDA 12.1 PyTorch 2.3 验证清单 想快速在Ubuntu系统上跑通Ostrakon-VL-8B这个强大的视觉理解模型,但被各种环境依赖搞得头大?别担心,这份清单就是为你准备的。 Ostrakon-VL-8B是一个专门…...
告别手动填表!用n8n+企业微信,5分钟搞定每日销售报表自动推送
告别手动填表!用n8n企业微信,5分钟搞定每日销售报表自动推送 每天早晨9点,销售团队的工作群准时弹出昨日业绩报表——这不是IT部门的功劳,而是一个由n8n驱动的全自动化流程。当传统企业还在用Excel手工汇总数据时,前沿…...
别再让AI瞎猜了!手把手教你为项目创建AGENTS.md文件(附Turbo monorepo实战模板)
别再让AI瞎猜了!手把手教你为项目创建AGENTS.md文件(附Turbo monorepo实战模板) "AI生成的代码又跑偏了!"——这可能是现代开发者最常遇到的挫败场景之一。当你在Turborepo管理的monorepo中工作时,AI助手可…...
告别Lottie和SVGA:用Unity给Android应用做高性能动态引导动画的实战踩坑记录
告别Lottie和SVGA:用Unity给Android应用做高性能动态引导动画的实战踩坑记录 在移动应用开发中,动态引导动画一直是提升用户体验的关键元素。从早期的帧动画到后来的Lottie、SVGA等方案,开发者们不断寻求更高效、更灵活的动画实现方式。然而&…...
如何为《以撒的结合:悔改》安装REPENTOGON扩展框架
如何为《以撒的结合:悔改》安装REPENTOGON扩展框架 【免费下载链接】REPENTOGON Script extender for The Binding of Isaac: Repentance 项目地址: https://gitcode.com/gh_mirrors/re/REPENTOGON REPENTOGON是一款针对《以撒的结合:悔改》的扩展…...
