自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ArrayList及扩容机制-源码讲解

ArrayList 是 Java 集合框架中的一个重要类,它实现了 List 接口,并提供了动态数组的功能。ArrayList 的大小可以随着元素的添加或删除而动态变化,无需手动管理内存。

2024-08-07 16:14:14 2519

原创 JVM-垃圾回收 (一文弄懂)

在Java虚拟机(JVM)中,垃圾收集(GC)是自动管理内存的重要机制。其主要任务是识别不再被引用的对象并回收其占用的内存。

2024-08-28 00:04:53 1006

原创 JVM-类加载器

类加载器负责查找和加载类文件,并将其转换为JVM可以直接使用的内部表示形式。Java中有多种不同类型的类加载器,它们共同构成了Java的类加载机制。

2024-08-27 08:30:00 1185

原创 JVM-类加载过程

类加载过程是 Java 虚拟机 (JVM) 将 Java 代码编译后的字节码文件加载到内存中,并进行解析和验证,最终使程序能够运行的关键步骤。

2024-08-26 20:09:07 963

原创 JVM-内存结构(超详细)

程序计数器(PC 寄存器)是 JVM 中的一块小型内存区域,专门用于存储当前线程正在执行的字节码指令的地址。若当前线程正在执行的是本地方法,此时程序计数器的值将为undefined,表示没有指向任何有效的字节码指令。Java 虚拟机栈是 JVM 中用于描述 Java 方法运行过程的内存模型。每当一个 Java 方法被调用时,JVM 会为其创建一个称为“栈帧”的区域,以存储该方法执行过程中的相关信息。用于支持 Java 程序调用本地方法本地方法是用其他语言(如 C 或 C++)编写的方法。

2024-08-26 17:02:01 1089

原创 Java Optional (看完就会)

Optional类为 Java 提供了一种优雅的方式来处理可能为 null 的值。通过使用Optional,开发者可以减少空指针异常的发生,提高代码的可读性和安全性。在实际开发中,合理使用Optional可以使代码更加简洁和易于维护。

2024-08-21 17:48:52 1387

原创 Redis缓存更新策略

主动更新策略在Redis缓存中的实现主要依赖于读写分离和异步处理机制,能够有效提高数据一致性。

2024-08-19 23:27:15 1262

原创 事务 --- 详细讲解

事务是指一组数据库操作的集合,这些操作要么全部成功,要么全部失败。事务的设计目的是为了确保数据的一致性和完整性,尤其是在并发环境中。

2024-08-17 19:18:04 1253

原创 MySQL---全局锁,表级锁,行级锁

MySQL中的全局锁、表级锁和行级锁各有优缺点和适用场景。全局锁主要用于全库逻辑备份和数据库维护;表级锁适用于整表操作和高并发读写;行级锁则因其粒度细小而广泛应用于特定行操作和减少死锁的场景。选择合适的锁机制能够显著提高数据库的并发性能和数据一致性.全局锁:虽然避免了死锁,但其高开销和低并发性能使其在实际应用中较少使用。表级锁:开销小且加锁快,适合只读或单用户应用,能有效避免死锁并提高并发性能。行级锁:适用于多用户、高并发的应用程序,能提供较高的并发性能,但需要注意死锁的处理。

2024-08-16 23:59:55 1081

原创 缓存穿透、缓存雪崩和缓存击穿 及解决方案

在现代分布式系统中,缓存是提高系统性能的重要手段。然而,缓存的使用也可能引发一些问题,其中最常见的包括缓存穿透、缓存雪崩和缓存击穿。以下是对这三种现象的详细讲解。

2024-08-15 23:47:44 1353

原创 RESTful API

RESTful(Representational State Transfer)是一种架构风格,广泛用于构建基于网络的服务,尤其是Web服务。RESTful API(应用程序编程接口)遵循REST的原则,提供了一种简单、灵活的方式来进行客户端与服务器之间的交互。

2024-08-15 23:13:06 1291

原创 编程学习之路:如何建立高效的笔记系统

编程学习是一个持续而深入的过程,要想在这条路上走得更远,掌握高效的笔记记录和整理方法至关重要。下面我将从三个方面为大家分享我的一些心得体会。

2024-08-14 20:05:10 659

原创 File类详解

在Java中,java.io.File类是用于表示文件和目录路径的抽象概念。它提供了一系列方法来创建、查找、删除以及操作文件和目录。通过File类,开发者可以方便地进行文件系统的操作,而不需要直接与底层操作系统交互。

2024-08-13 22:42:06 820

原创 泛型讲解及自定义泛型

简单来说,泛型就是一种参数化类型,使得代码可以适用于多种数据类型,而无需为每种数据类型都编写一遍代码。

2024-08-13 22:26:43 732

原创 拦截器与过滤器

拦截器(Interceptor)和过滤器(Filter)都能够对请求进行拦截和处理。虽然它们的功能相似,但实现机制和使用场景却有所不同。

2024-08-12 22:42:31 1663

原创 JavaWeb-Filter(过滤器)

过滤器(Filter)是Servlet技术中的一个重要组件,它位于客户端与服务器端之间,用于拦截客户端发送到服务器的请求,或者在服务器将响应返回给客户端之前对响应进行处理。

2024-08-12 21:52:07 1323

原创 Docker 数据卷与挂载

在 Docker 中,数据卷和挂载是管理和持久化容器数据的关键机制。它们允许用户在容器之间共享数据,并确保数据在容器重启或删除后仍然存在。

2024-08-09 20:51:28 1583

