自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring MVC 核心枢纽:DispatcherServlet 的深度解析与实践价值

在这个强大的框架体系中,DispatcherServlet 无疑是最为关键的中枢神经,掌控着整个请求处理流程的命脉。本文将深入探究 DispatcherServlet 的工作原理、核心职责及其在 Spring MVC 应用中不可替代的重要作用,帮助开发者更透彻地理解这一核心组件,从而更高效地运用 Spring MVC 框架开发出高质量的 Web 应用。

2025-06-10 16:51:27 484

原创 Java线程池

在现代Java应用程序中,线程池(ThreadPool)是一种非常重要的并发工具,它允许开发者以高效、可控的方式管理并发执行的任务。

2025-06-08 17:53:31 501

原创 Java并发编程面试题

进程是程序的一次执行过程,是系统运行程序的基本单位。一个进程在其执行的过程中可以产生多个线程。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的独立运行的单位。线程与进程相似,但线程共享进程的堆和方法区资源,而每个线程有自己的程序计数器、虚拟机栈和本地方法栈。同一时间段内,多个任务都在执行(单位时间内不一定同时执行)。在单核CPU上,多线程主要通过时间片轮转实现并发;在多核CPU上,多线程可以实现真正的并行。

2025-06-06 19:04:08 893

原创 线程安全的集合类和并发数据结构

Java提供了多种线程安全的集合类和并发数据结构,以满足不同场景下的并发需求。在选择合适的集合或数据结构时,需要根据实际的应用场景(如读写比例、并发量、是否需要阻塞等)来综合考虑。

2025-06-06 19:03:37 391

原创 依赖传递和可选依赖

首先建立三个mavenJava项目:Hello、HelloFriend、MakeFriend。

2025-06-06 18:58:08 146

原创 Mybatis中的懒加载

懒加载(Lazy Loading)是 MyBatis 提供的一种优化数据加载的策略,它可以在需要时才加载关联数据,而不是在查询主对象时就立即加载所有关联数据。

2025-05-29 14:15:48 1180

原创 Mybatis中实现多表查询(一对多)

【代码】Mybatis实现多表查询(一对多)

2025-05-29 12:00:15 146

原创 Mybatis简单架构之动态SQL语句

【代码】Mybatis简单架构之动态态SQL语句。

2025-05-29 11:07:40 373

原创 Mybatis中实现多表查询(多对一)

【代码】Mybatis中实现多表查询(多对一)

2025-05-29 10:58:59 219

原创 Mybatis中的两个动态SQL标签

​在Mybatis中,<trim> and <set>都是动态SQL标签,用于处理更新操作中的条件拼接。以下是它们的区别和适用场景:​

2025-05-26 18:21:30 429

原创 IntelliJ IDEA --- 快捷键大全

IntelliJ IDEA 是一款强大的 Java 集成开发环境(IDE),它提供了丰富的快捷键来帮助开发者提高编码效率和舒适度。本文将为你详细介绍 IntelliJ IDEA 中的常用快捷键,帮助你更好地利用这款开发工具。

2025-05-26 18:00:24 1181

原创 初识Mybatis

在文献中看到的framework被翻译为框架Java常用框架SSM三大框架:Spring + SpringMVC + Mybatis SpringBoot等、

2025-05-26 17:51:19 608

原创 Mybatis简单架构之静态SQL语句

【代码】Mybatis简单架构之静态SQL语句。

2025-05-25 23:28:50 401

原创 Mybatis框架的构建(IDEA)

在设置中添加自定义代码模板。

2025-05-25 23:25:41 308

原创 手写简单的tomcat

首先,Tomcat是一个软件,所有的项目都能在Tomcat上加载运行,Tomcat最核心的就是Servlet集合,本身就是HashMap。Tomcat需要支持Servlet,所以有servlet底层的资源:HttpServlet抽象类、HttpRequest和HttpResponse,否则我们无法新建Servlet。

