自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术人集结地

技术改变世界,代码创造未来

  • 博客(305)
  • 资源 (5)
  • 收藏
  • 关注

原创 Nginx使用详解

Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务。它由伊戈尔·赛索耶夫(Igor Sysoev)为俄罗斯访问量第二的Rambler.ru站点开发,并在一个类似BSD的协议下发行。Nginx的特点包括占用内存少、并发能力强,以及具有高稳定性、支持热部署等。这使得Nginx在处理大量并发连接时表现出色,因此被广泛应用于各种场景,包括作为优秀的代理服务器和负载均衡服务器。

2024-02-05 22:39:40 1623 65

原创 Undertow使用详解

Undertow是一个开源的、灵活的、高性能的非阻塞性应用服务器,由JBoss提供。它可以用作嵌入式服务器,也可以用作大型项目的全功能应用服务器。Undertow的设计以提供最高的性能和最大的灵活性为主要目标,支持非阻塞性和阻塞性处理方式,可以处理十万级的并发连接。Undertow的历史可以追溯到2013年,当时Red Hat发布了JBoss AS 7,这是一个基于Java 7的轻量级应用服务器。Undertow作为JBoss AS 7的默认Web服务器,提供了高效的非阻塞I/O和异步处理能力。

2024-02-04 23:20:45 2405 16

原创 gRPC使用详解

gRPC是一个高性能、开源和通用的RPC(远程过程调用)框架,面向服务端和移动端,基于HTTP/2设计。以下是gRPC的一些主要特点:1. 语言中立:支持多种语言,包括Java、C++、Python、Go、Ruby、C#、Java等。2. 基于IDL文件定义服务:通过proto3工具生成指定语言的数据结构、服务端接口以及客户端Stub。3. 通信协议基于标准的HTTP/2设计:支持双向流、消息头压缩、单TCP的多路复用、服务端推送等特性,这些特性使得gRPC在移动端设备上更加省电和节省网络流量。4

2024-02-03 01:23:07 1796 60

原创 Consul使用详解

初期阶段(2014-2015年):Consul最初发布于2014年5月,这个版本是基于Go语言开发的,并提供了诸如服务发现、健康检查、分布式锁和配置管理等功能。这些功能的设计旨在解决HashiCorp公司在构建云基础设施时遇到的服务发现和配置管理问题。快速发展阶段(2016-2018年):在这个阶段,Consul发展迅速,引入了对多数据中心和插件机制的支持,并发布了多个版本,不断完善其功能和性能。这些改进使得Consul的使用变得更加灵活和可扩展。

2024-01-22 23:57:02 1886 22

原创 设计模式-委托模式

委托模式是一种行为模式,用于在面向对象设计中解决多个对象接收并处理同一请求的问题。它通过将请求委托给另一个对象来统一处理请求,提高程序的性能和降低内存空间的使用。委托模式利用了事件的冒泡机制,将一个或一组元素的事件委托给它们的父层或更外层元素上。真正绑定事件的是外层元素,当事件响应到需要绑定的元素上时,会通过事件冒泡机制触发外层元素的绑定事件,然后在该元素上执行函数。这种模式的优点在于可以减少重复的代码,提高代码的可重用性和可维护性。同时,它也可以降低系统的耦合度,使系统更加灵活和易于扩展。

2024-01-22 23:41:36 1539 3

原创 Eureka使用详解

Eureka是一个基于REST的服务,主要用于AWS云中的定位服务,以实现中间层服务器的负载平衡和故障转移。在Spring Cloud微服务架构中,Eureka通常用作注册中心。Eureka的基本原理是:服务在Eureka上注册,然后每隔30秒发送心跳来更新它们的租约。如果客户端不能多次续订租约,那么它将在大约90秒内从服务器注册表中剔除。Eureka客户端与服务器之间的通信采用客户端发现模式。Eureka客户端将关于运行实例的信息注册到Eureka服务器,并在每隔30秒发送心跳来更新注册信息。

2024-01-20 23:14:15 2188 35

