随笔分类 -  Java

摘要:拦截器和过滤器的区别 1. 定义与归属 维度 Filter(过滤器) Interceptor(拦截器) 属于 Servlet 规范(JavaEE) SpringMVC 框架机制 管理 由 Servlet 容器(如 Tomcat)管理 由 Spring 容器管理 本质 是一种基于函数回调的请求预处理机 阅读全文
posted @ 2025-04-27 21:42 Eiffelzero 阅读(124) 评论(0) 推荐(0)
摘要:模板模式 定义 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 demo 比如做饮料(泡茶 or 冲咖啡) 1. 定义模板父类:BeverageTem 阅读全文
posted @ 2025-04-27 19:37 Eiffelzero 阅读(24) 评论(0) 推荐(0)
摘要:代理模式 定义 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能,这种类型的设计模式属于结构型模式。 代理模式通过引入一个代理对象来控制对原对象的访问。代理对象在客户端和目标对象之间充当中介,负责将客户端的请求转发给目标对象,同时可以在转发请求前后进行额外的处理。 在代理模式中, 阅读全文
posted @ 2025-04-26 22:22 Eiffelzero 阅读(42) 评论(0) 推荐(0)
摘要:适配器模式 定义 适配器模式(Adapter Pattern)充当两个不兼容接口之间的桥梁,属于结构型设计模式。它通过一个中间件(适配器)将一个类的接口转换成客户期望的另一个接口,使原本不能一起工作的类能够协同工作。 简单的demo 假设我们有一个老的接口 OldPayment,但是现在系统统一要求 阅读全文
posted @ 2025-04-26 17:35 Eiffelzero 阅读(65) 评论(0) 推荐(0)
摘要:策略模式 定义 在策略模式(Strategy Pattern)中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码 阅读全文
posted @ 2025-04-26 15:32 Eiffelzero 阅读(45) 评论(0) 推荐(0)
摘要:责任链模式 定义 责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 责任链模式通过将多个处理器(处理对象)以链式结构连接起来,使得请求沿着这条链传递, 阅读全文
posted @ 2025-04-25 21:18 Eiffelzero 阅读(41) 评论(0) 推荐(0)
摘要:Bean 的生命周期概括起来就是 4 个阶段: 实例化(Instantiation):创建 Bean 的实例。 属性赋值(Populate):为 Bean 的属性赋值。 初始化(Initialization):调用 Bean 的初始化方法,如 @PostConstruct 注解的方法。 使用中(Us 阅读全文
posted @ 2025-04-24 22:21 Eiffelzero 阅读(94) 评论(0) 推荐(0)
摘要:环境准备 package org.example.springmvclearn; public record Greeting(long id, String content) { } package org.example.springmvclearn; import java.util.conc 阅读全文
posted @ 2025-04-18 15:21 Eiffelzero 阅读(57) 评论(0) 推荐(0)
摘要:Spring 框架的启动过程是其核心机制之一,主要涉及 IoC 容器的初始化、Bean 的加载和生命周期管理。 以下是 Spring 启动过程的详细步骤 环境准备 项目结构: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:// 阅读全文
posted @ 2025-04-16 23:30 Eiffelzero 阅读(94) 评论(0) 推荐(0)
摘要:Spring Boot 的自动装配(Auto-Configuration)是其核心特性之一,它极大地简化了Spring应用的配置过程。 import org.springframework.boot.SpringApplication; import org.springframework.boot 阅读全文
posted @ 2025-04-14 21:21 Eiffelzero 阅读(480) 评论(0) 推荐(0)
摘要:Spring Spring框架是一个庞大的生态系统,包含多个模块,每个模块都为不同的功能提供支持。以下是Spring的主要模块及其职责: ├── Core Container(核心容器) │ ├── Spring-core │ ├── Spring-beans │ ├── Spring-contex 阅读全文
posted @ 2024-12-15 20:52 Eiffelzero 阅读(367) 评论(0) 推荐(0)
摘要:Spring如何解决循环依赖? 1. 什么是循环依赖? 以下是一个简单的例子: @Component public class BeanA { @Autowired private BeanB beanB; } @Component public class BeanB { @Autowired p 阅读全文
posted @ 2024-12-15 20:50 Eiffelzero 阅读(208) 评论(0) 推荐(0)
摘要:Java 的执行流程 Java 的执行流程包括多个阶段,从源码编写到最终程序的执行,涉及到编译、类加载、字节码执行、垃圾回收等多个环节。下面将详细介绍 Java 程序的执行流程。 1. 编写源代码 开发者首先在 IDE 或文本编辑器中编写 Java 源代码文件(以 .java 为扩展名)。源代码文件 阅读全文
posted @ 2024-12-11 20:00 Eiffelzero 阅读(292) 评论(0) 推荐(0)
摘要:Java 中的对象在虚拟机里的存储 在 Java 中,对象在虚拟机中的存储方式取决于 JVM 内存模型,主要存储在 堆(Heap) 中。对象的内存布局和管理方式会影响对象的创建、访问和销毁。下面详细解释对象在 JVM 中的存储结构。 1. 对象在堆中的存储 Java 中的对象通常存储在 堆内存 中。 阅读全文
posted @ 2024-12-11 19:54 Eiffelzero 阅读(144) 评论(0) 推荐(0)
摘要:如何在 Java 中进行内存泄漏分析? 内存泄漏是指程序中无法访问的对象仍然被占用内存,导致内存无法回收,最终导致内存不足、程序崩溃等问题。Java 中的内存泄漏通常与垃圾回收机制的工作方式相关,虽然 JVM 会自动管理内存,但是如果程序设计不当,仍然可能发生内存泄漏。 以下是一些常用的 Java 阅读全文
posted @ 2024-12-11 19:52 Eiffelzero 阅读(1212) 评论(0) 推荐(0)
摘要:常用的 JVM 性能分析工具 JVM 性能分析工具主要用于监控、调试和优化 Java 程序的性能,尤其是在垃圾回收、内存泄漏、线程调度等方面。以下是一些常用的 JVM 性能分析工具: 1. jvisualvm jvisualvm 是一个基于 GUI 的 Java 性能分析工具,它可以帮助开发者进行实 阅读全文
posted @ 2024-12-11 19:49 Eiffelzero 阅读(598) 评论(0) 推荐(0)