2025-05-22 21:51:21 1044

原创 Java中的异常机制

在理想状态下,用户输入数据的格式永远都是正确的,选择打开的文件也一定存在,并且永远不会出现bug。然而,在现实世界中却充满了不良的数据和带有问题的代码,现在是讨论Java程序设计语言处理这些问题的机制的时候了。

2025-05-15 00:13:36 551

原创 数组练习题

先创建Book类,初始化数据,并Generate方法。然后创建Test类,使用数组完成具体功能。

2025-05-13 17:22:28 245

原创 Java中的线程

线程是Java并发编程的核心概念,允许程序同时执行多个任务。

2025-05-12 16:42:09 451

原创 Java中的代理机制

代理模式的主要作用是扩展目标对象的功能,比如说在目标对象的某个方法执行前后你可以增加一些自定义的操作。

2025-05-10 16:54:31 1084

原创 Java中的包装类

Java是面向对象编程的,但是基本类型却没有对象,这就会产生矛盾,于是包装类为了解决这一问题应运而生。

2025-05-09 23:23:50 504

原创 Java中的反射

能够获取类信息的能力叫做反射

2025-05-09 21:10:46 393

原创 Java三大基本特征之多态

多态(Polymorphism)是面向对象编程(OOP)的三大特性之一(另外两个是 封装 和 继承),它允许 同一个行为具有不同的表现形式。在 Java 中,多态主要通过 方法重写(Override) 和 接口/抽象类 实现。

2025-05-08 22:48:38 954

原创 事务(transaction)-下

针对快照读(普通 select 语句),是通过 MVCC 方式解决了幻读。针对当前读(select ... for update 等语句),是通过 next-key lock(记录锁+间隙锁)方式解决了幻读。我举例了两个发生幻读场景的例子。第一个例子:对于快照读, MVCC 并不能完全避免幻读现象。因为当事务 A 更新了一条事务 B 插入的记录,那么事务 A 前后两次查询的记录条目就不一样了,所以就发生幻读。

2025-05-08 12:27:50 863

原创 事务(transaction)-中

A事务与B事务,A事务可以读取到B事务未提交的数据。这是最低的隔离级别。几乎两个事务之间没有隔离。这种隔离级别是一种理论层面的,在实际的数据库产品中,没有从这个级别起步的。当事务隔离级别是读未提交时,三种现象都存在:脏读,不可重复读,幻读。我们可以开启两个DOS命令窗口,模拟两个事务,演示一下这种隔离级别。三种现象中最严重的是脏读,我们只需要演示脏读问题即可,因为存在脏读的话,就一定存在不可重复读和幻读问题。将全局事务隔离级别设置为:READ UNCOMMITTED。

2025-05-08 12:18:50 1035

原创 事务(transaction)-上

食物是一个最小的工作单元。在数据库当中,事务表示一件完整的事儿。一个业务的完成可能需要多条DML语句共同配合才能完成,例如转账业务,需要执行两条DML语句,先更新张三账户的余额,再更新李四账户的余额,为了保证转账业务不出现问题,就必须保证要么同时成功,要么同时失败,怎么保证同时成功或者同时失败呢?就需要使用事务机制。也就是说用了事务机制之后,在同一个事物当中,多条DML语句会同时成功,或者同时失败,不会出现一部分成功,一部分失败的现象。

2025-05-06 22:08:22 570

原创 在若依里创建新菜单

2025-05-06 18:31:17 371

原创 Java使用JDBC操作数据库

3.在pom文件中加上相关依赖,并配置Maven路径。2.使用idea新建一个Java项目。然后运行,就可以从数据库中读取数据了。新建jdbcdemo包和其中的类。1.创建一个数据库一会用来连接。

2025-05-05 16:26:51 283

原创 算法题收获

最近在刷力扣的时候发现了很多自己不熟悉的知识,所以打算总结一下。

2025-05-05 10:19:02 136

原创 什么是JDBC

JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。

