自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Java】Java中synchronized关键字的底层原理

如果来了一个线程,是否为null,如果为null,则让当前线程持有,如果不为null,则该线程去EntryList中去等待(阻塞),如果持有锁的线程调用了wait方法,则会进入WaitSet。

2025-12-29 17:22:34 300

原创 【消息队列】面试被问到什么是死信?如何设计一个死信队列?寄了!

死信(Dead Letter DL) 是指 无法被正常消费的消息,这些消息会从RabbitMQ原队列中移除,并转发到死信交换机(Dead Letter Exchange,DLX),再由死信交换机路由到死信队列(Dead Letter Queue,DLQ)中存储。可以理解为:消息在投递过程中失败了,成了无效消息,为了这部分消息不丢失和后期排查,被转移到了专门的回收站-死信队列中。

2025-12-23 20:18:43 385 1

原创 【Java】数组和链表竟然区别这么大!

数组和链表:“连续内存 vs 离散内存”,导致前者擅长 “随机访问”,后者擅长 “动态增删。

2025-10-22 10:57:31 145 1

原创 【MySQL】一篇讲透MySQL的MVCC机制!

MVCC是快照读Undo Log是历史版本的支撑ReadView决定谁能看见哪个版本的数据。

2025-10-02 20:48:12 275 1

原创 【JVM】Java中有哪些垃圾回收算法?

常见的垃圾回收算法有以下三种:标记-清除算法、标记-整理算法、复制算法。每种算法有不同的适用场景与存在的问题,下面细聊。通过复制存活对象来清除垃圾对象。三步走: 分块、复制、交换。将堆内存划分为大小相等的两块区域(通常称为 “From 空间” 和 “To 空间”),同一时间只使用其中一块(From 空间),另一块(To 空间)保持空闲。当 From 空间快满时,触发垃圾回收:**标记:**遍历 From 空间,识别所有存活对象(被根对象直接或间接引用的对象)。复制:将所有存活对象按顺序复制到 To

2025-09-19 17:25:08 566

原创 【JVM】类加载器都有哪些?

我们通过继承类自定义实现,可作为应用类加载器的子类。满足特殊场景的类加载需求。1.加载加密的.class文件(需在加载时解密);2.从网络、数据库等非本地文件系统加载类;3. 实现类的隔离(如 Tomcat 的类加载器,为每个 Web 应用单独加载类,避免不同应用的类冲突);实现方式:重写的方法(负责查找并加载类的字节码),必要时重写方法(可能破坏双亲委派机制)。

2025-08-26 16:25:58 400

原创 【JVM】JVM的内存结构是怎样的?

JVM的内存结构是,不同区域有明确的职责。

2025-08-23 10:35:28 1091

原创 【Java】HashMap 的遍历方式有哪些?哪种更高效?

HashMap遍历的高效方式是entrySet() 或 Java 8+ 的 forEach,其中forEach 兼具效率和简洁性,首选。keySet()因额外的get操作,效率较低,不推荐优先使用。

2025-08-07 19:12:20 382

原创 【Java】HashMap的key可以为null吗?如何存储的?

HashMap允许key 为 null,且仅能存在一个 null 键(多次插入会覆盖值)。null 键的哈希值固定为 0,因此始终存储在数组的索引 0 位置。这一设计与 Hashtable 形成对比(Hashtable 对 null 键会直接抛出 NullPointerException)。

2025-08-06 21:32:27 437

原创 【Java】一篇详解HashMap的扩容机制!!

HashMap通过"容量翻倍+元素迁移"实现扩容,核心目的是减少哈希冲突。JDK1.8的优化(如高效索引计算、尾插法)让扩容更高效且安全。实际开发中,若能预估元素数量,建议初始化时指定容量,如:(new HashMap<>(1000)),减少扩容次数以提升性能。

2025-08-04 23:53:20 1033

原创 【Java】HashMap线程安全吗?