原创 设计模式-资源库模式

资源库模式是一种架构模式,介于领域层与数据映射层(数据访问层)之间。它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口提供给领域层进行领域对象的访问。资源库模式协调领域和数据映射层,利用类似于集合的接口来访问领域对象。独立性:资源库模式作为一个独立的层,将领域对象与数据访问细节分离,使得领域层可以专注于业务逻辑,而不必关心数据存储和访问的细节。

2024-01-20 23:12:56 1501 8

原创 Dubbo使用详解

Dubbo是一个高性能、轻量级的开源Java RPC框架,由阿里巴巴公司开发并开源。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。Dubbo使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。高性能:Dubbo使用高效的网络框架和序列化框架,让分布式服务之间调用效率更高。透明化:Dubbo在调用远程的服务的时候再本地有一个接口,就像调用本地方法一样去调用,底层实现好参数传输和远程服务运行结果传回之后的返回。

2024-01-19 01:39:20 1769 45

原创 Zookeeper使用详解

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集,提供Java和C的接口。

2024-01-14 23:30:30 4537 70

原创 设计模式-传输对象模式

传输对象模式(Transfer Object Pattern)是一种设计模式,用于从客户端向服务器一次性传递带有多个属性的数据。传输对象也被称为数值对象。这种设计模式通常用于将多个属性打包到一个对象中,以便通过网络传输。传输对象是一个具有getter/setter方法的简单的POJO类,它是可序列化的,所以它可以通过网络传输。它没有任何的行为,只是用于存储数据。服务器端的业务类通常从数据库读取数据,然后填充POJO,并把它发送到客户端或按值传递它。

2024-01-14 21:59:35 1160 4

原创 设计模式-委托模式

委托模式是一种软件设计模式,其中一个对象(委托对象)将某些操作委托给另一个对象(委托方法)进行处理。这种模式的核心思想是将复杂的功能分解到不同的对象中去实现,降低单个对象的复杂度,从而提高系统的可维护性和可扩展性。在委托模式中,接受请求的对象将请求委托给另一个对象来处理,类似于回调函数的机制。委托模式通过降低单个对象的复杂度来提高系统的可维护性和可扩展性。委托模式广泛应用于事件驱动编程、GUI编程、多线程编程等领域。在实际应用中,委托模式具有广泛的应用场景。

2024-01-14 16:50:51 1168 4

原创 linux创建文件并分配权限

在Linux中,文件是一个具有符号名字的一组相关联元素的有序序列。文件可以包含的内容十分广泛,操作系统和用户都可以将具有一定独立功能的一个程序模块、一组数据或一组文字命名为一个文件。文件名是数据有序序列集合(文件)的名称。常规文件:简称r,如文本文件、二进制文件等。目录文件:简称d,即文件夹。字符设备文件:简称c,Linux中一切皆文件,字符设备一般指输入输出文件,如键盘、显示器和鼠标等。块设备文件:简称b,Linux中一切皆文件,块设备一般指存储器,如硬盘、内存和闪存等。

2024-01-12 23:12:51 1932 12

原创 设计模式-注册模式

注册模式是一种设计模式,也称为注册树模式或注册器模式。这种模式的主要目的是为应用中经常使用的对象创建一个中央存储器来存放这些对象,通常通过一个只包含静态方法的抽象类来实现(或者通过单例模式)。注册模式可以将已经创建好的对象挂载到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。这就好比一个“对象的电话簿”——储存并且能够取回对对象引用的登记簿。这种模式解决了全局共享对象和交换对象的问题,使得任何地方都可以直接访问这些对象。因此,注册模式成为整个应用信息的决定性来源。

2024-01-12 22:55:57 1101 1

原创 设计模式-数据映射模式

数据映射模式是一种将对象和数据存储映射起来的数据访问方式。具体来说,对一个对象的操作会映射为对数据存储的操作。这个数据访问层在持久化数据存储层(一般是关系型数据库)和驻于内存的数据表现层之间进行双向数据传输。其目的是让持久化数据存储层、驻于内存的数据表现层以及数据映射本身三者相互独立、互不依赖。此外,数据映射模式的核心在于其数据模型遵循单一职责原则,这也是与Active Record模式的不同之处。最典型的数据映射模式例子就是数据库ORM模型(Object Relational Mapper)。

