自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

丨Anna丨的博客

坚持到无能为力,奋斗到感动自己!

  • 博客(136)
  • 资源 (2)
  • 收藏
  • 关注

原创 03-JAVA设计模式-备忘录模式

Java中的备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不破坏封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后可以将对象恢复到原先保存的状态。

2024-04-25 17:45:04 473

原创 03-JAVA设计模式-观察者模式

Java中的观察者模式是一种常见的设计模式,它允许对象(观察者)订阅另一个对象(被观察者)的状态变化,并在状态变化时自动得到通知。观察者模式主要用于1:N的通知。当一个对象(目标对象)的状态发生变化时,它需要及时告知一系列对象(观察者对象)令他们做出响应。

2024-04-25 16:42:30 785

原创 03-JAVA设计模式-状态模式

Java中的状态模式(State Pattern)是一种行为型设计模式,主要用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。状态模式允许一个对象在其内部状态改变时改变它的行为,使得对象看起来似乎修改了它的类。

2024-04-25 11:10:36 399

原创 03-JAVA设计模式-模板方法模式

模板方法模式(Template Method Pattern)在Java中是一种行为型设计模式,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。模板方法模式的结构。

2024-04-25 10:35:52 526

原创 03-JAVA设计模式-策略模式

策略模式(Strategy Pattern)是行为设计模式之一,它使你能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的上下文对象。策略对象更改上下文对象的执行算法。策略模式对应于解决某一个问题的算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法,并且有客户端决定调用那个算法。

2024-04-25 09:04:10 784

原创 03-JAVA设计模式-访问者模式

访问者模式(Visitor Pattern)是软件设计模式中的一种行为模式,它用于将数据结构中的元素与操作这些元素的操作解耦。这种模式使得可以在不修改数据结构的情况下添加新的操作。访问者模式表示一个作用于某对象结构中的各个元素的操作,他是我们可以在不改变各个元素的类的前提下定义作用域这些元素的新操作。实际开发中应用范围非常窄。

2024-04-24 22:42:39 164

原创 03-JAVA设计模式-解析器模式

在Java中,解释器模式(Interpreter Pattern)是一种行为设计模式,它给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。解释器模式主要用于处理包含特定语法规则的简单语言,如数学表达式、SQL语句、配置文件等。注意:解析器模式是一种不常用的设计模式用于描述如何构成已个简单的语言解释器,主要用于使用面相对象语言开发编译器和解释器设计当我们需要开发一种新的语言是,可以考虑使用。

2024-04-24 21:55:50 424

原创 03-JAVA设计模式-命令模式

命令模式(Command Pattern)是一种行为设计模式,它将请求封装为对象,从而使你可用不同的请求把客户端与请求的处理者解耦,也称动作模式或事物模式。在命令模式中,命令对象封装了接收者对象的动作,调用者通过调用命令对象来执行该动作,而无需知道具体的接收者对象是谁。

2024-04-22 12:25:14 742

原创 03-JAVA设计模式-中介者模式

中介者模式(Mediator Pattern)是一种行为设计模式,用于减少对象之间的直接依赖关系,降低它们之间的耦合度,并使得一个对象改变时,所有依赖于它的对象都得到通知并自动更新。在中介者模式中,一个中介者对象来封装一系列对象之间的交互,从而使这些对象不需要显式地相互引用,降低了它们的耦合度。

2024-04-17 09:33:23 1211

原创 03-JAVA设计模式-迭代器模式

迭代器模式(demo1.Iterator Pattern)是Java中一种常用的设计模式,它提供了一种顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示的方法。迭代器模式将遍历逻辑从聚合对象中分离出来,使得聚合对象本身更加简洁,同时也使得遍历操作更加灵活和独立。在Java中,迭代器模式通常通过实现Iterator接口来实现。Iterator接口定义了访问和遍历元素的方法,如hasNext()用于判断是否还有下一个元素,next()用于获取下一个元素等。

2024-04-16 10:15:41 529