1.HashMap的线程不安全本质是缺乏同步机制,无法保证多线程操作的原子性、可见性和有序性,导致内部数据结构(数组、链表/红黑树)被破坏或数据不一致。2.若需在多线程环境中使用哈希表,应该选择线程安全的替代类,如JDK1.5+,高效并发)或、(全表加锁,效率较低)。

2025-08-04 21:15:13 629

原创 【MySQL】MySQL中锁有哪些?

默认锁机制(InnoDB也支持,但更常用行锁),适合。(一直等待写锁释放)。

2025-08-03 21:12:26 1023

原创 【Java】Object类有哪些常见方法?一篇搞定!

好久没更新文章啦,今天回归!!讲一下Object类有哪些常见方法?Object类是所有类的,如果一个类没有明确继承其他类,那么它默认会继承Object类,有以下常见方法。

2025-07-31 23:41:30 332 1

原创 One Year~

这一年时间里,收获了3.5w的浏览量,298个粉丝。看着自己的数据一天天的上涨,内心无比的激动。但在看鱼皮哥的课程时,发现他有着写文档和博客的习惯,整理自己的思路,也挺有趣的,想着自己也不能光看呀,得动起来写才行。不光能记录自己的学习生活,也能锻炼自己的写作能力。如果你还没开始写自己的第一篇文章,看到这里,希望你也可以动起来,写下自己的第一篇文章。看着自己的文章慢慢的跑起来,别提有多高兴了,成就感满满!

2025-05-29 21:53:49 313 1

原创 【Java】线程池的实现原理是怎样的?CPU密集型任务与IO密集型任务的区别?

需要大量CPU计算资源,大部分时间都在进行运算的任务。这类任务的特点是计算量大,CPU占用率高。

2025-05-29 21:20:44 602

原创 【操作系统】进程之间的通信方式有哪些?

相信小伙伴们在学习操作系统时,应该都碰到过这个问题。我之前也写过这个问题的文章,但是内容有些混乱,对此我做了些优化。进程之间的通信方式有哪些呢?那么本文我从四个方面入手,给小伙伴们讲懂。是不同进程之间的机制。

2025-05-09 10:50:08 571 3

原创 【计算机网络】Cookie、Session、Token之间有什么区别?

大家在日常使用浏览器时可能会遇到:是否清理Cookie?这个问题。那么什么是Cookie呢?与此相关的还有Session、Token这些。这两个又是什么呢?Cookie、Session 和 Token 统称为是一种用于。

2025-05-08 20:00:00 1478 3

原创 【计算机网络】用户从输入网址到网页显示,期间发生了什么?

CDN(Content Delivery NetWork,内容分发网络) 是一种分布式网络。用于高效、快速地向全球用户分发静态和动态内容(如网页、图片、视频、JS/CSS文件等)。它的核心目标是减少延迟、提高访问速度、减轻源服务器负载。

2025-05-08 15:33:58 1118 1

原创 【多线程】用阻塞队列实现等待唤醒机制(Java实现)

是多线程编程中线程间通信的重要方式。它允许线程在特定条件下主动等待,并在条件满足时被其他线程唤醒。一个线程检查某个条件,如果不满足就进入等待状态(阻塞)另一个线程修改条件后通知(唤醒)等待的线程被唤醒的线程重新检查条件,如果满足就继续执行。

2025-05-07 14:06:00 514 3

原创 【计算机网络】TCP/IP四层模型是什么?与OSI七层模型哪些区别?

TCP/IP四层模型。

2025-05-06 21:16:35 1600

原创 【计算机网络】TCP为什么可靠?解决了哪些问题?

解决了下面具体分析这4个方面。

2025-05-06 13:16:53 1005

原创 【计算机网络】HTTP和HTTPS差个S究竟差多少?

差在以下几个方面:1.端口号2.数据传输安全性3.性能4.SEO影响

2025-05-05 21:12:17 295

原创 【计算机网络】HTTP中GET和POST的区别是什么?

获取资源,通常请求数据而不改变服务器的状态。提交数据到服务器,通常会改变服务器的状态或副作用(如创建或更新资源)应用过程。

2025-05-04 22:30:39 550

原创 【Java】一篇讲透Java中的集合类

Java中的集合类分为。