2024-01-11 23:51:28 1555 14

原创 Hazelcast使用详解

Hazelcast是一个开源的分布式数据结构库,主要用于在Java应用程序中提供高可用性、数据分布、缓存等功能。它支持多种分布式数据结构,如分布式映射、分布式队列、分布式缓存等。Hazelcast的历史可以追溯到2011年,当时它作为一个开源项目在GitHub上发布。Hazelcast是由一群志愿者创建的,他们希望开发一个高性能、可扩展的分布式内存数据库,以满足他们在构建应用程序时对内存存储和分布式计算的需求。从那时起,Hazelcast一直作为一个开源项目不断发展。

2024-01-11 00:59:14 2534 20

原创 设计模式-规格模式

规格模式(Specification Pattern)是一种行为设计模式,其目的是将业务规则封装成可重用的对象,并能够动态地组合这些规则,以实现更复杂的业务逻辑。定义:规格模式可以认为是组合模式的一种扩展。在程序中,某些条件决定了业务逻辑,这些条件可以抽离出来以某种关系(与、或、非)进行组合,从而灵活地对业务逻辑进行定制。在查询、过滤等应用场合中,通过预定义多个条件,然后使用这些条件的组合来处理查询或过滤,而不是使用逻辑判断语句来处理,可以简化整个实现逻辑。

2024-01-10 22:36:40 1138 6

原创 ubuntu查看内存使用情况命令

在Ubuntu系统中,可以使用终端命令来查看电脑的内存使用情况。打开终端并输入以下命令:free -h该命令可用于查看系统中内存的总量、已使用的内存、空闲的内存及缓冲区使用的内存。其中“-h”选项用于以人类可读的格式显示内存大小。执行该命令后,系统将展示所有关于内存使用情况的详细信息。free命令是Linux系统中常用的命令之一,用于显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区等。free命令的输出可以让你了解系统的内存使用情况,从而进行相应的优化或排错。

2024-01-10 00:01:10 1203 12

原创 设计模式-空对象模式

空对象模式是一种设计模式,用于处理对象不存在的情况。它通过返回一个空对象来代替 null 值,从而避免了空指针异常。空对象通常具有与正常对象相同的接口,但其方法体为空或返回默认值。在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。加强系统的稳固性,有效地防止空指针报错对整个系统的影响,使系统更加稳定。实现对空对象情况的定制化的控制,掌握处理空对象的主动权。

2024-01-09 23:53:21 1181 2

原创 Kafka与RabbitMQ的区别

Apache Kafka是一个开源流处理平台,由Scala和Java编写,由Apache软件基金会开发。它是一个高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,Kafka是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

2024-01-08 23:59:32 2200 12

原创 设计模式-状态模式

状态模式(State Pattern)是一种行为型设计模式,允许一个对象在其内部状态发生改变时改变其行为。在状态模式中,将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,以满足“单一职责原则”。状态模式的核心是状态与行为绑定,不同的状态对应不同的行为。行为随状态改变而改变的场景。一个操作中含有庞大的多分支结构,并且这些分支取决于对象的状态。在实现状态模式时,通常包括环境类角色(Context)、抽象状态角色(IState)和具体状态角色(ConcreteState)三个角色。

2024-01-08 23:51:36 1159

原创 Nacos与Eureka的区别

Nacos是一个易于构建云原生应用的动态服务发现、配置管理和服务管理平台。服务发现:Nacos支持基于DNS和RPC的服务发现,提供原生SDK、OpenAPI等多种服务注册方式和DNS、HTTP与API等多种服务发现方式。它还支持对服务的实时健康检查,阻止向不健康的主机或服务实例发送请求。动态配置服务:Nacos提供配置统一管理功能,以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,使配置管理更加高效和敏捷。动态DNS服务。