原创 03-JAVA设计模式-责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,允许你将请求沿着处理者链进行传递。每个处理者均对请求进行某些处理,并可决定是否将请求沿着链传递下去。这种模式给予请求的处理者更加灵活的组织结构。在Java中实现责任链模式,通常需要定义一个处理者接口,该接口包含一个或多个方法用于处理请求和决定是否传递请求。然后,创建具体的处理者类,实现这个接口。每个处理者可以持有对下一个处理者的引用,从而形成处理者链。

2024-04-13 21:59:07 1119

原创 03-JAVA设计模式-享元模式

享元模式(Flyweight Pattern)是一种对象结构型设计模式,用于减少创建对象的数量,以减少内存占用和提高系统性能。它通过共享已经存在的对象来避免创建大量相似的对象,从而降低内存消耗。在享元模式中,通常会有一些细粒度的对象,它们具有一些共同的属性,但是某些属性可能会变化。

2024-04-11 17:38:52 987

原创 03-JAVA设计模式-外观模式

外观模式(Facade Pattern)是面向对象设计模式中的一种,它为子系统中的一组接口提供了一个统一的高级接口,使得子系统更容易使用。外观模式定义了一个高层接口,让子系统更容易使用。子系统中的很多类往往不是面向用户使用的,而是相互之间通过协作完成一项任务。这些类之间的协作关系是比较复杂且难以理解的。外观模式为这些类提供了一个高层接口,使得用户只需要跟外观类打交道,而不需要跟子系统中众多的类打交道。外观模式是开发中最常用的模式之一。

2024-04-11 12:39:28 544

原创 03-JAVA设计模式-装饰模式

装饰器模式(Decorator Pattern)也叫包装器模式,是一种结构型设计模式,允许用户在不改变对象的情况下,动态地给对象增加一些额外的职责(功能)。装饰器模式相比生成子类更为灵活,因为可以在运行时根据需要动态地添加或删除功能。

2024-04-10 22:55:57 571

原创 03-JAVA设计模式-组合模式

组合模式(Composite Pattern)允许你将对象组合成树形结构以表示“部分-整体”的层次结构,使得客户端以统一的方式处理单个对象和对象的组合。组合模式让你可以将对象组合成树形结构,并且能像单独对象一样使用它们。

2024-04-10 15:48:43 778

原创 03-JAVA设计模式-桥接模式

桥接模式(Bridge Pattern)是一种将抽象与实现解耦的设计模式,使得二者可以独立变化。在桥接模式中,抽象部分与实现部分通过一个桥接接口进行连接,从而允许抽象部分和实现部分独立演化。

2024-04-10 11:16:57 835

原创 03-JAVA设计模式-代理模式详解

Java代理模式是一种常用的设计模式,主要用于在不修改现有类代码的情况下,为该类添加一些新的功能或行为。代理模式涉及到一个代理类和一个被代理类(也称为目标对象)。代理类负责控制对目标对象的访问,并可以在访问前后添加一些额外的操作。关注真正的业务逻辑Java代理模式主要分为两种:静态代理和动态代理。

2024-04-09 23:19:30 1629

原创 03-JAVA设计模式-适配器模式

它属于结构型模式,主要用于将一个类的接口转换成客户端所期望的另一种接口,从而使得原本由于接口不兼容而无法协同工作的类能够一起工作。适配器模式主要解决的是不兼容接口的问题。在软件开发中,经常会有这样的情况:我们有一个现有的类,它的接口(方法、属性等)不符合我们的需求,但我们又无法直接修改这个类(可能是因为它是第三方库的一部分,或者出于其他原因)。此时,我们可以使用适配器模式来“包装”这个类,使其具有我们期望的接口。

2024-04-08 17:43:40 1261

原创 03-JAVA设计模式-原型模式

Java原型模式(Prototype Pattern)是一种创建型设计模式,其核心理念在于通过复制(克隆)已有的对象来创建新的对象,而不是通过构造函数来创建。该模式可以显著提高对象创建的效率,特别是在需要频繁创建对象或对象创建过程较为复杂的场景下。在原型模式中,原型对象作为基础对象,其他对象通过复制这个原型对象来创建新的实例。复制过程可以是浅克隆或深克隆。注意:发生浅拷贝主要针对数据类型为引用类型。

2024-04-08 17:41:42 1195

原创 03-JAVA设计模式-建造者模式

