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

原创 ArrayList及扩容机制-源码讲解
ArrayList 是 Java 集合框架中的一个重要类,它实现了 List 接口,并提供了动态数组的功能。ArrayList 的大小可以随着元素的添加或删除而动态变化,无需手动管理内存。
2024-08-07 16:14:14
3077
2
原创 一文弄懂---窗口函数 (大量例子)
窗口函数用在你在不的情况下,对数据集中的某一部分(称为“窗口”)执行计算。与传统聚合函数(例如SUM、AVG等)不同。这意味着你可以对某一行的数据进行分析,同时保留该行在结果中的位置。窗口函数常用于排序、排名、汇总和运行合计等操作。
2024-12-27 11:39:17
887
原创 DOM --- 一文弄懂
DOM 树是浏览器用来表示页面内容的树形结构,它是浏览器渲染页面的基础。通过 JavaScript 修改 DOM,你可以动态地更新页面内容,比如改变文本、样式,甚至添加或删除元素。动态更新是指在不重新加载整个页面的情况下,通过修改 DOM 来改变页面内容和结构,这使得现代网页可以响应用户交互,提供丰富的动态效果。
2024-12-19 16:46:23
2215
原创 C# CancellationToken 终止操作
需要在异步操作中提供终止功能时,最常用的方法是使用 。这个工具可以让你在需要时优雅地取消异步操作,而不是强制终止线程。.NET 中不建议直接终止线程,因为这可能导致资源泄露和数据不一致等问题。强制终止线程可能会中断一个正在执行的操作,甚至可能使应用程序处于未定义的状态。 是 .NET 提供的一个结构,用于处理异步任务的取消。它允许你在长时间运行的操作中检查用户是否请求取消,从而保证程序的响应性。以下是使用 的关键步骤,这些步骤在示例代码中都有体现:首先,创建一个 实例。这个实例提供了一个 ,可以将其传递
2024-12-03 17:36:33
504
原创 C# 线程--Thread类
线程是操作系统中执行代码的最小单位,它是进程(Process)内的一个独立执行流。每个线程都有自己的调用堆栈和程序计数器,但与同一进程内的其他线程共享内存和资源。使用线程可以实现多任务处理,提高程序的响应速度。Thread类位于命名空间中。每个Thread对象表示一个线程,可以通过该对象启动、停止和管理线程的执行。
2024-12-03 12:14:35
2117
原创 C# 匿名类型和匿名方法
特性匿名类型显式类型匿名方法命名方法简洁性提供快速创建对象的能力,减少样板代码需要额外的类定义简单且快速,适用于一次性操作更清晰,适用于复杂逻辑灵活性局限于局部范围,无法复用可重用并可以在其他地方使用可在特定上下文中使用更加模块化和可维护可读性简单场景下更易读复杂场景下更具可读性一次性逻辑可能导致代码难以阅读清晰的函数名有助于理解意图性能性能开销较小(由于编译时优化)建立类时可能有开销开销小创建方法时可能有轻微的性能影响。
2024-12-01 22:00:11
933
1
原创 C# 集合框架的主要接口和基类的关系(含源码讲解)
在C#中,集合框架的设计遵循了OOP(面向对象编程)的原则,尤其是通过继承和接口的使用,使得不同类型的集合能够共享相同的基本行为和方法。
2024-12-01 17:37:31
1296
1
原创 C# 索引器 详解(含对照例子)
是 C# 中的一种特殊成员,允许你像访问数组那样,通过索引来访问对象的元素。它使得在类或结构中以集合的方式获取或设置值变得更加直观。
2024-11-27 10:57:35
1037
原创 C# 反射详解
反射是C#中的一个强大特性,允许程序在检查和操作类型和对象的信息。通过反射,你可以获取类型的等信息,并可以动态创建对象、调用方法或访问属性,甚至可以实现某些框架或库的核心功能。
2024-11-27 09:12:51
1460
原创 Vue: computed 计算属性
在Vue中,computed属性是用于计算和返回基于其他响应式数据的值的功能。适合在模板中使用,因为能够。当依赖的数据变化时,computed属性会重新计算,并且会将结果,以提高性能。
2024-11-25 15:17:40
727
原创 Docker Compose --- 管理多容器应用
用于定义和运行多容器 Docker 应用程序。通过 Compose,用户可以使用 YAML 文件来配置应用程序的服务、网络和卷等资源以下compose.yaml示例展示如何部署两个服务WordPress 和 MySQL的环境。
2024-10-31 23:51:56
642
1
原创 Result 和 自定义异常 在前后端交互中的作用
自定义异常是指根据业务需求创建的异常类,它们可以帮助后端更精确地处理和传递错误信息。精确的错误处理:自定义异常允许开发人员针对特定的业务需求创建新的异常类型,从而使错误处理更加精确。例如,当用户尝试访问一个不存在的资源时,后端可以抛出一个自定义的异常,前端可以根据这个异常类型做出相应的处理。增强代码可读性:通过使用自定义异常,代码的可读性和维护性得到了增强。每个自定义异常类通常都有一个明确的含义,这使得开发人员在阅读代码时能够更容易地理解异常的来源和原因。统一异常处理。
2024-09-06 21:34:17
1540
原创 XXL-JOB调度中心与执行器
XXL-JOB的调度中心负责任务的管理和调度,执行器负责任务的实际执行。两者通过RESTful API进行交互,确保任务的高效、可靠执行。调度中心提供了丰富的任务管理和监控功能,执行器则支持多种任务类型和动态上下线管理,共同构成了一个强大的分布式任务调度平台。
2024-09-06 00:06:57
1786
原创 Spring Task
Spring Task是Spring框架提供的一个简单易用的定时任务工具,适用于轻量级的定时任务需求。它支持注解和配置文件两种方式来定义任务,使用灵活方便。虽然默认是单线程的,但通过配置线程池可以实现多线程任务调度。对于不需要复杂调度功能的项目,Spring Task是一个很好的选择。
2024-09-05 22:10:15
878
原创 JVM-垃圾回收 (一文弄懂)
在Java虚拟机(JVM)中,垃圾收集(GC)是自动管理内存的重要机制。其主要任务是识别不再被引用的对象并回收其占用的内存。
2024-08-28 00:04:53
1927
2
原创 JVM-类加载器
类加载器负责查找和加载类文件,并将其转换为JVM可以直接使用的内部表示形式。Java中有多种不同类型的类加载器,它们共同构成了Java的类加载机制。
2024-08-27 08:30:00
2178
2
原创 JVM-类加载过程
类加载过程是 Java 虚拟机 (JVM) 将 Java 代码编译后的字节码文件加载到内存中,并进行解析和验证,最终使程序能够运行的关键步骤。
2024-08-26 20:09:07
1769
2
原创 JVM-内存结构(超详细)
程序计数器(PC 寄存器)是 JVM 中的一块小型内存区域,专门用于存储当前线程正在执行的字节码指令的地址。若当前线程正在执行的是本地方法,此时程序计数器的值将为undefined,表示没有指向任何有效的字节码指令。Java 虚拟机栈是 JVM 中用于描述 Java 方法运行过程的内存模型。每当一个 Java 方法被调用时,JVM 会为其创建一个称为“栈帧”的区域,以存储该方法执行过程中的相关信息。用于支持 Java 程序调用本地方法本地方法是用其他语言(如 C 或 C++)编写的方法。
2024-08-26 17:02:01
2365
1
原创 Java Optional (看完就会)
Optional类为 Java 提供了一种优雅的方式来处理可能为 null 的值。通过使用Optional,开发者可以减少空指针异常的发生,提高代码的可读性和安全性。在实际开发中,合理使用Optional可以使代码更加简洁和易于维护。
2024-08-21 17:48:52
2184
原创 事务 --- 详细讲解
事务是指一组数据库操作的集合,这些操作要么全部成功,要么全部失败。事务的设计目的是为了确保数据的一致性和完整性,尤其是在并发环境中。
2024-08-17 19:18:04
2053
1
原创 MySQL---全局锁,表级锁,行级锁
MySQL中的全局锁、表级锁和行级锁各有优缺点和适用场景。全局锁主要用于全库逻辑备份和数据库维护;表级锁适用于整表操作和高并发读写;行级锁则因其粒度细小而广泛应用于特定行操作和减少死锁的场景。选择合适的锁机制能够显著提高数据库的并发性能和数据一致性.全局锁:虽然避免了死锁,但其高开销和低并发性能使其在实际应用中较少使用。表级锁:开销小且加锁快,适合只读或单用户应用,能有效避免死锁并提高并发性能。行级锁:适用于多用户、高并发的应用程序,能提供较高的并发性能,但需要注意死锁的处理。
2024-08-16 23:59:55
1845
1
原创 缓存穿透、缓存雪崩和缓存击穿 及解决方案
在现代分布式系统中,缓存是提高系统性能的重要手段。然而,缓存的使用也可能引发一些问题,其中最常见的包括缓存穿透、缓存雪崩和缓存击穿。以下是对这三种现象的详细讲解。
2024-08-15 23:47:44
2226
原创 RESTful API
RESTful(Representational State Transfer)是一种架构风格,广泛用于构建基于网络的服务,尤其是Web服务。RESTful API(应用程序编程接口)遵循REST的原则,提供了一种简单、灵活的方式来进行客户端与服务器之间的交互。
2024-08-15 23:13:06
2087
原创 File类详解
在Java中,java.io.File类是用于表示文件和目录路径的抽象概念。它提供了一系列方法来创建、查找、删除以及操作文件和目录。通过File类,开发者可以方便地进行文件系统的操作,而不需要直接与底层操作系统交互。
2024-08-13 22:42:06
1503
1
原创 拦截器与过滤器
拦截器(Interceptor)和过滤器(Filter)都能够对请求进行拦截和处理。虽然它们的功能相似,但实现机制和使用场景却有所不同。
2024-08-12 22:42:31
2410
原创 JavaWeb-Filter(过滤器)
过滤器(Filter)是Servlet技术中的一个重要组件,它位于客户端与服务器端之间,用于拦截客户端发送到服务器的请求,或者在服务器将响应返回给客户端之前对响应进行处理。
2024-08-12 21:52:07
2099
原创 Docker 数据卷与挂载
在 Docker 中,数据卷和挂载是管理和持久化容器数据的关键机制。它们允许用户在容器之间共享数据,并确保数据在容器重启或删除后仍然存在。
2024-08-09 20:51:28
2289
原创 BaseMapper、IService 和 ServiceImpl 的关系
BaseMapper、IService 和 ServiceImpl 是MybatisPlus能简化使用Mybatis开发的核心。
2024-08-09 10:21:37
2080
原创 ThreadLocal讲解 及 开发中的使用
ThreadLocal(线程局部变量)是Java中用于实现线程隔离的一种机制。它允许每个线程拥有自己独立的变量副本,从而避免了多线程环境下的数据冲突问题。
2024-08-09 01:59:59
3016
原创 低代码开发:软件革命的新趋势
在这个快速变化的数字时代,低代码开发平台正以惊人的速度崛起,成为软件开发领域的热门话题。想象一下,不需要成为编程专家,你也能创建一个功能齐全的应用程序。这就是低代码平台的魅力所在!它们正在改变我们构建软件的方式,让更多人参与其中。今天,我们就来聊聊低代码开发的那些事儿,从技术概览到效率与质量的平衡,再到它给我们带来的挑战和机遇。
2024-08-08 16:58:42
1913
原创 可变参数(Varargs)
Java中的可变参数(Varargs)是Java 5引入的一项功能,允许方法接受数量可变的参数。使用可变参数,可以在调用方法时传递任意数量的参数,而不需要为每个可能的参数数量定义不同的方法版本。
2024-08-07 19:36:18
1436
原创 工厂方法模式(一文理解)
工厂方法模式 (Factory Method Pattern)是一种创建型设计模式,旨在定义一个创建对象的接口,但让子类决定实例化哪一个类。
2024-08-06 22:23:37
2390
1
原创 简单工厂模式(一文理解)
简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,又称静态工厂模式(Static Factory Method)。简单工厂模式的核心是一个工厂类,这个工厂类负责创建不同类型的对象,而客户端代码只需要调用工厂类的方法即可创建对象,无需关心对象的具体创建过程。
2024-08-06 21:13:53
2177
原创 MySQL实现分页查询
在MySQL中实现分页查询,通常会使用LIMIT和OFFSET子句。LIMIT用于指定返回结果的数量,而OFFSET用于指定跳过多少条记录。
2024-08-05 21:12:39
1483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人