2024-01-07 21:27:22 2720 37

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

模板方法模式是一种行为型设计模式,它定义了一个操作中的算法的骨架,将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。它封装了一个固定流程,该流程由几个步骤组成,具体步骤可以由子类进行不同的实现,从而让固定的流程产生不同的结果。在软件工程中,模板方法模式是一种常用的设计模式,用于解决算法的框架和部分步骤已经确定,而部分步骤需要根据不同情况进行变化的问题。

2024-01-07 21:26:28 1145

原创 Vert.x学习笔记-什么是事件总线

事件总线是一种集中式事件处理机制,它允许不同的组件之间进行彼此通信而又不需要相互依赖,从而达到解耦的目的。它是对发布-订阅模式的一种实现,可以看作是一个中心化的媒介,能够以标准化的协议在这些组件之间路由事件,负责将事件从发布者传递给订阅者。事件总线可以管理事件的传递、路由和解析,同时也可以处理事件的顺序、优先级和过滤。在事件驱动型架构中,事件总线是其中的一部分,它主要用于处理事件发布和订阅的中间件。它通过提供统一的订阅、取消订阅和发布接口,使不同组件或模块之间能够进行松散耦合的通信。

2024-01-06 23:55:28 1564 32

原创 Java8升级到Java11注意事项

Java 8(又称为 JDK 1.8)是 Java 语言开发的一个主要版本,由 Oracle 公司于2014年3月发布。这个版本引入了大量新特性,包括对函数式编程的支持、新的 JavaScript 引擎、用于日期时间操作的新 API、新的 Steam API 等。Java 8 支持函数式编程,是 Java 向函数式风格迈进的一个开始。这个特性有助于程序员编写出更简洁、表达力更强、在很多情况下能够利用并行硬件的代码。Lambda 表达式:Lambda 允许把函数作为一个方法的参数,增加了函数性处理能力。

2024-01-06 22:59:20 1311 5

原创 设计模式-职责链模式

职责链模式是一种设计模式,用于解决请求的发送者和接收者之间的耦合问题。它使多个对象都有机会处理请求,直到某个对象能够处理该请求为止。每个职责链上的对象都有一个处理请求的方法,如果该方法能够处理请求,则直接处理并返回结果;如果不能处理,则将请求传递给链上的下一个对象。在职责链模式中,每个对象都有机会处理请求,直到找到能够处理该请求的对象为止。这种模式可以降低系统的耦合度,提高系统的灵活性和可扩展性。

2024-01-06 00:34:52 1238 20

原创 一年又一年,万象更新

同时,我也希望拓展自己的知识面,跨领域学习一些新的技能和知识,如编程、数据分析或者一门新的语言,这些都将有助于提升我的综合竞争力。在新的一年里,我将更加注重时间的管理和目标的设定。同时,我也将努力提升自己的沟通能力,学会更好地倾听他人、表达自己的想法和感受。在未来的日子里,我将继续努力学习和成长,不断提高自己的能力和素质。同时,我也积极学习和借鉴他人的经验和智慧,不断完善自己的人生观和价值观。在这一年里,我渴望在多个方面取得显著的进步,为自己的未来奠定更加坚实的基础。我保持规律的作息时间,注重饮食和锻炼。

2024-01-03 23:59:47 850 52

原创 设计模式-流接口模式

流接口模式是一种面向对象的编程模式,它可以使代码更具可读性和流畅性。流接口模式的核心思想是采用链式调用的方式来实现一系列对象方法的调用,每个方法调用都返回一个对象,从而可以继续调用下一个方法。这种模式类似于自然语言的句子结构,使得代码更易于理解和维护。在流接口模式中,每个方法都返回一个对象,通常是通过在方法签名中加入"this"关键字来实现。这样,每个方法都可以被视为在返回对象上执行的操作,从而形成了一个方法调用的链。流接口模式的好处在于它可以使代码更加简洁和易读。

2024-01-03 23:44:17 1092 4

