自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis深度解析:从缓存原理到高并发实战

Redis的成功不仅在于其卓越的性能表现,更体现了"简单即是美"的设计哲学。通过精心设计的数据结构、明智的单线程选择和对内存计算的专注,Redis在分布式系统领域树立了典范。在实际应用中,开发者需要深入理解业务场景,在缓存一致性、性能与成本之间找到平衡点。记住:没有放之四海而皆准的架构方案,只有最适合当前业务发展阶段的技术选择。正如Redis创始人Salvatore Sanfilippo所说:"Redis不是数据库的替代品,而是为特定问题提供特定解决方案的工具。

2025-07-17 20:38:23 552

原创 微服务架构:从单体到分布式系统的演进与实践

微服务架构不是银弹,而是一套需要根据业务场景灵活应用的架构范式。从单体到微服务的演进过程,体现了软件工程从集中式到分布式的必然趋势。Spring Cloud Alibaba为Java开发者提供了开箱即用的微服务解决方案,但真正的挑战在于如何将技术架构与组织架构相匹配,构建高效能的交付团队。正如Martin Fowler所言:"微服务的价值不在于技术实现,而在于它支持的独立部署和业务能力导向的组织结构。"在数字化转型的浪潮中,掌握微服务架构将成为架构师的必备技能,而其成功实施需要技术、流程和文化的全面革新。

2025-07-17 20:18:49 1093

原创 MySQL高级篇(二):深入理解数据库事务与MySQL锁机制

数据库事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全部成功执行,要么全部不执行。事务是对数据库的一次连接过程中发送的多条SQL语句执行进行管理,保证这多条SQL要么都执行,要么都不执行。以银行转账为例,转账操作包含两个关键步骤:从A账户减钱向B账户加钱这两个操作必须作为一个整体执行,任何一个步骤失败都必须回滚整个操作,否则会导致数据不一致。sql-- SQL1: 从A账户减钱-- 异常发生点-- SQL2: 向B账户加钱COMMIT;

2025-07-15 19:21:57 905

原创 MySQL高级篇(一):从存储引擎到索引优化实战

本文系统解析了MySQL架构与优化策略,涵盖四大部分:1)MySQL分层架构剖析(连接层、服务层、引擎层和文件层);2)存储引擎深度优化,对比InnoDB和MyISAM特性及适用场景;3)索引原理与优化实践,详解B+Tree结构、索引类型及高效使用策略;4)性能监控与维护方法。文章提供了20+实用SQL示例和配置建议,强调应根据业务特点选择优化方案。通过架构解析与实战案例结合,帮助开发者构建高性能MySQL数据库系统。

2025-07-14 19:36:36 1207

原创 java进阶(三):单例、工厂、模版方法与代理模式详解

设计模式实践总结 本文介绍了四种常用设计模式。单例模式确保类只有一个实例,有饿汉式(线程安全)和懒汉式(延迟加载)实现。工厂模式分为简单工厂、工厂方法和抽象工厂,封装对象创建过程。模版方法模式定义算法骨架,允许子类重写特定步骤。代理模式通过静态或动态方式控制对象访问,其中动态代理包括JDK(需接口)和CGLIB(无需接口)实现。这些模式各有优缺点,应根据实际需求选择使用,避免过度设计。合理运用设计模式可使代码更灵活易维护。

2025-07-14 19:26:58 387

原创 java进阶(二)+学习笔记

面向对象设计以类和对象为核心,通过封装隐藏细节、继承实现复用、多态单一职责(一个类只做一件事)、开闭原则(扩展开放/修改关闭)、接口隔离(细化接口功能)、依赖倒置(面向抽象编程)、组合复用(优先组合而非继承)、里氏替换(子类可无缝替换父类)、迪米特法则(减少对象直接耦合),这些原则共同指导构建高内聚、低耦合、易维护的软件系统。

2025-07-13 19:33:21 1593

原创 java进阶(一)+学习笔记

摘要:设计模式是软件开发中针对常见问题的标准化解决方案,分为创建型、结构型和行为型三大类。学习设计模式能提升编程思维、代码质量和系统扩展性。UML类图是表达类关系的建模语言,包含继承、实现、依赖、关联等关系类型。设计原则如开闭原则、单一职责原则等指导模式应用。实际开发中应避免过度设计,理解模式思想比记忆结构更重要,灵活组合模式解决复杂问题。设计模式是提升代码质量的重要工具,但需合理运用才能发挥最大价值。

2025-07-12 19:51:57 698

原创 JAVA线程池详解+学习笔记

继承Thread类:重写run()方法。实现Runnable接口:更灵活,推荐使用。实现Callable接口:可返回结果,配合FutureTask使用。线程池:高效管理线程资源,实际开发首选。通过合理使用线程池和ThreadLocal,可显著提升多线程程序的性能和安全性。

