自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YT的博客

Be Humble

  • 博客(94)
  • 收藏
  • 关注

原创 揭秘 MySQL 架构:从查询到更新的执行全流程

MySQL 的架构通过 Server 层和存储引擎层的分工,实现了高效的查询和更新流程。查询从连接到结果返回,层层优化;更新则依靠 redo log 和 binlog 保障数据安全。理解这些机制,不仅能提升开发效率,还能在性能调优和故障排查中游刃有余。

2025-03-11 09:11:16 990

原创 深入理解 MySQL 锁:基于 InnoDB 的并发控制解析

MySQL 的锁机制为开发者提供了灵活的并发控制工具。理解独享锁与共享锁、悲观锁与乐观锁,以及不同粒度的锁(如全局、表级、行级),有助于在性能与一致性间找到平衡。无论是优化高并发场景,还是避免死锁,合理使用锁都是关键。

2025-03-11 09:09:26 780

原创 MySQL 事务技术指南

事务是一组满足 ACID 特性的操作,要么全部成功提交,要么全部失败回滚。MySQL 中,支持事务的存储引擎包括 InnoDB 和 NDB Cluster,而 MyISAM 不支持事务。事务通过COMMIT提交或ROLLBACK回滚。读未提交:可见未提交修改,可能脏读。读已提交:仅见提交数据,解决脏读。可重复读:事务内多次读取一致,解决不可重复读,InnoDB 默认。串行化:强制串行,加锁解决所有问题,但并发性低。隔离级别丢失修改脏读不可重复读幻读读未提交✔️❌❌❌读已提交。

2025-03-10 12:56:21 993

原创 MySQL 索引技术指南

索引是数据库中用于提升查询效率的重要数据结构,类似于书籍的目录,能够快速定位所需内容。在数据量较小时,索引的影响可能不明显,但随着数据量增加,合理的索引设计成为优化查询性能的关键。合理设计和使用索引是 MySQL 性能优化的核心。通过理解数据结构、索引类型及优化策略,可显著提升查询效率,同时避免常见失效场景。

2025-03-10 12:55:01 1257

原创 使用 Python 将 PDF 转换为文本:打造一个简单高效的提取工具

这个简单的工具展示了 Python 在文档处理中的实用性。通过PyPDF2,我们能够快速提取 PDF 中的文字,并以用户友好的方式呈现结果。如果你需要处理大量 PDF 文件,可以考虑扩展脚本,例如支持批量处理目录中的文件,或者集成 OCR 功能以处理扫描件。

2025-03-09 09:55:18 1060

原创 使用 Python 批量提取 PDF 书签:一款实用工具的实现

这款工具展示了 Python 在文件处理和自动化任务中的强大能力。通过几行代码,我们实现了一个实用的小程序,不仅节省时间,还能轻松扩展功能(比如支持其他格式或添加图形界面)。希望这篇文章能激发你对 Python 的兴趣,也欢迎根据自己的需求改进这个脚本!

2025-03-09 09:53:43 1400

原创 深入理解 Java 虚拟机之垃圾收集

JVM 的垃圾收集机制通过可达性分析、分代收集和多样化的收集器,高效管理内存。串行适合小型应用,并行追求吞吐量,CMS 和 G1 优化停顿时间。理解 GC 原理和策略,有助于调优程序性能,避免内存溢出等问题。

2025-03-08 12:34:12 1326

原创 深入理解 Java 虚拟机内存区域

理解 JVM 内存区域是掌握 Java 性能调优的基础。从线程私有的程序计数器到共享的 Java 堆和方法区,每个区域各司其职。通过合理配置参数(如-Xmx-Xss),并结合工具(如 jmap、MAT)分析内存问题,可以有效避免 OOM 和 SOF,提升程序稳定性。

2025-03-08 12:32:55 1054

原创 深入解析 Spring 依赖注入:原理与实践

依赖注入是一个过程,通过构造函数、工厂方法参数或对象属性,将依赖对象注入到目标对象中。Spring 容器在创建 Bean 时负责完成这一过程,与传统的通过类直接构造或服务定位器模式获取依赖的方式形成对比(即控制反转,IoC)。代码简洁:对象无需主动查找依赖,也无需关心依赖的来源或具体实现。高解耦性:依赖关系由容器管理,组件间耦合度降低。易测试性:通过接口或抽象类注入依赖,便于在单元测试中使用模拟对象。谁依赖谁?应用程序依赖 IoC 容器。为什么需要依赖?

2025-03-07 11:52:15 980

原创 深入探究 Spring 依赖查找:全面指南