2025-05-04 16:24:51 917

原创 Maven的继承

Maven 的依赖传递机制可以一定程度上简化 POM 的配置,但这仅限于存在依赖关系的项目或模块中。当一个项目的多个模块都依赖于相同 jar 包的相同版本,且这些模块之间不存在依赖关系,这就导致同一个依赖需要在多个模块中重复声明,这显然是不可取的,大量的前人经验告诉我们,重复往往意味着更多的劳动和更高的潜在风险。在 Java 面向对象中,我们可以建立一种类的父子结构,然后在父类中声明一些字段和方法供子类继承,这样就可以一定程度上消除重复,做到 “一处声明,多处使用”。

2025-04-30 08:00:00 316

原创 Maven中的依赖管理

Maven的依赖构件包含一个依赖范围的属性。这个属性描述的是三套classpath的控制,即编译、测试、运行。这说白了就是添加的jar包起作用的范围。maven提供了以下几种依赖范围:compile,test,provided.runtime,system。compile:编译依赖范围,如果没有指定,默认使用该依赖范围,对于编译、测试、运行3种classpath都有效。

2025-04-29 21:13:52 874

原创 Java中的过滤器

过滤器是 Java Web 的“守门员”,适合处理与业务无关的横切关注点(如安全、日志)。优先使用注解配置,简化开发。复杂场景可组合多个过滤器(通过调整web.xml中的顺序控制执行顺序)。如果需要更精细的控制(如依赖 Spring 的 Bean),可以考虑 Spring 拦截器(HandlerInterceptor)。

2025-04-28 22:31:30 268

原创 Maven的核心概念

会有预先约定好的目录结构,必须要遵循的规范,所有的Maven项目都依照这个规范。主要的目的是将项目的源码文件,测试代码,资源文件完全分开,便于项目管理和扩展。也称为gav定位。使用三个标签来唯一定位jar资源。项目的唯一的名称,创建项目时定义gav名称,引用项目时使用gav名称。相当于项目的身份证号。groupId: 组织名称,一般是公司域名的倒写 com.bjpowernodeartifactId: 项目名称 springmvc_006_ssm。

2025-04-25 09:25:56 525

原创 什么是Maven

对jar包的统一管理,Maven提供中央仓库,私服,本地仓库解决jar包的依赖和相关依赖的下载。构建(build)是面向过程的(从开始到结尾的多个步骤),涉及到多个环节的协同工作。如下图所示:包括蓝、黄两个部分分别对应着依赖关系和项目构建两大核心功能。类似自动化构建工具还有:Gant,Gradle。总之,Maven是项目开发必不可少的工具。对项目进行编译,测试,打包,部署等构建。

2025-04-24 23:46:23 550

原创 MySQL中的视图

MySQL中的视图是一种虚拟表,它是基于一个或多个查询的结果集构建的,可以像表一样被查询和操作。视图本身并不存储数据,而是根据定义的查询语句在查询时生成结果。使用视图可以简化复杂查询、提高查询效率、保护数据安全性以及提供用户对特定数据的访问权限控制。

2025-04-24 08:00:00 212

原创 数据库设计三范式

数据库表设计的原则。教你怎么设计数据库表有效,并且节省空间。

2025-04-24 00:45:00 207

原创 约束constraint

创建表时,可以给表的字段添加约束,可以保证数据的完整性、有效性。比如大家上网注册用户时常见的:用户名不能为空。对不起,用户名已存在。等提示信息。

2025-04-23 18:32:16 896

原创 DDL定义语句和DML操纵语句

DDL语句现在不常用,因为有navicat等工具可以进行操作创建一个学生表。

2025-04-23 01:45:00 184

原创 MySQL数据类型

例如:创建学生表(default指定默认值)

2025-04-22 21:20:59 442

原创 Git的基础知识

分布式版本控制系统。

2025-04-20 17:14:01 221

空空如也

空空如也

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

TA关注的人

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