建造者模式(Builder Pattern)是一种对象构建的设计模式,它允许你通过一步一步地构建一个复杂对象,来隐藏复杂对象的创建细节。这种模式将一个复杂对象的构建过程与其表示过程分离,使得同样的构建过程可以创建不同的表示。命名建议以Builder结尾,以达到见名之意。

2024-04-07 23:24:25 961

原创 03-JAVA设计模式-工厂模式详解

工厂设计模式是一种创建型设计模式,它提供了一种封装对象创建过程的机制,将对象的创建与使用分离。这种设计模式允许我们在不修改客户端代码的情况下引入新的对象类型。在Java中,工厂设计模式主要有三种形式:简单工厂模式、工厂方法模式和抽象工厂模式。

2024-04-06 22:55:17 1195

原创 03-JAVA设计模式-单例模式详解

单例模式(Singleton Pattern)是设计模式中的一种,它确保一个类仅有一个实例,并提供一个全局访问点来访问该实例。这种设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

2024-04-05 23:01:28 989

原创 02-JDK新特性-try-with-resources自动管理资源关闭

try-with-resources是Java 7引入的一个新特性,它提供了一种简化资源管理的机制。该特性主要用于自动关闭实现了AutoCloseable或Closeable接口的资源,如文件流、数据库连接等,从而避免了资源泄漏的问题。在try-with-resources语句中,你可以声明一个或多个资源,这些资源在try代码块执行完毕后会被自动关闭。这是通过Java虚拟机的异常处理机制和字节码的异常表来实现的,通过自动调用资源的close()方法来确保资源被正确地关闭。

2024-04-05 18:49:18 1033

原创 00-JAVA基础-JVM类加载机制及自定义类加载器

java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对于的字节代码,然后从这些字节代码中定义出第一个Java类,即java.lang.Class类的一个实例。继承:java.lang.ClassLoader首先检查请求的类型是否已经被这个加载装载到了命名空间,如果已加载,则直接返回委派类加载器请求给父类加载器,如果父类加载器能够完成加载,则直接返回加载器加载的Class实例。

2024-04-05 18:11:54 843

原创 00-JAVA基础-注解及反射解析注解

使用@interface自定义注解是,自动继承了java.lang.annotation.Annotation接口元注解(Meta-Annotation)是用于定义其他注解的注解。在Java中,注解是一种为代码提供元数据的机制,而元注解则是对这些注解进行进一步描述的工具。JDK中定义了四种标准的元注解类型:@Target、@Retention、@Documented和@Inherited。用于指定注解的作用目标,例如类、方法、字段等。所修饰范围取值ElementTypepackage。

2024-04-04 22:17:25 952

原创 00-JAVA基础-脚本引擎

Java 平台自带了如JavaScript、Groovy等脚本语言的引擎,可以在运行时动态地加载和执行脚本代码。这些脚本引擎可以直接在Java应用程序中使用,例如,通过ScriptEngineManager来获取特定脚本语言的ScriptEngine实例,然后使用eval()方法执行脚本代码。Java 脚本引擎使得Java 应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在Java平台上调用各种脚本语言的目的。

2024-04-04 20:47:28 902

原创 00-JAVA基础-javassist字节码操作

Javassist是一个开源的分析、编辑和创建Java字节码的类库。它是jboss的一个子项目,主要优点在于简单且快速。它允许开发者直接使用Java编码的形式,而无需了解虚拟机指令,就能动态地改变类的结构或动态生成类。Javassist提供了一组简单易用的API,使开发者能够动态地创建、修改、分析Java类,而无需关心底层的字节码细节。

2024-04-04 20:45:43 1383

原创 00-JAVA基础-动态编译

JAVA 6 引入了动态编译机制。Java 动态编译是指在运行时将Java源代码编译成可执行的字节码。这通常使用Java的内置编译器API javax.tools.JavaCompiler 来实现。

2024-04-04 14:07:58 917 1

原创 00-JAVA基础-反射机制

在Java中,反射(Reflection)是Java语言的一个特性,它允许程序在运行时检查类、接口、字段和方法的信息。通过反射,Java代码能够动态地创建对象、调用方法、改变字段的值等,而无需在编译时知道这些类的详细信息。

