自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ‌代理模式(Proxy Pattern)

‌代理模式(Proxy Pattern)‌ 是一种结构型设计模式,它通过一个代理对象来控制对另一个对象(目标对象)的访问。代理模式的核心思想是‌“间接访问”‌,即客户端不直接访问目标对象,而是通过代理对象间接访问。代理模式通过引入代理对象,间接地控制对真实主题的访问。它具有透明性、灵活性和扩展性等优点,适用于需要控制访问权限、优化性能或扩展功能的场景。在实际开发中,代理模式可以显著提高系统的灵活性和可维护性。

2025-02-24 12:16:42 629

原创 享元模式详解

适用场景:文本处理/游戏开发/大规模GUI组件。

2025-02-24 11:02:44 231

原创 ‌外观模式(Facade Pattern)

外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口,从而简化客户端与系统之间的交互。以下是对外观模式的教科书级详解,包括概念、结构、优缺点以及代码示例。

2025-02-21 16:28:13 641

原创 装饰器模式(Decorator Pattern)‌

装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰器模式通过将对象包装在一个装饰器类中,使得类的功能可以以层次化的方式进行扩展。装饰器模式的最大优势是它遵循了开闭原则,即“对扩展开放,对修改关闭”。装饰器模式是一种强大且灵活的设计模式,它允许在不改变原有对象结构的情况下,动态地添加职责。通过组合而非继承的方式,装饰器模式避免了类的爆炸式增长,并提供了高度的灵活性。

2025-02-21 10:25:45 258

原创 ‌组合模式(Composite Pattern)

‌核心思想‌:通过组合代替继承,将抽象(功能定义)与实现(底层逻辑)解耦。‌关键角色‌:‌抽象化(Abstraction)‌:定义高层接口,包含对实现化的引用。‌扩展抽象化(Refined Abstraction)‌:对抽象化的扩展。‌实现化(Implementor)‌:定义底层接口,供抽象化调用。‌具体实现化(Concrete Implementor)‌:实现化接口的具体类。

2025-02-20 15:56:20 273

原创 适配器模式

‌适配器模式‌是一种‌结构型设计模式‌,用于解决接口不兼容问题。‌核心思想‌:将一个类的接口转换为另一个客户端期望的接口,使原本因接口不匹配而无法协作的类能够协同工作。

2025-02-20 10:50:59 329

原创 建造者模式(Builder Pattern)详解

建造者模式(Builder Pattern)是一种创建型设计模式,其核心思想是通过将复杂对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。‌ConcreteBuilder(具体建造者)‌:实现建造者接口,提供构建产品的具体实现。‌Builder(抽象建造者)‌:定义创建产品的抽象接口,声明构建产品各个部分的方法。‌Director(指挥者)‌:负责控制建造过程,按照特定的顺序调用建造者的方法。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

2025-02-19 15:28:35 266

原创 抽象工厂模式详解

‌具体工厂‌:实现抽象工厂的操作,创建具体产品对象,这里是CatFactory和DogFactory(或者我们可以有一个统一的工厂来创建猫和狗)。这个方法在具体工厂中被实现。‌具体产品‌:Cat和Dog类实现了Animal接口,并提供了各自makeSound方法的具体实现。‌抽象产品‌:定义产品的接口,这里是Animal接口,它可以有多个实现,如Cat和Dog。类的数量会增加,因为需要为每个产品系列创建具体的工厂类和具体的产品类。‌具体产品‌:实现抽象产品的接口,这里是Cat和Dog类。

2025-02-19 12:02:49 225

原创 工厂方法模式

‌具体工厂(ConcreteFactory)‌:实现了抽象工厂接口,提供了创建具体产品对象的实现。‌具体产品(ConcreteProduct)‌:实现了抽象产品接口,是实际被创建和使用的对象。‌抽象产品(Product)‌:这是一个接口或抽象类,定义了产品的特性。‌ConcreteProduct(具体产品)‌:实现了抽象产品接口,是工厂方法实际返回的对象。‌Factory(抽象工厂)‌:声明了工厂方法,返回一个Product类型的对象。‌Product(抽象产品)‌:定义了工厂方法返回的对象的接口。

2025-02-19 11:25:36 340

原创 简单工厂模式

‌概述‌:简单工厂模式的核心思想是将对象的创建过程封装在一个工厂类中,客户端只需要通过工厂类来创建对象,而无需关心具体的创建细节。‌ConcreteProduct(具体产品角色)‌:这是简单工厂模式的创建目标,所有被创建的对象都是某个具体类的实例。具体产品类实现了抽象产品类中声明的抽象方法。‌客户端调用工厂类‌:客户端代码通过调用工厂类的静态方法来创建产品对象,并调用产品对象的方法来实现具体功能。‌易于扩展‌:当需要增加新的产品类型时,只需要增加新的具体产品类,并在工厂类中添加相应的创建逻辑即可。

2025-02-19 10:41:13 274

原创 懒汉式单例模式详解