2025-04-30 19:53:05 269

原创 【Java】接口和抽象类傻傻分不清,3分钟讲懂

【代码】【Java】接口和抽象类傻傻分不清,3分钟讲懂。

2025-04-28 22:08:16 380

原创 【Redis】面试官最爱问:Redis跳表的实现机制与性能优势

Redis的跳表是多层有序链表,通过随机层高实现概率平衡。查询时从顶层开始,类似二分查找平均时间复杂度O(log n)。相比红黑树,它实现简单且更适合范围查询。

2025-04-28 09:00:00 536

原创 【Redis】Redis Zset实现原理:跳表+哈希表的精妙设计

Zset有序集合是一种由实现的数据结构。

2025-04-27 21:30:06 561

原创 【MySQL】3分钟解决MySQL深度分页问题

当查询结果集非常大时,需要获取,比如第1000页、10000页。

2025-04-25 20:20:28 398

原创 【MySQL】MySQL架构设计原来如此巧妙!

这样的分层设计让MySQL兼具通用性与灵活性。优化器可以针对不同的引擎生成最优执行计划;InnoDB的MVCC机制又能保证高并发事务。

2025-04-25 10:50:30 396

原创 【MySQL】面试官问的事务二阶段提交,这篇彻底讲明白!

二阶段提交(2PC)是MySQL保证的关键协议2PC保证了InnoDB引擎层的与Server层的协调一致性。

2025-04-25 08:45:39 285

原创 【MySQL】面试必问!MySQL事务实现机制全解

MySQL事务通过InnoDB的undo log、redo log、锁机制和MVCCundo log记录修改前状态,支持回滚通过二阶段提交和崩溃恢复机制保证写操作通过行锁保证一致性读操作通过MVCC多版本避免加锁间隙锁防止幻读(RR级别)4.持久性D:通过redo log的WAL机制确保数据不丢失。

2025-04-24 16:22:07 573

原创 【MySQL】undolog、redolog、binlog没听过?这篇讲讲

用于,当MySQL发生数据新增或修改时,undolog会记录这些操作并写入磁盘,当MySQL需要回滚时,重放undolog即可。

2025-04-22 21:56:01 478

原创 【MySQL】MySQL的B+树查询数据的过程没听过?

1.通过就能支撑2.叶子结点通过实现3.节点设计匹配。

2025-04-21 21:09:56 276

原创 【MySQL】经常用varchar,但你知道它与char的区别吗?

2025-04-21 20:10:30 228

原创 【MySQL】没用过MySQL中的EXPLAIN语句?一篇搞懂!

EXPLAIN 它能帮助我们理解并找出。

2025-04-21 20:04:40 1237 1

原创 【MySQL】你以为MySQL的索引越多越好?NO!

操作都会导致索引更新。例如:一个表有10个索引,每次插入需要写11次(1次数据+10次索引)

2025-04-21 10:45:55 273

原创 【MySQL】MySQL建立索引不知道注意什么?

1.选择高选择性的列建立索引(该列有大量不同的值)2.:不是越多越好,每个索引都会增加写入开销。

2025-04-19 23:50:27 283

原创 【Datawhale AI春训营】Java选手初探数据竞赛

自然语言处理(Natural Language Processing,NLP) 是计算机科学与人工智能领域中的一个极具挑战性和应用前景的研究方向。它旨在使计算机能够理解、生成和处理人类的自然语言,从而实现人机高效交互。NLP技术在搜索引擎、机器翻译、智能客服、文本挖掘、语音助手等众多领域得到了广泛应用,极大的改变了人们的生活和工作方式。

2025-04-19 23:36:10 272

原创 【MySQL】MySQL索引的最左前缀匹配原则还不懂?

最左前缀匹配原则是MySQL的核心原则,指的是必须从索引定义的开始,并且不能跳过中间的列,

2025-04-19 15:05:04 422

原创 【JUC】串行、并行、并发傻傻搞不懂?一篇讲透

任务严格按照。

2025-04-15 13:35:00 538

空空如也

空空如也

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

TA关注的人

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