原创 Kafka集群详解

Apache Kafka是一个开源流处理平台,由Scala和Java编写。它最初由LinkedIn公司开发,并于2011年初开源。Kafka是一个高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,Kafka是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

2023-12-30 23:59:57 2951 42

原创 设计模式-调停者模式

调停者模式是一种软件设计模式,主要用于模块间的解耦,通过避免对象之间显式的互相指向,降低耦合度。这种模式通常用于解决多个对象之间重复访问、无规律性、交互方式复杂且通常存在非结构依赖的问题。在调停者模式中,通常会有一个抽象调停者(Mediator)类,它定义了同事对象与调停者对象之间的接口,主要方法是一个或多个事件方法。具体调停者(ConcreteMediator)类则实现了抽象调停者所声明的事件方法,负责具体的协调各同事对象的交互关系。

2023-12-30 23:59:26 1040

原创 JMX使用详解

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。JMX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等。JMX的主要作用是提供接口,允许有不同的实现。

2023-12-29 23:27:35 1868 15

原创 设计模式-抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是设计模式中的一种,属于创建型模式。它提供了一种构建产品族的机制,可以创建多个产品族中的产品对象,而无需在客户端指定产品的具体类型。当有多个抽象角色时,可以使用抽象工厂模式。抽象工厂模式通过提供一个接口,使得客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。抽象工厂模式在系统中有多个产品族结构时非常有用,每个产品族内又有多个具体的产品系列。它根据不同的业务品种和业务分类,通过抽象工厂模式来产生需要的对象。

2023-12-29 22:53:24 1377

原创 设计模式-多例模式

多例模式是一种创建型设计模式,属于对象创建类型。多例模式的特点是允许一个类有多个实例,并且这些实例都是该类本身。多例模式通常用于设计复杂的系统,例如数据库连接、网络通信等。可以限制实例数量:多例模式可以限制实例数量,确保系统中只有指定数量的实例存在,避免过多的资源消耗。可以复用已有实例:多例模式可以复用已有实例,避免重复创建对象,提高系统性能。可以灵活控制实例的生命周期:多例模式可以灵活控制实例的生命周期,可以在需要时创建实例,也可以在不需要时销毁实例,避免浪费系统资源。

2023-12-28 23:57:23 1193 9

原创 设计模式-对象池模式

对象池模式是一种创建型设计模式,它将对象预先创建并初始化后放入一个池中,以供其他对象使用。这种模式的主要目的是减少频繁创建和销毁对象所占用的内存空间和初始化时间。一个对象池包含一组已经初始化并且可以使用的对象。当某个对象需要使用这些对象时,可以从池中获取一个对象,对其进行操作处理,并在使用完毕后将该对象归还给池子,而不是直接销毁。这样可以避免频繁地创建和销毁对象,提高内存管理效率。

2023-12-28 23:43:47 1150 1

原创 线程池的拒绝策略

自定义线程池的拒绝策略可以通过实现RejectedExecutionHandler接口并覆盖其rejectedExecution方法来实现。@Override// 在这里处理任务被拒绝的情况// 可以选择记录日志、抛出异常、执行备选方案等这样,当任务被线程池拒绝时,就会调用自定义的拒绝策略进行处理。具体如何处理,取决于rejectedExecution方法中的实现。

2023-12-27 23:59:14 836 15

原创 设计模式-过滤器模式

过滤器模式是一种设计模式,它允许开发人员使用不同的标准来过滤一组对象。这种模式是通过运算逻辑以解耦的方式将它们联系起来。在结构上,这种类型的设计模式属于结构型模式,即按条件筛选一组对象出来。抽象过滤器角色(AbstractFilter):负责定义过滤器的实现接口。具体的实现还需要具体过滤器角色去参与。客户端可以调用抽象过滤器角色中定义好的方法,将客户端的所有请求委派到具体的实现类去,从而让实现类去处理。

2023-12-27 23:54:19 1089 1

原创 设计模式-依赖注入模式

