自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 ArrayList核心代码阅读

ArrayList通过确保容量足够,若不足则grow()进行扩容。默认扩容策略是 1.5 倍,避免过于频繁的数组拷贝。扩容操作涉及,是的封装,保证高效的数组复制。了解ArrayList扩容机制有助于编写高效的代码,避免不必要的扩容开销。

2025-03-19 20:28:08 141

原创 Integer缓存池

在Java开发中,Integer是一个常用的包装类,但在使用==进行比较时,可能会遇到一些出人意料的结果。这是因为Java在一定范围内对Integer对象进行了缓存优化,即所谓的Integer缓存池。本文将通过代码示例、源码解析以及方法的剖析,详细探讨Integer缓存池的工作原理,并分析其对性能优化的作用。Integer缓存池会缓存-128到127之间的Integer值,对象并非每次都新建。方法会使用缓存池,尽量避免不必要的对象创建。如果需要比较Integer值是否相等,应尽量使用equals()

2025-03-19 20:09:04 216

原创 StringBuilder类的数据结构和扩容方式解读

String类是不可变的,每次拼接都会生成新的对象,导致内存开销和性能损耗,而StringBuilder则通过可变字符数组来动态修改字符串,避免了创建新对象的问题。的设计通过一个动态扩展的char[]数组来优化字符串拼接过程,避免了String的不可变性带来的性能瓶颈。通过合理的初始化容量和扩容机制,StringBuilder可以在保证性能的同时灵活处理字符串操作。

2025-02-27 20:23:25 253

原创 String类的equals()的作用和源代码解读

简介:为什么equals()方法在Java中如此重要,尤其是对于String类。equals()与==的区别,常见的理解偏差。==用于比较对象的引用是否相同,即是否指向同一内存地址。equals()用于比较对象的内容是否相同,需要类中重写equals()方法来定义比较逻辑。

2025-02-26 18:19:29 170

原创 String为什么是不可变的?

为什么String是不可变的?1.字符串内部使用一个字符数组来作为数据结构,保存字符串的所有字符。2.字符数组被final关键字修饰,所以该数组一旦被创建,就无法再为其重新分配内存空间。3.每个修改字符串的方法,都会将新的修改内容保存到一个新的字符串对象中,并不会修改原字符串的内容。例如上面举例的replace()方法substring()方法。

2025-01-20 19:37:23 358

原创 MongoDB服务被360删掉了怎么办?

D盘内存空间突然变得很小,怀疑中病毒了,灵机一动看向了右下角的360······经过一连串操作,重启后确实恢复了,但是在今天打开navicat时发现连接不上mongodb了晕但是我是另外一种问题,。

2024-10-15 21:30:51 411 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除