原创 BaseMapper、IService 和 ServiceImpl 的关系

BaseMapper、IService 和 ServiceImpl 是MybatisPlus能简化使用Mybatis开发的核心。

2024-08-09 10:21:37 1231

原创 ThreadLocal讲解 及 开发中的使用

ThreadLocal(线程局部变量)是Java中用于实现线程隔离的一种机制。它允许每个线程拥有自己独立的变量副本,从而避免了多线程环境下的数据冲突问题。

2024-08-09 01:59:59 2427

原创 低代码开发:软件革命的新趋势

在这个快速变化的数字时代,低代码开发平台正以惊人的速度崛起,成为软件开发领域的热门话题。想象一下,不需要成为编程专家,你也能创建一个功能齐全的应用程序。这就是低代码平台的魅力所在!它们正在改变我们构建软件的方式,让更多人参与其中。今天,我们就来聊聊低代码开发的那些事儿,从技术概览到效率与质量的平衡,再到它给我们带来的挑战和机遇。

2024-08-08 16:58:42 1845

原创 可变参数(Varargs)

Java中的可变参数(Varargs)是Java 5引入的一项功能,允许方法接受数量可变的参数。使用可变参数,可以在调用方法时传递任意数量的参数,而不需要为每个可能的参数数量定义不同的方法版本。

2024-08-07 19:36:18 1317

原创 工厂方法模式(一文理解)

工厂方法模式 (Factory Method Pattern)是一种创建型设计模式,旨在定义一个创建对象的接口,但让子类决定实例化哪一个类。

2024-08-06 22:23:37 1846

原创 简单工厂模式(一文理解)

简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,又称静态工厂模式(Static Factory Method)。简单工厂模式的核心是一个工厂类,这个工厂类负责创建不同类型的对象,而客户端代码只需要调用工厂类的方法即可创建对象,无需关心对象的具体创建过程。

2024-08-06 21:13:53 1716

原创 乐观锁和悲观锁

MyBatis-Plus 提供了乐观锁和悲观锁的支持,用于处理并发控制,确保数据操作的准确性和一致性。

2024-08-05 23:59:44 1566

原创 MybatisPlus实现分页查询

MybatisPlus通过插件简化了分页查询

2024-08-05 23:17:35 1563

原创 MySQL实现分页查询

在MySQL中实现分页查询,通常会使用LIMIT和OFFSET子句。LIMIT用于指定返回结果的数量,而OFFSET用于指定跳过多少条记录。

2024-08-05 21:12:39 1374

原创 Mybatis-Plus 自动填充功能

Mybatis-Plus 提供了强大的自动填充功能,可以自动填充实体类中的某些字段,简化开发流程,提高代码效率。

2024-08-05 20:37:45 2091

原创 MyBatis 开发流程(看完就会)

在使用 MyBatis 进行开发时,我们可以选择从前向后或从后向前的两种方式来构建代码。本文将Mybatis开发的实际流程分为从前向后和从后向前进行讲解

2024-08-05 20:11:25 1906

原创 人工智能时代,程序员如何保持核心竞争力?

人工智能时代,程序员的未来会怎样?是会被 AI 取代,还是会迎来新的发展机遇?

2024-08-05 19:18:58 1456

原创 DispatchServlet---Spring MVC

DispatcherServlet 是 Spring MVC 框架的核心组件之一,它负责处理所有的 HTTP 请求,并将请求分发给相应的控制器进行处理。

2024-08-05 17:30:25 1886

原创 单例模式(一看就会)

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。单例模式通常用于那些在整个应用程序中只需要一个实例的情况

2024-08-04 18:25:22 1560

原创 一看就会-适配器模式(含代码讲解)

在软件开发中,我们经常会遇到各种各样的类库和组件,它们可能拥有不同的接口设计,导致无法直接协同工作。这时,适配器模式(Adapter Pattern)就派上用场了。

2024-08-04 14:48:11 1711

原创 抽象类实现模板方法模式

模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,并将一些步骤延迟到子类中实现。

2024-08-04 13:34:44 922

原创 instanceof运算符

instanceof 是 Java 中的一个二元运算符,用于检查一个对象是否为特定类的实例或其子类的实例。

2024-08-04 11:50:55 1191

原创 InnoDB和MyISAM的对比

InnoDB和MyISAM是MySQL数据库中的两种存储引擎,它们各有特点,适用于不同的场景。

2024-08-04 11:26:42 1642

原创 所有类的根类:Object

在Java中,Object 类是所有类的根类,这意味着所有其他类都直接或间接地继承自 Object 类。它提供了所有 Java 对象的基本功能

2024-08-03 23:06:56 678

原创 双向绑定:v-model

v-model 指令是 Vue.js 中实现双向数据绑定的核心指令,它简化了数据与视图之间的同步,提高了开发效率。

2024-08-03 22:09:18 778

原创 条件渲染:v-if 与 v-show

在 Vue.js 中,v-if 和 v-show 都是用于控制元素显示与隐藏的指令,但它们的工作原理和适用场景有所不同。

2024-08-03 21:20:57 863

原创 ref 和 reactive

ref 和 reactive都是vue中的响应式实现的关键字,它们在功能和使用场景上有所区别。

2024-08-03 20:42:33 491

原创 <script setup> 讲解

是 Vue 3 中引入的一项重要语法特性,它简化了组件的开发流程,提升了代码可读性和开发效率。

2024-08-03 20:04:15 380

空空如也

空空如也

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

TA关注的人

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