首页 > 其他分享 >Integer缓存机制随笔(清晰)

Integer缓存机制随笔(清晰)

时间:2023-09-02 19:37:56浏览次数:34  
标签:12 对象 数据类型 equals 缓存 new Integer 随笔

总体主要分为两个方面
①比较的是值
一、基本数据类型与引用数据类型进行比较时,引用数据类型会进行拆箱,然后与基本数据类型进行值的比较
举例:
int i = 12;
Integer j = new Integer(12);
i == j 返回的是true
二、引用数据类型与基本数据类型进行比较(equals方法),基本数据类型会进行自动装箱,与引用数据类型进行比较,Object中的equals方法比较的是地址,但是Integer类已经重写了equals方法,只要两个对象的值相同,则可视为同一对象,具体看API文档,所以这归根到底也是值的比较!
举例:
int i = 12;
Integer j = new Integer(12);
j.equals(i) 返回的是true
②比较的是地址
一、如果引用数据类型是这样 Integer i = 12;直接从常量池取对象,这是如果数值是在-128与127之间,则视为同一对象,否则视为不同对象
举例:
Integer i = 12; Integer j = 12; i == j 返回的是true
Integer i = 128; Integer j = 128; i == j 返回的是false
二、如果引用数据类型是直接new的话,不管值是否相同,这时两个对象都是不相同的,因为都会各自在堆内存中开辟一块空间
举例:
Integer i =new Integer(12);
Integer j = new Integer(12);
i == j 这时返回的是false
三、从常量池取对象跟new出来的对象也是不同的
举例:
Integer i = 12;
Integer j = new Integer(12)
i == j 这时返回的是false,因为第二个语句其实已经是new了两个对象了!!!

标签:12,对象,数据类型,equals,缓存,new,Integer,随笔
From: https://www.cnblogs.com/Changes404/p/17674100.html

相关文章

  • 感悟金庸和古龙小说随笔
    古龙,人在江湖,身不由已。金庸,侠之大者,为国为民。武侠小说的南泰北斗,不同的个人情怀。古龙毕业于文学院靠写书维持生计,擅长写刀,架空的历史,并将人生哲学和感悟融入刀里,萧十一郎,李寻欢,楚留香,陆小凤,不过古龙笔下,大部分都是风流潇洒的浪子侠客。古龙的结局也颇具武侠色彩,与人切磋武艺,失......
  • 东营随笔
    寻寻觅觅寻不见婉约的妙笔冷冷清清躲进灰色的深丛里西楼月未满有气息扑鼻惨惨凄凄融入未开的花里离愁迷离戚戚也无趣山脉魏延向东深沉料峭又险峻心胸亦荡起奔腾入海略带泥泥泞翻滚飞又起一点霸气我自向南既拾忆诗歌无主题情怀都随意我随风而来亦随风而去2022......
  • 多级缓存架构(5&6)
    多级缓存架构缓存设计缓存穿透缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储的意义。造成缓存穿透的基本原......
  • 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
    一、缓存处理流程   前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 ......
  • Redis缓存相关问题
    缓存穿透:就是,一个请求携带的参数是,id为负一我缓存中肯定没有,而且数据库肯定也没有,那么这个参数为负一的请求就直接绕过了redis,直接就访问了数据库,这就是缓存穿透缓存击穿:就是我有一个热点数据,比如秒杀,好巧不巧在秒杀开始的时候,刚好我缓存的KEY到期了,那么秒杀的请求全部打进了我......
  • VSCODE 关闭 go 的test缓存
    Ctrl+,进入设置,搜索gotestFlags点击Editinsettings.json在内添加"-count=1"......
  • django自带的cache缓存框架使用
    https://docs.djangoproject.com/zh-hans/4.2/topics/cache/#top主要步骤官网也写得很清楚了,包含怎么区使用。这里就展示一些配置django-redis来使用#settings.pyCACHES={'default':{#默认,预留'BACKEND':'django_redis.cache.RedisCache','......
  • 关于Newtonsoft.Json的随笔
    在工作中一些陈旧项目,难免引用了一些很老版本,在一次升级中,项目引用的Newtonsoft.Json.dll突然少了一些method和class1,原来的:(咱也不懂为啥没有版本号嘞 2,升级后的 问题:1,原来使用的函数不存在,但是其实还在,换地方了而已,以下是修改:Newtonsoft.Json.JavaScriptConvert.Seria......
  • redis缓存优化
    目录一缓存优化1.1缓存更新策略1.2配置文件中设置二穿透,击穿,雪崩2.1缓存穿透2.2缓存击穿2.3缓存雪崩一缓存优化1.1缓存更新策略#redis数据放在内存中,输入如果满了,再放数据--->肯定能放进去 -老数据怎么样?#方案LRU-LeastRecentlyUsed没有被使用时间最长的......
  • Redis 缓存满了怎么办?
    Redis缓存使用内存来保存数据,随着需要缓存的数据量越来越大,有限的缓存空间不可避免地会被写满。此时,应该怎么办?本篇文章接下来就来聊聊缓存满了之后的数据淘汰机制。值得注意的是,在Redis中 过期策略和内存淘汰策略是两个完全不同的概念。Redis过期策略指的是Redis使用......