2025-07-12 19:21:43 386

原创 java集合类复习

HashMap是Java中基于哈希表的Map实现类,采用数组+链表+红黑树结构存储键值对。核心特点包括:允许null键值、非线程安全、键不可重复。其实现原理包含哈希计算、扩容机制和树化转换等关键机制,默认初始容量16,负载因子0.75。当链表长度超过8且容量达到64时转为红黑树优化查询效率。多线程环境下存在数据安全问题,建议使用ConcurrentHashMap替代。

2025-07-11 19:20:54 464

原创 搭建前端平台node.js

搜索nide进入官网选中预构建安装程序-------v16.20.2直接安装。

2024-12-21 18:37:21 173

原创 数据库基础:构建数据管理坚实基石

数据库作为数据管理的核心工具,在各个领域都发挥着至关重要的作用。掌握数据库基础知识,对于提高数据处理能力、优化业务流程和推动创新发展具有重要意义。希望本文能够为你打开数据库世界的大门,助你在数据管理的道路上越走越远。

2024-10-13 15:20:08 439

原创 MySQL 安装指南:从下载到配置的全过程

通过以上步骤,你应该能够在不同的操作系统上成功安装和配置 MySQL。安装完成后,你可以根据自己的需求进一步配置数据库,如创建用户、数据库和设置权限。MySQL 提供了丰富的文档和社区资源,帮助你解决在使用过程中可能遇到的问题。祝你安装顺利,早日掌握 MySQL 的强大功能!

2024-10-13 15:17:24 2391

原创 Java线程编程

例如,当我们使用synchronized关键字或者ReentrantLock等锁工具时,可以确保在同一时刻只有一个线程能够访问被锁定的代码块,从而避免了多线程同时修改共享资源导致的数据不一致问题。在Java中,由于线程间的工作内存是独立的,如果没有适当的同步机制,一个线程对共享变量的修改对其他线程来说可能是不可见的。有序性是指程序执行的顺序是按照代码的顺序进行的。然而,在多线程环境中,由于线程间的调度是随机的,如果没有适当的同步机制,程序的实际执行顺序可能与代码顺序不一致,从而导致意想不到的结果。

2024-09-25 15:33:34 407

原创 Java中异常的概念:深入解析与应用

异常是在程序执行过程中发生的不正常或错误情况。当Java虚拟机检测到这种情况时,它会抛出一个对象来表示异常。这个对象包含了异常的类型、发生异常的代码位置等信息,并且可以被捕获和处理。Java允许开发者自定义异常类,只需继承自Exception类或其子类即可。自定义异常可以更好地表达业务逻辑中的特定错误情况。java复制代码。

2024-07-26 19:06:11 349

原创 Java:深入理解Java中的Map接口及其实现

Map接口位于java.util包中,它不是一个具体的类,而是一个接口,定义了操作键值对的通用方法。: 将指定的值与此映射中的指定键关联(可选操作)。: 返回指定键所映射的值;如果此映射不包含该键的映射,则返回null。: 如果存在该键的映射,则将其删除(可选操作)。: 如果此映射包含指定键的映射,则返回true。: 如果此映射将一个或多个键映射到指定值,则返回true。size(): 返回此映射中的键值对数量。

2024-07-26 19:00:00 553

原创 Java:把数组存在map中

2024-07-26 14:06:26 704

原创 Java:三种遍历方式(map)

实例:

2024-07-24 17:34:09 215

原创 Java:项目的构建步骤

2024-07-21 09:24:21 160

原创 Java:正则表达式

1,单个字符匹配2,多个字符匹配。

2024-07-17 19:18:05 168

原创 Java:String 的简单应用

数组元素的删除字符串与数组的转换大小写转换查找字符串/替换。

2024-07-14 21:02:15 239

原创 Java:方法,数组

2024-07-13 15:30:58 99

原创 Java:if的用法

if(表达式true/false)

2024-07-12 20:23:11 214

原创 Java语法基础

本文将带你深入了解Java的基本语法,从变量声明到控制流语句,一步步构建你的Java知识体系。当然,Java的语法远不止这些,但掌握这些基础是进一步深入学习Java的关键。程序的入口点是包含main方法的类,该方法是程序开始执行的地方。引用数据类型:如类(class)、接口(interface)和数组(array)等,它们是通过引用(即内存地址)来访问的。Java提供了丰富的运算符,用于执行基本的算术运算、关系比较、逻辑判断等操作。关系运算符:>、<、==、!=、>=、<=等,用于比较两个值的大小关系。

2024-07-12 08:34:37 320

原创 Java入门:如何下载jdk

找到java.exe和javac.exe。

2024-07-11 07:37:33 136

原创 C语言结构体(struct)详解