依赖注入(Dependency Injection,简称DI)是一种面向对象编程中的设计模式,它的目的是将一个对象所依赖的其他对象的创建过程从该对象本身中分离出来,以便更好地实现解耦和可测试性。在DI模式中,对象不是通过自己创建所需要的依赖对象,而是通过构造函数、属性或接口传递进来。构造函数注入(Constructor Injection):依赖对象通过被依赖对象的构造函数传入。这种方式是DI的主要方式,也是最简单的一种方式。它可以保证依赖对象的创建和注入是在同一时间完成的,因此可以确保依赖对象的可用性。

2023-12-26 23:32:34 2085 11

原创 设计模式-注册模式

注册模式是一种设计模式,也称为注册树或注册器模式。这种模式将类的实例化和创建分离开来,避免在应用程序启动时实例化对象,以避免造成资源的浪费。注册模式的核心思想是将类的创建和管理的代码封装到一个工厂类中,用户代码无需显式地通过“new”关键字实例化对象。相反,用户可以将类对象注册到全局的注册树上,这些对象就可以被应用程序中的任何地方访问。使用注册模式的优势在于,它提供了一种集中管理对象的方式,避免了在每个需要使用对象的地方重复创建和销毁对象。

2023-12-26 23:17:25 1334

原创 敢问路在何方,路在脚下

未来,随着技术的不断更新和进步,运维工程师的需求将会继续增加,但同时也需要不断更新自己的技能和知识,以适应技术的不断变化。在国内,运维工程师是一个非常重要的职业,随着云计算和互联网技术的快速发展,运维工程师的需求也越来越高。同时,运维工程师的职业寿命也很长,因为随着经验的积累和技能的提升,运维工程师可以选择更多的职位和发展方向,比如进入IT架构师、技术总监、CTO等高级职位。未来,随着云计算和大数据技术的进一步发展,运维工程师的需求将会更加旺盛,但同时也需要不断更新自己的技能和知识,以适应技术的不断变化。

2023-12-25 23:33:40 1042 16

原创 设计模式-生成器模式

生成器模式是一种创建型模式,它的主要目的是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式的使用场景包括:当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时;当构造过程必须允许被构造的对象有不同的表示时。生成器模式的主要优点包括:建造者独立,易扩展;便于控制细节风险。缺点则在于:产品必须有共同点,范围有限制;如内部变化复杂,会有很多的建造类。

2023-12-25 20:56:38 1542 9

原创 Mybatis使用详解

MyBatis是一款优秀的持久层框架,它支持普通SQL查询,存储过程和高级映射。MyBatis通过简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据库中的记录。MyBatis可以自动注册驱动、建立连接、获取SQL执行对象、释放连接等操作,开发人员只需要关注SQL语句的编写即可,无需过多关注数据库连接问题。

2023-12-24 23:08:20 2235 51

eureka server 与eureka client

该项目主要包含了一个springcloud框架中的服务注册与服务发现的常用框架的eureka的实例,共包含eureka-client和eureka-server两个模块,打开项目,先启动eureka-server项目,通过localhost:端口便可访问eureka-server界面,然后启动eureka-client,即可看到一个微服务注册到eureka-server的过程,希望这个实例项目可以帮到大家

2020-04-03

Linux基础命令

Linux常用命令,Linux初学者不可或缺的必备资料

2014-11-05

最新poi:poi-3.10.1.jar

这是apr最新稳定版的poijar包,支持office 2007的存取

2014-11-05

常用正则表达式和编程词汇

在我们的开发过程中经常会遇到许多需要通过正则表达式来进行判断的地方,这个文档可以帮助菜鸟很快的找到经常遇到的一些正则表达式,还有一些编程中经常用到的词汇,让我们更好的读懂文档

2014-07-30

JAVA小程序之信息提示音

当我们的一些程序会持续一段时间的话,我们经常无法判断他在什么时候结束,这个时候我们就应该在程序结束的时候加一个提示音,这样就可以更加方便的及时知道程序啥时候结束了

2014-04-04

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

TA关注的人

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