2024-04-04 01:10:28 959

原创 02-JDK新特性-Stream流

Stream流是Java 8中的一个新特性,它提供了一种处理集合和数组的方式。Stream流可以让我们以一种更加简洁、高效、可读性更强的方式来处理数据。Stream流可以用于过滤、映射、排序、聚合等操作,它可以让我们避免使用循环和条件语句来处理数据,从而让代码更加简洁易懂。Stream流的操作可以分为中间操作和终止操作两种类型,中间操作返回的是一个新的Stream流,终止操作返回的是一个非Stream类型的结果。Stream流的处理是惰性求值的,只有在执行终止操作时才会开始处理数据。

2024-04-03 21:20:39 1054

原创 02-JDK新特性-函数式接口

函数式接口(Functional Interface)就是有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 Lambda 表达式。我们可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口。同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。

2024-04-03 15:27:12 955

原创 02-JDK新特性-泛型

类型>:指定一种类型的格式,这里的类型可以看成是形参。:指定多种类型的格式,多种类型之间用逗号隔开,这里的类型可以看成是形参。将来具体调用时给定类型可以看成实参,并且实参的类型只能是引用数据类型。

2024-04-01 23:49:14 1188

原创 02-JDK新特性-接口新特性

接口的组成注意事项:JAVA8之后在接口中新增了默认方法、静态方法、私有方法(JAVA9)。接口中允许有方法体的只有以上四种。其中dance(){} 是不允许的。

2024-04-01 12:53:44 353

原创 02-JDK新特性-Lambda表达式

Lambda表达式是一个匿名代码块,用于简单的传递一段代码片段。

2024-04-01 00:41:44 985

原创 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 1029

原创 01-XML-03XML Schema

XSDXML Schema是DTD的替代者不仅可以定义XML文档的结构,还可以规范文档的内容XSD本身也是XML文件XSD采用XML文档来定义语义约束,比DTD要复杂一些,但是功能强大的多支持丰富的数据类型允许开发者自定义数据类型可读性强可针对未来需求进行扩展TODO 后续补充

2024-03-31 14:06:53 552

原创 01-XML-02XML DTD定义文档结构

DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。它使用一系列的合法元素来定义文档结构。

2024-03-31 14:00:44 888

原创 01-XML-01认识XML

可扩展标记语言(Extensible Markup Language),没有固定的标签,所有的标签都可以自定义。使用简单的标记来描述数据通常,xml被用于信息的记录和传递,因此经常被作用为配置文件声明信息根元素(有且仅有一个根元素)标签大小写敏感标签要成对,而且要正确嵌套属性值要使用双引号-- 注释内容 -->尽量使用元素来描述数据。避免使用属性描述数据。

2024-03-31 11:34:30 507

原创 JS赋值隐藏input并监听值变化

JS赋值隐藏input并监听值变化

2022-02-21 09:02:41 1058

原创 百度语音-JAVA对PCM文件格式处理

百度语音-JAVA对PCM文件格式处理1 问题描述调用百度语音接口使用测试PCM文件正常返回。使用微信小程序上传录音文件、本地录音调用百度语音接口。正常响应,但是响应结果不是“嗯嗯”,就是空。然后检查使用音频文件,额,没啥问题,一度怀疑接口的识别率....实在没办法,不可能别人都能用,就你用不了。继续仔细研究接口文档。注意是必须符合,必须符合,必须符合。重要的事情说3遍。然后文档中给了文件格式的转码说明。详细见:开发工具-音频文件转码额,好吧ffmpeg软件一枚.

2021-09-10 09:00:15 754 1

Nginx负载均衡模式测试附件

Nginx关键技术学习及运用(三)-Nginx配置文件介绍及常见的负载均衡模式附件

2019-04-24

VB简单ocx封装应用

使用IE浏览器打开,利用IE的activex控件采用vb开发集成OCX的简单应用,包括1)使用工具栏添加一个按钮,点击按钮打印出当前时间;2)写一个方法,当调用该方法传入一个姓名作为参数时,返回hello + 参数 + !!3)测试调用动态库dll方法,使用c++写一个dll动态库,并在vb中调用动态库中的方法

2018-12-11

空空如也

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

TA关注的人

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