在这个示例中,我们定义了一个名为initStudent的函数,它接受一个指向Student结构体变量的指针以及三个参数(学生姓名、年龄和成绩)。结构体的定义使用struct关键字,后面跟着结构体的名称和结构体成员列表。在这个示例中,我们定义了一个名为Student的结构体,它包含三个成员:name(字符数组,用于存储学生姓名)、age(整型,用于存储学生年龄)和score(浮点型,用于存储学生成绩)。在这个示例中,我们定义了一个名为stu1的Student结构体变量,并在定义时初始化了其成员。

2024-06-23 09:13:39 1125 1

原创 c语言二维数组

在C语言中,二维数组是一种非常重要的数据结构,它可以看作是数组的数组。二维数组中的每个元素都是一维数组,因此它可以用来表示矩阵、表格等具有行和列的数据结构。我们可以通过两个索引(下标)来访问二维数组中的元素,第一个索引表示行,第二个索引表示列。j++) { // 注意这里只计算半个矩阵,因为乘法表是对称的。

2024-06-15 21:26:29 311

原创 c语言数组

数组是一种线性表数据结构,它用一段连续的存储单元来存放相同类型的数据元素的集合。在C语言中,数组的大小是固定的,一旦定义就不能改变。我们可以通过索引(下标)来访问数组中的元素,索引从0开始。在C语言的世界里,数组无疑是一个强大而灵活的工具。比如,我们可以使用数组来处理大量的数据,进行排序、查找等操作。数组的下标从0开始,访问数组时要确保下标在有效范围内。// 也可以通过在声明时直接赋值来初始化数组。// 声明一个包含5个整数的数组。数组的大小必须在编译时确定,不能是变量。// 还可以指定数组的大小。

2024-06-15 21:24:31 372

原创 C语言数组:基础与进阶探索

C语言中的数组是一种非常强大且灵活的数据结构,它可以帮助我们高效地处理大量数据。在C语言中,数组是一个非常重要的数据结构,它允许我们在内存中存储相同类型的多个元素,并通过索引来访问这些元素。数组是编程中处理大量数据的基石,对于任何想要深入学习C语言的开发者来说,理解并掌握数组是必不可少的。在C语言中,数组的大小在声明时是固定的,一旦声明后就不能改变。在C语言中,我们通过索引来访问数组中的元素。在C语言中,我们可以在声明数组的同时进行初始化,也可以在声明后单独进行初始化。是数组中元素的类型(如。

2024-06-02 16:28:22 423

原创 c语言函数基础

parameter1_type parameter1, parameter2_type parameter2, ...:函数的参数列表,表示传递给函数的值。函数是一段可以重复使用的代码块,它执行特定的任务并返回一个值(或没有返回值)。return_type:函数的返回类型,表示函数返回值的类型。return value:对于返回类型的函数,使用return语句返回一个值。function_name:函数的名称,用于在程序中引用该函数。// 定义一个名为add的函数,它接受两个整数参数并返回它们的和。

2024-06-02 08:58:06 155

原创 c语言函数递归运算

递归函数的基本思想是将一个复杂的问题分解为若干个与原问题相似但规模较小的问题,然后递归地求解这些小问题,并将它们的解组合起来得到原问题的解。记忆化递归:对于重复计算的递归问题,我们可以使用记忆化技术来存储已经计算过的结果,从而避免重复计算。递归基:递归函数必须有一个或多个基准情况(Base Case),当函数达到这些基准情况时,它将不再递归调用自身,而是返回一个具体的值。注意:虽然斐波那契数列的递归实现简单易懂,但在实际应用中,由于其重复计算和效率低下的特点,通常会采用动态规划或其他优化方法来解决。

2024-05-30 23:37:08 345

原创 c语言循环结构

for循环的工作流程是:首先执行初始化表达式,然后判断条件表达式是否为真,如果为真,则执行循环体;执行完毕后执行更新表达式,再次判断条件表达式,如此反复,直到条件表达式为假时跳出循环。while循环的工作流程是:首先判断条件表达式是否为真,如果为真,则执行循环体;执行完毕后再次判断条件表达式,如果仍然为真,则继续执行循环体,如此反复,直到条件表达式为假时跳出循环。do-while循环与while循环类似,但不同之处在于do-while循环至少会执行一次循环体,然后再判断条件表达式。for (初始化表达式;

2024-05-26 16:53:47 280

原创 c语言基础入门

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。无论是操作系统、嵌入式系统、游戏开发,还是各种应用程序,C语言都扮演着重要的角色。本文介绍了C语言的基础知识,包括C语言简介、开发环境搭建、基础语法、函数与程序结构等方面。接下来,我们可以进一步深入学习C语言的高级特性和应用,编写出更加复杂和实用的程序。安装完成后,我们可以创建一个新的C语言项目,并编写代码进行编译和运行。

2024-05-26 08:08:23 763

空空如也

空空如也

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

TA关注的人

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