在 Spring 中,依赖查找指的是通过编程方式从 IoC 容器中主动获取 Bean(由容器管理的对象)的过程。与依赖注入(由容器自动提供依赖)不同,依赖查找允许开发者在需要时手动控制 Bean 的检索。这种方式在需要动态确定依赖或处理可选 Bean 的场景中尤为实用。根据 Bean 名称查找根据 Bean 类型查找根据 Bean 名称 + 类型查找根据 Java 注解查找此外,根据查找的 Bean 是单一对象还是集合对象,以及是否需要延迟查找,Spring 提供了不同的 API 支持。

2025-03-07 11:51:41 797

原创 理解 Spring Bean

Spring IoC 容器本身无法直接识别配置元数据。为此,需要将这些配置信息转换为 Spring 能够理解的格式——对象。类名:Bean 的全限定类名,必须是具体类,不能是抽象类或接口。行为配置:包括作用域、自动绑定模式、生命周期回调等元素。依赖关系:对其他 Bean 的引用,也称为合作者或依赖。属性设置:Bean 属性的配置。

2025-03-06 11:01:12 836

原创 Spring IoC 详解

IoC即控制反转(Inversion of Control),也被称为依赖倒置原则,是设计模式六大原则之一。其核心思想是程序应依赖抽象接口,而非具体实现,从而降低代码间的耦合度。依赖注入(DI):不通过类内部直接创建依赖对象,而是将外部创建好的依赖对象通过构造函数或参数传递给类使用。依赖查找:受控对象通过容器 API 查找所需资源和协作对象。谁控制谁,控制什么:传统编程中,对象由程序主动创建;而 IoC 中,对象由容器控制创建,容器负责管理外部资源获取。为何反转,哪些方面反转。

2025-03-06 11:01:05 1238

原创 深入解析 Java 容器之 Map

Java 的MapHashMap是性能与灵活性的最佳平衡,适合大多数无序存储需求。在需要保持插入顺序时大放异彩。TreeMap提供有序性,适合需要排序的场景。是缓存实现的理想选择。

2025-03-05 15:00:00 1912

原创 Spring Framework 深度解析:架构与核心思想

Spring Framework 是一个轻量级、一站式的企业级 Java 开发框架,旨在简化 J2EE 开发。其基础版本大小仅约 2MB,却提供了从 IoC 容器到 Web MVC 的全面支持。选择自由:提供多种实现方式,让开发者灵活选择。兼容性强:保持后向兼容,支持多种技术集成。高质量代码:注重 API 设计和代码严谨性。Spring 的目标是通过基于 POJO(Plain Old Java Object)的编程模型,提升开发效率并促进最佳实践,使开发者专注于业务逻辑而非底层复杂性。

2025-03-05 15:00:00 1145

原创 深入了解 Java 的 Set 容器

Set接口继承自Collection,定义了一个不允许重复元素的集合。它的方法签名与Collection从Set开始,其家族衍生出多个接口和实现类,满足不同需求。HashSet内部依赖HashMap,将元素作为键存储,值为一个虚拟对象PRESENTTreeSet基于TreeMap,同样以元素为键,值为PRESENT继承自HashSet,内部使用EnumSet是为EnumJava 的Set家族为开发者提供了多样化的工具。无论是HashSet的高效无序、的插入顺序、TreeSet的排序能力,还是。

2025-03-04 19:00:00 981

原创 深入 Java 的 Queue 容器

Queue接口继承自Collection为QueueDeque(Double Ended Queue,双端队列)继承自QueueArrayDeque是Deque的顺序表实现,使用动态数组支持队列和栈操作。LinkedList是Deque的链表实现,支持双端操作。Java 的QueueQueue和Deque定义了基本和双端操作;ArrayDeque高效实用,LinkedList灵活兼容,专注优先级。理解它们的特性和适用场景,能帮助你在开发中选择最优方案。

2025-03-04 19:00:00 575

原创 Java 容器之 List

List是一个接口,继承自Collection,代表一个有序队列,允许元素重复。其核心特点是按照插入顺序存储元素,并支持通过索引快速访问。List:继承自,实现了List接口的大部分方法(除size()和get(int)外),为具体实现类提供基础支持。:继承自,专注于链表操作,实现了基于索引的全部功能,适合顺序访问的场景。常见的List实现类包括ArrayListLinkedListVector和Stack,其中ArrayList和LinkedList是日常开发中最常用的两种。List。

2025-03-02 12:27:23 1163

原创 Java 容器梳理

Java 的容器框架是语言的核心组成部分,为开发者提供了存储、操作和检索数据的强大工具。本文梳理Java 容器的基础知识、框架结构、核心机制及实用注意事项。

2025-03-02 12:22:38 996

原创 深入解析网络七层模型:从基础到实践

在这篇博客中,我们将深入解析OSI七层模型,逐层分析其功能和作用,帮助你更好地理解计算机网络是如何运作的。

2024-09-21 22:00:00 1648

