- 博客(78)
- 收藏
- 关注
原创 【Java】HashMap的key可以为null吗?如何存储的?
HashMap允许key 为 null,且仅能存在一个 null 键(多次插入会覆盖值)。null 键的哈希值固定为 0,因此始终存储在数组的索引 0 位置。这一设计与 Hashtable 形成对比(Hashtable 对 null 键会直接抛出 NullPointerException)。
2025-08-06 21:32:27
92
原创 【Java】一篇详解HashMap的扩容机制!!
HashMap通过"容量翻倍+元素迁移"实现扩容,核心目的是减少哈希冲突。JDK1.8的优化(如高效索引计算、尾插法)让扩容更高效且安全。实际开发中,若能预估元素数量,建议初始化时指定容量,如:(new HashMap<>(1000)),减少扩容次数以提升性能。
2025-08-04 23:53:20
680
原创 【Java】HashMap线程安全吗?
1.HashMap的线程不安全本质是缺乏同步机制,无法保证多线程操作的原子性、可见性和有序性,导致内部数据结构(数组、链表/红黑树)被破坏或数据不一致。2.若需在多线程环境中使用哈希表,应该选择线程安全的替代类,如JDK1.5+,高效并发)或、(全表加锁,效率较低)。
2025-08-04 21:15:13
399
原创 【Java】Object类有哪些常见方法?一篇搞定!
好久没更新文章啦,今天回归!!讲一下Object类有哪些常见方法?Object类是所有类的,如果一个类没有明确继承其他类,那么它默认会继承Object类,有以下常见方法。
2025-07-31 23:41:30
268
1
原创 One Year~
这一年时间里,收获了3.5w的浏览量,298个粉丝。看着自己的数据一天天的上涨,内心无比的激动。但在看鱼皮哥的课程时,发现他有着写文档和博客的习惯,整理自己的思路,也挺有趣的,想着自己也不能光看呀,得动起来写才行。不光能记录自己的学习生活,也能锻炼自己的写作能力。如果你还没开始写自己的第一篇文章,看到这里,希望你也可以动起来,写下自己的第一篇文章。看着自己的文章慢慢的跑起来,别提有多高兴了,成就感满满!
2025-05-29 21:53:49
285
1
原创 【Java】线程池的实现原理是怎样的?CPU密集型任务与IO密集型任务的区别?
需要大量CPU计算资源,大部分时间都在进行运算的任务。这类任务的特点是计算量大,CPU占用率高。
2025-05-29 21:20:44
496
原创 【操作系统】进程之间的通信方式有哪些?
相信小伙伴们在学习操作系统时,应该都碰到过这个问题。我之前也写过这个问题的文章,但是内容有些混乱,对此我做了些优化。进程之间的通信方式有哪些呢?那么本文我从四个方面入手,给小伙伴们讲懂。是不同进程之间的机制。
2025-05-09 10:50:08
415
3
原创 【计算机网络】Cookie、Session、Token之间有什么区别?
大家在日常使用浏览器时可能会遇到:是否清理Cookie?这个问题。那么什么是Cookie呢?与此相关的还有Session、Token这些。这两个又是什么呢?Cookie、Session 和 Token 统称为是一种用于。
2025-05-08 20:00:00
1308
3
原创 【计算机网络】用户从输入网址到网页显示,期间发生了什么?
CDN(Content Delivery NetWork,内容分发网络) 是一种分布式网络。用于高效、快速地向全球用户分发静态和动态内容(如网页、图片、视频、JS/CSS文件等)。它的核心目标是减少延迟、提高访问速度、减轻源服务器负载。
2025-05-08 15:33:58
1026
1
原创 【多线程】用阻塞队列实现等待唤醒机制(Java实现)
是多线程编程中线程间通信的重要方式。它允许线程在特定条件下主动等待,并在条件满足时被其他线程唤醒。一个线程检查某个条件,如果不满足就进入等待状态(阻塞)另一个线程修改条件后通知(唤醒)等待的线程被唤醒的线程重新检查条件,如果满足就继续执行。
2025-05-07 14:06:00
450
3
原创 【计算机网络】HTTP中GET和POST的区别是什么?
获取资源,通常请求数据而不改变服务器的状态。提交数据到服务器,通常会改变服务器的状态或副作用(如创建或更新资源)应用过程。
2025-05-04 22:30:39
433
原创 【Redis】面试官最爱问:Redis跳表的实现机制与性能优势
Redis的跳表是多层有序链表,通过随机层高实现概率平衡。查询时从顶层开始,类似二分查找平均时间复杂度O(log n)。相比红黑树,它实现简单且更适合范围查询。
2025-04-28 09:00:00
484
原创 【MySQL】MySQL架构设计原来如此巧妙!
这样的分层设计让MySQL兼具通用性与灵活性。优化器可以针对不同的引擎生成最优执行计划;InnoDB的MVCC机制又能保证高并发事务。
2025-04-25 10:50:30
345
原创 【MySQL】面试官问的事务二阶段提交,这篇彻底讲明白!
二阶段提交(2PC)是MySQL保证的关键协议2PC保证了InnoDB引擎层的与Server层的协调一致性。
2025-04-25 08:45:39
237
原创 【MySQL】面试必问!MySQL事务实现机制全解
MySQL事务通过InnoDB的undo log、redo log、锁机制和MVCCundo log记录修改前状态,支持回滚通过二阶段提交和崩溃恢复机制保证写操作通过行锁保证一致性读操作通过MVCC多版本避免加锁间隙锁防止幻读(RR级别)4.持久性D:通过redo log的WAL机制确保数据不丢失。
2025-04-24 16:22:07
534
原创 【MySQL】undolog、redolog、binlog没听过?这篇讲讲
用于,当MySQL发生数据新增或修改时,undolog会记录这些操作并写入磁盘,当MySQL需要回滚时,重放undolog即可。
2025-04-22 21:56:01
454
原创 【MySQL】你以为MySQL的索引越多越好?NO!
操作都会导致索引更新。例如:一个表有10个索引,每次插入需要写11次(1次数据+10次索引)
2025-04-21 10:45:55
229
原创 【MySQL】MySQL建立索引不知道注意什么?
1.选择高选择性的列建立索引(该列有大量不同的值)2.:不是越多越好,每个索引都会增加写入开销。
2025-04-19 23:50:27
264
原创 【Datawhale AI春训营】Java选手初探数据竞赛
自然语言处理(Natural Language Processing,NLP) 是计算机科学与人工智能领域中的一个极具挑战性和应用前景的研究方向。它旨在使计算机能够理解、生成和处理人类的自然语言,从而实现人机高效交互。NLP技术在搜索引擎、机器翻译、智能客服、文本挖掘、语音助手等众多领域得到了广泛应用,极大的改变了人们的生活和工作方式。
2025-04-19 23:36:10
254
原创 【MySQL】MySQL索引的最左前缀匹配原则还不懂?
最左前缀匹配原则是MySQL的核心原则,指的是必须从索引定义的开始,并且不能跳过中间的列,
2025-04-19 15:05:04
361
原创 小白也能懂:IO多路复用(从select到epoll的终极演进)原来这么简单!
是一种型,它允许同时监控,并在其中任何一个或多个文件描述符(可读、可写或出现异常)时得到通知,从而实现对IO多路复用是一种,它允许同时,并"比如要同时处理,不可能开百万个线程,而是用(如epoll)让。
2025-04-13 17:09:36
859
原创 【Java多线程】告别线程混乱!深度解析Java多线程4大实现方式(附实战案例)
子线程异常需特殊处理(可设置UncaughtExceptionHandler)3.创建Thread对象 并传入Runnable实例。3.创建FutureTask对象包装Callable。4.创建Thread对象并传入FutureTask。6.通过FutureTask.get()获取返回值。2.提交任务(Runnable/Callable)1.实现Runnable接口。1.实现Callable接口。4.调用start()方法。5.调用start()方法。2.实现call()方法。:任务到达时线程已存在。
2025-04-12 23:38:29
650
原创 【Java】全方位讲透HashMap,一篇足矣
HashMap在采用的结构实现。1.:称为,初始长度为162.,新节点采用3.(链表/红黑树)计算hash:^ (h >>> 16) 是为了。
2025-04-12 16:09:46
1570
原创 【Spring】一篇讲懂AOP中通知执行顺序(如@Before、@AfterReturning和@Around通知)
进入环绕通知的第一部分触发所有@Before通知执行目标方法如果正常返回,触发@AfterReturning如果抛出异常,跳过@AfterReturning处理返回结果或异常→ @Before→ 目标方法执行→ @AfterReturning (成功时)
2025-04-08 16:58:28
960
原创 【Spring】小白速通AOP-日志记录Demo
1.AOP如何通过切面、切点、通知等概念工作。2.为什么AOP能解决代码重复的问题。3.如何在Spring项目中实际使用AOP。4.AOP的各种实际应用场景。AOP就像是一个"方法拦截器",在不修改原有代码的情况下,给方法添加各种增强功能。这是Spring框架的核心特性之一,掌握后能大幅提高代码质量和开发效率。
2025-04-07 16:51:00
781
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人