懒汉式单例模式是一种在需要时才创建实例对象的单例模式,可以节省内存资源。但在多线程环境下需要注意线程安全问题,可以使用同步方法或双重检测锁机制等线程安全的实现方式。与饿汉式单例模式不同,懒汉式在类被加载时不创建实例对象,而是在首次使用该实例时才会创建。这种方式可以节省内存资源,因为实例对象只有在需要时才会被创建。懒汉式单例模式的实现方式有多种,包括基础的懒汉式、线程安全的懒汉式(如使用同步方法或双重检测锁机制)等。为了解决这个问题,可以使用同步方法或双重检测锁机制等线程安全的实现方式。

2025-02-19 10:36:27 358

原创 饿汉式单例模式详解

‌定义‌:饿汉式单例模式确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。‌特点‌:‌单例类只会有一个实例‌:通过类加载时创建对象,确保全局唯一性。‌单例类的实例由该类自己提供对外访问的方法‌:通常通过静态方法获取实例。‌单例类的构造函数必须是私有的‌:防止外部通过new操作符创建对象。‌天然线程安全‌:因为实例在类加载时创建,不涉及多线程竞争问题。

2025-02-19 10:33:28 719

原创 SERVLET

‌‌。

2025-02-18 14:19:21 600

原创 COOKIE

/NO.4 设置路径为:/cookieProject/cookie 表示只能/cookieProject/cookie 目录下的资源才能访问到cookie对象。time为0:表示删除该cookie,cookie作废,无论是在浏览器内存中还是客户端硬盘上都会删除该cookie,如果之前有保存该cookie,可以通过setMaxAge(0)删除该cookie。//NO.2 设置路径为:/cookieProject 表示当前cookieProject项目下任何项目都能拿到cookie对象。

2025-02-18 14:16:17 858

原创 session

System.out.println("session最后一次访问的时间:"+session.getLastAccessedTime());System.out.println("session创建时间:"+session.getCreationTime());"是":"否"));System.out.println("判断是否是新的session对象:"+(session.isNew()?"是":"否"));System.out.println("最大不活动时间:"+time+"秒");

2025-02-18 14:15:15 418

原创 SpringAOP

4.执行指定包下的子包的任意类任意方法:execution(* com..*.*(..)) 表示执行com包下所有子包的所有方法。* 3.执行指定包下的任意类任意方法:execution(* com.dao.*.*(..)) 执行dao包下所有类所有方法。System.out.println(" 异常通知... 异常信息:"+e.getMessage());System.out.println(" 环绕通知的前置通知...");System.out.println(" 前置通知...");

2025-02-18 14:14:05 682

原创 SpringJDBC

指定连接池的初始化连接数,取值应在minPoolSize与maxPoolSize之间 默认 default 3。配置定时任务驱动 开启这个配置,spring才能识别 @Scheduled -->加载database_resource.properties 读取文件配置 -->配置jdbcTemplate实例 并注入datasource数据源 -->当连接池中的链接耗尽时c3p0一次同时获取的连接数 默认 3。指定连接池中保留最大的连接数 默认15。方式二: 开启IOC注解扫描 -->新增用户信息条数:"

2025-02-18 14:12:50 536

原创 JSP和JSTL

要跳转的页面地址"></jsp:forward>--相当于后台的req.getRequestDispatcher("getDomainObject.jsp").forward(req, resp);if("苏0508".equals(name)&& "123456".equals(pwd)) {req.setAttribute("msg", "请输入正确的用户名和密码");页面引入JSTL标签库,页面引入格式:<%@taglib uri="路径" prefix="别名" %>

2025-02-18 14:07:37 859

原创 发邮件(1)

学习文档\\\\JSP和JSTL.docx"创建带有附件的消息帮组件。这是一封包含附件的邮件"

2025-02-18 14:02:17 653

原创 定时任务(2)

定时任务2...2021-06-08 19:09:55。定时任务1...2021-06-08 19:09:56。定时任务1...2021-06-08 19:09:58。定时任务2...2021-06-08 19:10:00。定时任务1...2021-06-08 19:10:00。定时任务1...2021-06-08 19:10:02。定时任务1...2021-06-08 19:10:04。定时任务2...2021-06-08 19:10:05。方式二: 开启IOC注解扫描 -->

2025-02-18 13:58:05 365

原创 定时任务(1)

定时任务1...2021-06-08 18:45:28。定时任务1...2021-06-08 18:45:30。定时任务1...2021-06-08 18:45:32。定时任务1...2021-06-08 18:45:34。定时任务1...2021-06-08 18:45:36。定时任务1...2021-06-08 18:45:38。定时任务1...2021-06-08 18:45:40。定时任务2...2021-06-08 18:45:45。定时任务1...2021-06-08 18:45:50。

2025-02-18 13:56:34 526

原创 策略模式的小样例

策略模式()是一种行为型设计模式,它定义了算法家族,并将每个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户端。

2025-02-18 13:53:01 677

原创 上传、下载

if("请输入你要下载的文件名".equals(fileName)||fileName==null||"".equals(fileName.trim())) {//设置响应类型:设置为浏览器无法识别的MIME类型:"application/octet-stream"、"application/x-msdownload"System.out.println("文件存放路径:"+filePath+"template/"+fileName);System.out.println("文件下载处理...");

2025-02-18 13:45:53 883 1

空空如也

空空如也

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

TA关注的人

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