![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术栈
文章平均质量分 88
大龄码农自救技术栈
丨Anna丨
这个作者很懒,什么都没留下…
展开
-
Spring Framework-IoC详解
在介绍Ioc之前,我们首先先了解一下一下内容耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关 系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立 性)。在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。软件设计中通常用耦合度和内聚度作为原创 2024-05-10 11:10:57 · 783 阅读 · 1 评论 -
Spring Framework-简介
Java Spring是一个开源的Java应用框架,它的主要目的是简化企业级应用开发的复杂性。Spring框架为开发者提供了许多基础功能,使得开发者能够更专注于业务逻辑的实现,而不是底层的细节。原创 2024-05-10 10:02:36 · 1162 阅读 · 0 评论 -
03-JAVA设计模式
GOF23是指由设计模式经典名著《Design Patterns: Elements of Reusable Object-Oriented Software》(中译本名为《设计模式——可复用面向对象软件的基础》)的四位作者Erich Gamma、Richard Helm、Ralph Johnson、以及John Vlissides提出的23种设计模式。这四位作者常被称为“四人组”(Gang of Four,简称GOF)。这23种设计模式主要分为三大类:创建型模式、结构型模式和行为型模式。原创 2024-04-25 21:40:50 · 1002 阅读 · 0 评论 -
03-JAVA设计模式-备忘录模式
Java中的备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不破坏封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后可以将对象恢复到原先保存的状态。原创 2024-04-25 17:45:04 · 988 阅读 · 1 评论 -
03-JAVA设计模式-观察者模式
Java中的观察者模式是一种常见的设计模式,它允许对象(观察者)订阅另一个对象(被观察者)的状态变化,并在状态变化时自动得到通知。观察者模式主要用于1:N的通知。当一个对象(目标对象)的状态发生变化时,它需要及时告知一系列对象(观察者对象)令他们做出响应。原创 2024-04-25 16:42:30 · 1531 阅读 · 0 评论 -
03-JAVA设计模式-状态模式
Java中的状态模式(State Pattern)是一种行为型设计模式,主要用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。状态模式允许一个对象在其内部状态改变时改变它的行为,使得对象看起来似乎修改了它的类。原创 2024-04-25 11:10:36 · 1249 阅读 · 1 评论 -
03-JAVA设计模式-模板方法模式
模板方法模式(Template Method Pattern)在Java中是一种行为型设计模式,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。模板方法模式的结构。原创 2024-04-25 10:35:52 · 926 阅读 · 1 评论 -
03-JAVA设计模式-策略模式
策略模式(Strategy Pattern)是行为设计模式之一,它使你能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的上下文对象。策略对象更改上下文对象的执行算法。策略模式对应于解决某一个问题的算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法,并且有客户端决定调用那个算法。原创 2024-04-25 09:04:10 · 1507 阅读 · 0 评论 -
03-JAVA设计模式-访问者模式
访问者模式(Visitor Pattern)是软件设计模式中的一种行为模式,它用于将数据结构中的元素与操作这些元素的操作解耦。这种模式使得可以在不修改数据结构的情况下添加新的操作。访问者模式表示一个作用于某对象结构中的各个元素的操作,他是我们可以在不改变各个元素的类的前提下定义作用域这些元素的新操作。实际开发中应用范围非常窄。原创 2024-04-24 22:42:39 · 533 阅读 · 0 评论 -
03-JAVA设计模式-解析器模式
在Java中,解释器模式(Interpreter Pattern)是一种行为设计模式,它给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。解释器模式主要用于处理包含特定语法规则的简单语言,如数学表达式、SQL语句、配置文件等。注意:解析器模式是一种不常用的设计模式用于描述如何构成已个简单的语言解释器,主要用于使用面相对象语言开发编译器和解释器设计当我们需要开发一种新的语言是,可以考虑使用。原创 2024-04-24 21:55:50 · 725 阅读 · 0 评论 -
03-JAVA设计模式-命令模式
命令模式(Command Pattern)是一种行为设计模式,它将请求封装为对象,从而使你可用不同的请求把客户端与请求的处理者解耦,也称动作模式或事物模式。在命令模式中,命令对象封装了接收者对象的动作,调用者通过调用命令对象来执行该动作,而无需知道具体的接收者对象是谁。原创 2024-04-22 12:25:14 · 1130 阅读 · 0 评论 -
03-JAVA设计模式-中介者模式
中介者模式(Mediator Pattern)是一种行为设计模式,用于减少对象之间的直接依赖关系,降低它们之间的耦合度,并使得一个对象改变时,所有依赖于它的对象都得到通知并自动更新。在中介者模式中,一个中介者对象来封装一系列对象之间的交互,从而使这些对象不需要显式地相互引用,降低了它们的耦合度。原创 2024-04-17 09:33:23 · 1263 阅读 · 0 评论 -
03-JAVA设计模式-迭代器模式
迭代器模式(demo1.Iterator Pattern)是Java中一种常用的设计模式,它提供了一种顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示的方法。迭代器模式将遍历逻辑从聚合对象中分离出来,使得聚合对象本身更加简洁,同时也使得遍历操作更加灵活和独立。在Java中,迭代器模式通常通过实现Iterator接口来实现。Iterator接口定义了访问和遍历元素的方法,如hasNext()用于判断是否还有下一个元素,next()用于获取下一个元素等。原创 2024-04-16 10:15:41 · 564 阅读 · 0 评论 -
03-JAVA设计模式-责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,允许你将请求沿着处理者链进行传递。每个处理者均对请求进行某些处理,并可决定是否将请求沿着链传递下去。这种模式给予请求的处理者更加灵活的组织结构。在Java中实现责任链模式,通常需要定义一个处理者接口,该接口包含一个或多个方法用于处理请求和决定是否传递请求。然后,创建具体的处理者类,实现这个接口。每个处理者可以持有对下一个处理者的引用,从而形成处理者链。原创 2024-04-13 21:59:07 · 1193 阅读 · 0 评论 -
03-JAVA设计模式-享元模式
享元模式(Flyweight Pattern)是一种对象结构型设计模式,用于减少创建对象的数量,以减少内存占用和提高系统性能。它通过共享已经存在的对象来避免创建大量相似的对象,从而降低内存消耗。在享元模式中,通常会有一些细粒度的对象,它们具有一些共同的属性,但是某些属性可能会变化。原创 2024-04-11 17:38:52 · 1026 阅读 · 0 评论 -
03-JAVA设计模式-外观模式
外观模式(Facade Pattern)是面向对象设计模式中的一种,它为子系统中的一组接口提供了一个统一的高级接口,使得子系统更容易使用。外观模式定义了一个高层接口,让子系统更容易使用。子系统中的很多类往往不是面向用户使用的,而是相互之间通过协作完成一项任务。这些类之间的协作关系是比较复杂且难以理解的。外观模式为这些类提供了一个高层接口,使得用户只需要跟外观类打交道,而不需要跟子系统中众多的类打交道。外观模式是开发中最常用的模式之一。原创 2024-04-11 12:39:28 · 569 阅读 · 0 评论 -
03-JAVA设计模式-装饰模式
装饰器模式(Decorator Pattern)也叫包装器模式,是一种结构型设计模式,允许用户在不改变对象的情况下,动态地给对象增加一些额外的职责(功能)。装饰器模式相比生成子类更为灵活,因为可以在运行时根据需要动态地添加或删除功能。原创 2024-04-10 22:55:57 · 641 阅读 · 0 评论 -
03-JAVA设计模式-组合模式
组合模式(Composite Pattern)允许你将对象组合成树形结构以表示“部分-整体”的层次结构,使得客户端以统一的方式处理单个对象和对象的组合。组合模式让你可以将对象组合成树形结构,并且能像单独对象一样使用它们。原创 2024-04-10 15:48:43 · 795 阅读 · 0 评论 -
03-JAVA设计模式-桥接模式
桥接模式(Bridge Pattern)是一种将抽象与实现解耦的设计模式,使得二者可以独立变化。在桥接模式中,抽象部分与实现部分通过一个桥接接口进行连接,从而允许抽象部分和实现部分独立演化。原创 2024-04-10 11:16:57 · 849 阅读 · 0 评论 -
03-JAVA设计模式-代理模式详解
Java代理模式是一种常用的设计模式,主要用于在不修改现有类代码的情况下,为该类添加一些新的功能或行为。代理模式涉及到一个代理类和一个被代理类(也称为目标对象)。代理类负责控制对目标对象的访问,并可以在访问前后添加一些额外的操作。关注真正的业务逻辑Java代理模式主要分为两种:静态代理和动态代理。原创 2024-04-09 23:19:30 · 1650 阅读 · 0 评论 -
03-JAVA设计模式-适配器模式
它属于结构型模式,主要用于将一个类的接口转换成客户端所期望的另一种接口,从而使得原本由于接口不兼容而无法协同工作的类能够一起工作。适配器模式主要解决的是不兼容接口的问题。在软件开发中,经常会有这样的情况:我们有一个现有的类,它的接口(方法、属性等)不符合我们的需求,但我们又无法直接修改这个类(可能是因为它是第三方库的一部分,或者出于其他原因)。此时,我们可以使用适配器模式来“包装”这个类,使其具有我们期望的接口。原创 2024-04-08 17:43:40 · 1315 阅读 · 0 评论 -
03-JAVA设计模式-原型模式
Java原型模式(Prototype Pattern)是一种创建型设计模式,其核心理念在于通过复制(克隆)已有的对象来创建新的对象,而不是通过构造函数来创建。该模式可以显著提高对象创建的效率,特别是在需要频繁创建对象或对象创建过程较为复杂的场景下。在原型模式中,原型对象作为基础对象,其他对象通过复制这个原型对象来创建新的实例。复制过程可以是浅克隆或深克隆。注意:发生浅拷贝主要针对数据类型为引用类型。原创 2024-04-08 17:41:42 · 1246 阅读 · 0 评论 -
03-JAVA设计模式-建造者模式
建造者模式(Builder Pattern)是一种对象构建的设计模式,它允许你通过一步一步地构建一个复杂对象,来隐藏复杂对象的创建细节。这种模式将一个复杂对象的构建过程与其表示过程分离,使得同样的构建过程可以创建不同的表示。命名建议以Builder结尾,以达到见名之意。原创 2024-04-07 23:24:25 · 1007 阅读 · 0 评论 -
03-JAVA设计模式-工厂模式详解
工厂设计模式是一种创建型设计模式,它提供了一种封装对象创建过程的机制,将对象的创建与使用分离。这种设计模式允许我们在不修改客户端代码的情况下引入新的对象类型。在Java中,工厂设计模式主要有三种形式:简单工厂模式、工厂方法模式和抽象工厂模式。原创 2024-04-06 22:55:17 · 1228 阅读 · 0 评论 -
03-JAVA设计模式-单例模式详解
单例模式(Singleton Pattern)是设计模式中的一种,它确保一个类仅有一个实例,并提供一个全局访问点来访问该实例。这种设计模式属于创建型模式,它提供了一种创建对象的最佳方式。原创 2024-04-05 23:01:28 · 1023 阅读 · 0 评论 -
02-JDK新特性-try-with-resources自动管理资源关闭
try-with-resources是Java 7引入的一个新特性,它提供了一种简化资源管理的机制。该特性主要用于自动关闭实现了AutoCloseable或Closeable接口的资源,如文件流、数据库连接等,从而避免了资源泄漏的问题。在try-with-resources语句中,你可以声明一个或多个资源,这些资源在try代码块执行完毕后会被自动关闭。这是通过Java虚拟机的异常处理机制和字节码的异常表来实现的,通过自动调用资源的close()方法来确保资源被正确地关闭。原创 2024-04-05 18:49:18 · 1080 阅读 · 0 评论 -
00-JAVA基础-JVM类加载机制及自定义类加载器
java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对于的字节代码,然后从这些字节代码中定义出第一个Java类,即java.lang.Class类的一个实例。继承:java.lang.ClassLoader首先检查请求的类型是否已经被这个加载装载到了命名空间,如果已加载,则直接返回委派类加载器请求给父类加载器,如果父类加载器能够完成加载,则直接返回加载器加载的Class实例。原创 2024-04-05 18:11:54 · 1049 阅读 · 0 评论 -
00-JAVA基础-注解及反射解析注解
使用@interface自定义注解是,自动继承了java.lang.annotation.Annotation接口元注解(Meta-Annotation)是用于定义其他注解的注解。在Java中,注解是一种为代码提供元数据的机制,而元注解则是对这些注解进行进一步描述的工具。JDK中定义了四种标准的元注解类型:@Target、@Retention、@Documented和@Inherited。用于指定注解的作用目标,例如类、方法、字段等。所修饰范围取值ElementTypepackage。原创 2024-04-04 22:17:25 · 986 阅读 · 0 评论 -
00-JAVA基础-脚本引擎
Java 平台自带了如JavaScript、Groovy等脚本语言的引擎,可以在运行时动态地加载和执行脚本代码。这些脚本引擎可以直接在Java应用程序中使用,例如,通过ScriptEngineManager来获取特定脚本语言的ScriptEngine实例,然后使用eval()方法执行脚本代码。Java 脚本引擎使得Java 应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在Java平台上调用各种脚本语言的目的。原创 2024-04-04 20:47:28 · 1219 阅读 · 0 评论 -
00-JAVA基础-javassist字节码操作
Javassist是一个开源的分析、编辑和创建Java字节码的类库。它是jboss的一个子项目,主要优点在于简单且快速。它允许开发者直接使用Java编码的形式,而无需了解虚拟机指令,就能动态地改变类的结构或动态生成类。Javassist提供了一组简单易用的API,使开发者能够动态地创建、修改、分析Java类,而无需关心底层的字节码细节。原创 2024-04-04 20:45:43 · 1463 阅读 · 0 评论 -
00-JAVA基础-动态编译
JAVA 6 引入了动态编译机制。Java 动态编译是指在运行时将Java源代码编译成可执行的字节码。这通常使用Java的内置编译器API javax.tools.JavaCompiler 来实现。原创 2024-04-04 14:07:58 · 934 阅读 · 0 评论 -
00-JAVA基础-反射机制
在Java中,反射(Reflection)是Java语言的一个特性,它允许程序在运行时检查类、接口、字段和方法的信息。通过反射,Java代码能够动态地创建对象、调用方法、改变字段的值等,而无需在编译时知道这些类的详细信息。原创 2024-04-04 01:10:28 · 1001 阅读 · 0 评论 -
02-JDK新特性-Stream流
Stream流是Java 8中的一个新特性,它提供了一种处理集合和数组的方式。Stream流可以让我们以一种更加简洁、高效、可读性更强的方式来处理数据。Stream流可以用于过滤、映射、排序、聚合等操作,它可以让我们避免使用循环和条件语句来处理数据,从而让代码更加简洁易懂。Stream流的操作可以分为中间操作和终止操作两种类型,中间操作返回的是一个新的Stream流,终止操作返回的是一个非Stream类型的结果。Stream流的处理是惰性求值的,只有在执行终止操作时才会开始处理数据。原创 2024-04-03 21:20:39 · 1076 阅读 · 0 评论 -
02-JDK新特性-函数式接口
函数式接口(Functional Interface)就是有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 Lambda 表达式。我们可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口。同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。原创 2024-04-03 15:27:12 · 972 阅读 · 0 评论 -
02-JDK新特性-泛型
类型>:指定一种类型的格式,这里的类型可以看成是形参。:指定多种类型的格式,多种类型之间用逗号隔开,这里的类型可以看成是形参。将来具体调用时给定类型可以看成实参,并且实参的类型只能是引用数据类型。原创 2024-04-01 23:49:14 · 1224 阅读 · 0 评论 -
02-JDK新特性-接口新特性
接口的组成注意事项:JAVA8之后在接口中新增了默认方法、静态方法、私有方法(JAVA9)。接口中允许有方法体的只有以上四种。其中dance(){} 是不允许的。原创 2024-04-01 12:53:44 · 367 阅读 · 0 评论 -
02-JDK新特性-Lambda表达式
Lambda表达式是一个匿名代码块,用于简单的传递一段代码片段。原创 2024-04-01 00:41:44 · 1004 阅读 · 0 评论 -
01-XML-04XML处理
*** JDK内置DOM读XML* 使用NodeIterator读取文本自定义NodeFilter// 获取资源路径 String path = this . getClass() . getResource("books.xml") . getPath();// 获取文件判断文件是否存在 File file = new File(path);if(!throw new RuntimeException("获取资源失败");原创 2024-03-31 20:39:59 · 1052 阅读 · 0 评论 -
01-XML-03XML Schema
XSDXML Schema是DTD的替代者不仅可以定义XML文档的结构,还可以规范文档的内容XSD本身也是XML文件XSD采用XML文档来定义语义约束,比DTD要复杂一些,但是功能强大的多支持丰富的数据类型允许开发者自定义数据类型可读性强可针对未来需求进行扩展TODO 后续补充原创 2024-03-31 14:06:53 · 568 阅读 · 0 评论 -
01-XML-02XML DTD定义文档结构
DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。它使用一系列的合法元素来定义文档结构。原创 2024-03-31 14:00:44 · 903 阅读 · 0 评论