原创 TCP/IP协议详解:现代网络通信的基石

在本文中,我们将深入探讨TCP/IP协议的工作原理、其四层模型的结构,以及它如何实现可靠的数据传输。

2024-09-21 22:00:00 1607

原创 深入理解Java中不常见的关键字:`instanceof`、`strictfp`、`transient`、`volatile`

本文将深入介绍几个不常见的Java关键字,如instanceof、strictfp、transient、volatile,并解释它们的用法及相关注意事项。

2024-09-20 19:00:00 1041

原创 Java中的`String`、`StringBuffer` 和 `StringBuilder`:深入理解与应用场景

本文将详细介绍String、StringBuffer 和 StringBuilder,分析它们的工作原理、主要区别以及最佳实践。

2024-09-20 19:00:00 4333 1

原创 Java中的语法糖:让编程更简洁的特性

本文将深入介绍Java中的几种常见语法糖,并探讨它们的使用场景及实现原理。

2024-09-19 03:00:00 988

原创 深入解析 ArrayList 与 LinkedList:Java 集合框架中的两大常用 List

本文将详细探讨 ArrayList 和 LinkedList 的底层实现、优缺点以及适用场景,帮助你在实际开发中作出更合理的选择。

2024-09-19 03:00:00 1137

原创 Java关键字详解:构建Java语言的基础元素

本文将详细解析Java中的关键字及其用途,并结合代码示例说明如何在实际开发中使用这些关键字。

2024-09-18 00:00:00 1551

原创 Java中的OOM与SOF:详解内存溢出与栈溢出

本文将详细介绍OOM与SOF的概念、产生原因及其解决方案,帮助开发者识别并处理这些问题,编写更加健壮的Java程序。

2024-09-18 00:00:00 1167

原创 浮点数计算精度丢失问题及解决方案

本文将详细探讨浮点数计算的精度丢失问题,分析其成因,并提供解决方案。

2024-09-17 00:00:00 2573

原创 Java I/O流详解:输入输出流的基础与高级用法

本文将详细介绍Java I/O流的基本概念、分类以及常见的应用场景,并涵盖一些高级用法。

2024-09-17 00:00:00 743

原创 从汇编语言到高级语言:人类计算机科学的伟大探索

从最早的汇编语言到如今多样的高级语言,我们不禁感叹:人类的创造力和进取精神,正是这段旅程中最为耀眼的光芒。

2024-09-16 00:00:00 868

原创 Linux发展史:从个人项目到全球开源操作系统的崛起

本文将带你回顾Linux的发展历程,了解它如何从一个业余项目成长为全球开源社区的代表性成就。

2024-09-16 00:00:00 2525

原创 深入解析Java中的反射机制(Reflection)

本文将详细介绍反射的工作原理、常见用法、优缺点以及反射在实际开发中的应用场景。

2024-09-15 00:00:00 1431

原创 Java中的Lambda表达式和Stream API详解

本文将详细解析Lambda表达式和Stream API的使用方法,并结合实际示例展示它们如何改变传统的编程方式。

2024-09-15 00:00:00 1308

原创 Java异常处理机制详解

本文将全面解析Java中的异常处理机制,帮助开发者更好地理解和应用这一强大工具。

2024-09-14 00:00:00 804

原创 Java集合框架(Collections Framework)入门

本文将深入解析Java集合框架的基本组成,介绍常用集合类型及其使用场景,帮助你更好地掌握集合在Java开发中的应用。

2024-09-14 00:00:00 1045

原创 深入理解Java泛型

本文深入探讨了Java泛型,详细介绍了泛型的概念、优势及其在类、方法和接口中的使用方式。

2024-09-13 00:00:00 865

原创 深入解析Java的四种引用

本文介绍了Java中的四种引用类型:强引用、软引用、弱引用和虚引用。

2024-09-13 00:00:00 920

原创 Java中的String不可变性详解

本文将详细探讨`String`不可变性的原因、其带来的优势,以及如何应对性能问题。

2024-09-12 00:00:00 1236

原创 深入解析Java内存模型:从堆到栈的全面剖析

本文将深入剖析Java内存模型,尤其是堆(Heap)与栈(Stack)的作用和区别,帮助开发者更好地掌握Java内存管理的机制。

2024-09-12 00:00:00 1324

原创 Java中的类加载与卸载机制详解

本文将详细介绍Java类加载的过程、类加载器的工作原理以及类的卸载机制。

2024-09-11 00:00:00 909

原创 Java 访问修饰符详解:public、private、protected 及默认访问权限

本文将详细介绍public、private、protected和默认(不写修饰符)这些访问修饰符的区别,并讨论它们在实际开发中的应用场景。

2024-09-11 00:00:00 10105

空空如也

空空如也

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

TA关注的人

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