自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 资源 (3)
  • 收藏
  • 关注

原创 MongoBD 系列(1) —— 初识 MongoDB

Mongodb,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

2023-01-06 23:59:00 1806

原创 Java 多线程系列(8) —— 线程同步基础

Synchronized 关键字提供了一种锁机制,可以实现一个简单的策略来防止线程的干扰和内存一致性错误。即 Synchronized 能够确保共享变量之间的互斥访问,从而防止数据不一致的问题出现。Synchronized 关键字包括 moniter enter 和 moniter exit 两个 JVM 命令,他能够保证在任何线程执行到moniter enter 成功之前都必须从主存中获取数据,而不是从缓存中。在 moniter exit 运行成功之后,共享变量被更新后的值必须被刷入主存中。...

2022-08-26 11:03:01 312

原创 JVM 系列(6) —— JVM 类加载机制

Java 虚拟机把描述类的数据从 class 文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用。

2022-08-25 10:21:31 342

原创 Spring Security 系列(3) —— Spring Security & Webflux

编写主启动类开启表单登陆表单验证登陆时 Serverlet 与 Webflux 的相关核心类的对照情况添加 WebSecurity 的配置类测试效果进入登陆页面,输入 test 的用户名和密码,在登陆成功后请求 test3 可以看到被校验通过WebFlux 与 Servelet 的 OAuth2 核心类对照表修改 Webflux 的配置添加登陆用的 DTO添加 OAuth2 配置类添加 Controller授权码模式实现注入一个 client 用于...

2022-07-14 15:10:53 1424

原创 Spring Boot 系列 —— Spring Webflux

Java 8提出了函数式接口的概念。所谓函数式接口,简单来说,就是只定义了单一抽象方法的接口。【示例】注释FunctionalInterface用于表明IntHandler接口是一个函数式接口,该接口被定义为只包含一个抽象方法handle(),因此它符合函数式接口的定义。如果一个函数满足函数式接口的定义,那么即使不标注为@FunctionalInterface,编译器依然会把它看做函数式接口。这有点像@Override注释,如果你的函数符合重载的要求,无论你是否标注了@Override,编译器都会识别这

2022-06-29 16:07:41 1355

原创 Spring Security 系列(2) —— Spring Security OAuth2

OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。在认证和授权的过程中涉及的三方包括:1、服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。2、用户,存放在服务提供方的受保护的资源的拥有者。3、客户端,要访问服务提供方资源的第三方应用,通常是网站,如提供照片打印服务的网站。在认证过程之前,客户端要向服务提供者申请客户端标识。例如微信的第三方登陆,以京东的微信登陆为

2022-06-16 17:32:55 1587

原创 Spring Security 系列(1)

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。本节介绍Spring Security在Servlet身份验证中使用的主

2022-06-10 15:04:41 652

原创 OrientDB 系列(1) —— 初识 OrientDB

初识 OrientDB文章目录初识 OrientDBOrientDB 的安装与连接OrientDB 二进制包安装Docker 安装连接 OrientDB可视化界面连接OrientDB 的使用数据库管理用户管理Classes 操作Cluster 操作通用 CRUD 操作插入数据查询数据修改数据删除数据图操作创建顶点删除顶点创建边删除边遍历语句OrientDB 的安装与连接OrientDB 二进制包安装OrientDB 的下载地址: http://www.orientdb.org/download#

2022-04-11 14:55:06 2708

原创 ArangoDB 系列(1) —— 初识 ArnagoDB

初识 ArangoDB文章目录初识 ArangoDB前置知识ArangoDB 的特性ArangoDB 的安装与连接ArangoDB 的操作ArangoDB 的管理操作命令数据库管理命令集合管理命令集合相关方法图数据库AQL 语句执行ArangoDB 的 AQL 语法插入数据修改语句删除语句查询语句图的遍历查询前置知识ArangoDB 的特性灵活的数据类型,支持键值对、文档和图(用于保存社会关系)在运行对文档或者集合的查询时,能够有选择保持事务的一致性和隔离性具备复制与分片功能,能够对数据库进行

2022-03-29 09:03:41 1862

原创 Nebula Graph 系列(1) —— 初识 Nebula

初识 Nebula文章目录初识 Nebula前置知识什么是 Nebula什么是图数据库Nebula 的优点Nebula 的使用场景Nebula 的安装二进制压缩包安装使用 nGql 操作 Nebula图空间的操作顶点与边的定义插入顶点和边删除顶点和边查询操作match 语句(openCypehr 支持)lookup 语句go 语句(依据路劲查询属性)fetch 语句(获取指定边或者点的属性值)图与路劲的查询get subgraph 语句find path 子句前置知识什么是 NebulaNebula

2022-03-03 14:47:45 3020

原创 Neo4j 系列(1) —— 初识 Neo4j

初识 Neo4j文章目录初识 Neo4j前置知识什么是图数据库图数据库诞生的背景图数据库的应用场景Neo4j什么是 Neo4jNeo4j 的安装1. Linux 的安装2. Docker 的安装Neo4j 的使用 (Cypher QL)1. Neo4j 的构建元素Cypher QL 的使用创建节点创建关系查询设置属性删除操作使用索引使用约束最短路径前置知识什么是图数据库图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是以图论为基础的,图数据库主要用于存储更多的连接数据图

2021-11-19 15:42:33 3168

原创 Redis 系列(4) —— 列表

列表Redis 的列表是一种先行有序结构,可以安装元素被推入列表中的顺序来存储元素。这些元素既可以是文字数据,又可以是二进制数据。并且列表中的数据可以重复出现列表的相关命令1. 往列表中插入元素从列表右边插入元素的命令格式为rpush key element [element...]从列表左边插入元素的命令格式为 lpush key element [element...]向某个元素前或后插入元素的命令格式为 linsert key before|after pivot value【示例】1

2021-11-18 09:28:21 742

原创 Redis 系列(3) —— Hash

Hash 散列Redis 的散列会将一个键和一个散列在数据库里关联起来,用户可以在散列中为任意多个字段设置值。与字符串键一样,散列的字段和值既可以是文本数据,也可以是二进制数据。通过使用散列键,用户可以把关联的多项数据存储到同一个散列里面,以便对这些数据进行管理。散列的相关命令1. 设置某个hash 的字段值设置散列值的相关命令格式为 hset key field value [field value ...]【示例】127.0.0.1:6379> hset hashtest f1 v1

2021-04-21 23:36:39 1026

原创 Kubernetes 系列(3) —— Pod

PodPod 是 Kubernetes 的基本操作单元,也是应用运行的载体,包含一个或多个密切相关的容器。整个 Kubernetes 系统都是围绕着 Pod 展开的,比如如何运行 Pod、如何保证 Pod 的数量,如何访问 Pod 等。容器现代容器技术被设计用来运行单个进程,并且该进程在容器中运行的 ID 为 1。也就是说管理容器也就等于管理进程本身。因为容器是一个单进程模型,因此容器不适合运行多个进程,即容器不具备进程管理能力。如果要运行多进程,那么必须将将进程管理的systemd 作为主进程,但

2021-04-21 21:12:42 154

原创 Redis 系列(1) —— Redis 的安装

Redis 的安装1. 环境安装step1: 安装 GCC# 安装 GCCyum install gcc# 安装 GCC-C++yum install gcc-c++# 查看 GCC 版本gcc -vstep2: 升级 GCC版本此处援引自博客由于最新版的 redis 无法匹配老版本的 gcc 因此需要升级 gccyum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-g

2021-04-21 20:51:49 130

原创 Redis 系列(2) —— Redis 的字符串

Redis 字符串相关命令1. 设置 Redis 的的值设置 Redis 值的命令格式为 set key value [ex seconds | px milliseconds | keepttl] [nx|xx]ex: 设置键的秒级过期时间px: 设置键的毫秒级过期时间keepttl:nx: 键必须不存在才可以设置成功xx: 键必须存在才可以设置成功【示例】# 设置键值对127.0.0.1:6379> set hello worldOKPS:setxx key

2021-04-21 20:48:02 365

原创 Kubernetes 系列(1) —— Kubernetes 的基本概念

Kubernetes 的基本概念Kubernetes 架构是一个比较典型的二层架构和 server-client 架构。Master 作为中央的管控节点,会去与 Node 进行一个连接。UI 和 CLI 等用户组件不能直接和 Node 进行连接,只能通过 Master 对 Node 进行操作。用户组件将命令传送给 Master,再由 Master 将组件下发给各个节点。Master 节点Kubernetes 里的 Master 指的是集群控制节点,每个 Kubernetes 集群需要有一个 Mas

2021-03-18 22:06:51 216

原创 Docker 系列(6) —— Docker 容器

Docker 容器容器是镜像运行时实例,用户可以从单个镜像上启动多个容器。虚拟机与容器的的区别虚拟机运行在操作系统之上,容器会共享其所在主机的操作系统Docker 容器的生命周期Docker 容器的生命周期有以下五种状态创建装填(Created)运行状态(running)停止状态(stopped)暂停状态(paused)删除状态(deleted)接下来是简略的状态转换图Docker 容器的常见命令> 启动一个新的容器启动新容器的的命令格式为docker [conta

2021-02-08 21:30:33 193

原创 Docker 系列(5) —— 镜像管理

镜像管理什么是 Docker 镜像Docker 镜像是一个只读的 Docker 容器模板。Docker 镜像中含有容器启动所需要的的文件系统结构及其内容。rootfs在之前的介绍中,提及容器化技术与宿主机其实是共享一套操作系统的,那么 Docker 镜像作为一个未运行的容器,必然与操作系统中的静态部分有可被操作系通共用的部分。我们可以类似的理为一个接口下不同的实现方法,或者时 Bean 加载时使用的不同的配置文件。roofts 是 Docker 容器启动时内部进程可见的文件系统。它由 Docker

2021-02-08 21:28:52 410

原创 Docker 系列(4) —— Docker 基础知识

Docker 的基础知识Docker 的架构下图是网络上常见的 Docker 容器的架构图Docker 包含如下组件:Docker deamon (Docker 守护进程): Docker deamon 是一个运行在宿主机的后台进程,我们可以通过 Docker 客户端与之通信。Client (Docker 客户端): Docker 客户端是客户 Docker 的客户界面,他可以接受用户命令和配置标识,并与 Docker deamon 通信。Images (Docker 镜像):Docker

2021-02-08 21:26:18 110

原创 Docker 系列(3) —— 切换 Docker 镜像源

Docker 添加国内镜像源windows 版Step1 打开 Docker for windows[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EUSlCKf2-1612449410497)(en-resource://database/751:1)]{ "registry-mirrors": [ "https://7bezldxe.mirror.aliyuncs.com/", "https://docker.mirrors.ustc.ed

2021-02-04 22:37:46 271

原创 Java 设计模式系列(24) —— 访问者模式

访问者模式访问者模式是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改,接受这个操作的数据结构则可以保持不变访问者模式的定义封装一些用于某种数据结构中的各元素的操作,他可以在不改变数据结构的前提下定义这些元素的新操作。访问者模式的参与者:visitor 抽象访问者:该角色声明一个或多个访问操作,定义访问者可以访问那些元素Concrete Visitor 具体访问者角色:该角色实现抽象访问角色中的各个操作Element 抽象元素角色:该角色声明一个接受操作接受一个访问者对象Co

2021-01-27 21:33:49 104

原创 Java 设计模式系列(23) —— 策略模式

策略模式策略模式也称政策模式策略模式的定义定义一组算法,将每个算法都封装起来,并使它们之间可以互换。策略模式的参与者Context 环境角色:该角色也叫上下文角色,起到承上启下的作用,他能够屏蔽高层模块对算法和策略的直接访问,封装可能存在的变化Strategy 抽象策略角色:该角色定义了每个策略和算法必须具有的方法和属性ConcreteStrategy 具体策略角色: 该角色实现抽象策略中的具体操作策略模式简单示例抽象策略角色public interface Strategy

2021-01-27 21:32:24 99

原创 Java 设计模式系列(22) —— 状态模式

状态模式状态模式又称为状态对象模式,该模式允许一个对象在其内部状态改变时改变其行为状态模式的定义当一个对象内在状态改变时允许其改变行为,这个对象看起来改变了其类状态模式的参与者State 抽象状态角色: 该角色用以封装环境对像的一个特定状态所对应的行为Concrete State 具体状态角色: 该角色实现环境的一个状态所对应的行为Context 环境角色:该角色定义客户端需要的接口,并负责具体状态的切换。它会保留一个具体状态类的实例,该实例对象会给出环境对象的现有状态。状态模式的简单示

2021-01-27 21:31:20 95

原创 Java 设计模式系列(21) —— 备忘录模式

备忘录模式备忘录模式,又称快照模式或 Token 模式。备忘录模式的定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样,以后就可以将该对象恢复到以前保存的状态备忘录模式的参与者Originator 发起人角色:该角色负责记录当前时刻的内部状态,负责定义那些属于备份范围的状态,负责创建和恢复备忘数据Memnto 备忘录角色: 该角色负责存储发起人角色的内部状态,在需要时提供发起人所需要的的内部状态。Caretaker 备忘录管理员角色: 该角色对备忘录角色进行

2021-01-27 21:29:46 118

原创 Java 设计模式系列(20) —— 中介者模式

中介者模式中介者模式也称调停模式中介者模式的定义:用一个中介对象封装一系列对象(同事)的交互,中介者使各个对象不需要显式的的相互作用,从而使其耦合松散,而且可以独立地改变他们之间的交互。中介者模式的参与者Mediator 抽象中介者:该角色定义出同事对象到中介者对象的统一接口,用于各个同事角色之间的通信Concrete Mediator 具体中介者:该角色实现抽象中介者,它依赖于各个同事角色Colleague 抽象同事角色:该角色定义中介者到同事对象的接口,同事对对象只知道中介者而不知道其余

2021-01-27 21:27:35 104

原创 Java 设计模式系列(19) —— 观察者模式

观察者模式观察者模式,也称发布订阅模式观察者模式的定义定义对象中一种一对多的依赖关系,使得当一个对象改变时,则所有依赖于他的对象都会得到通知并被自动更新观察者模式的参与角色Subject 被观察者(主题角色):被观察者需要能够动态的增加和取消观察者,它一般是抽象类或者是实现类,仅仅完成作为被观察者必须实现的职责:管理观察者并通知观察者Observer 观察者:观察者受到被观察者的通知后,会执行更新操作,对更新的信息进行处理ConcreteSubject 具体被观察者(具体主题): 定义观察者

2021-01-27 21:26:40 76

原创 Java 设计模式系列(18) —— 迭代器模式

迭代器模式迭代器模式的定义:迭代器模式提供一种访问容器对象中各个元素又不暴露该对象的内部细节迭代器是为容器服务的。容器就是能容纳对象的对象。如果把水看做对象,那么水缸就是容器。迭代器模式的参与角色Iterator 抽象迭代器: 该角色负责定义访问和遍历元素的接口ConcreteIterator 具体迭代器:该角色实现 Iterator 接口,完成容器元素的遍历Aggregate 抽象容器:该角色提供创建迭代器角色的接口Concrete Aggregate 具体容器: 该角色实现抽象角色接口

2021-01-27 21:25:10 104

原创 Java 设计模式系列(17) —— 解释器模式

解释器模式解释器模式是一种按照规定语法进行解析的方案。解释器模式的定义:给定一门语言,定义它的文法的一种表示并定义一个解释器,该解释器用来表示解释语言中的句子。解释器模式的参与者:Abstract Expression 抽象解释器角色:该角色声明一个所有具体表达式角色所需要的的接口TerminalExpression 终结符表达式:该角色实现了抽象表达式所需要的接口Nonterminal 非终结符表达式:该角色是一个具体角色,Context 环境角色:Context 角色提供一些解释器之外

2021-01-24 21:59:49 292 2

原创 Java 多线程系列(7) —— 线程的延时调度

线程的延时调度实现线程的延时调度需要两个对象,一个是负责对任务进行调度的调度对象 Timer,另一个是继承了 TimerTask 对象的自定义的延时调度对象简单代码示例延时调度任务对象该对象是需要被延时调度的任务public class ScheduleTask extends TimerTask{ @Override public void run() { System.out.println("执行任务" + new Date()); }}调度任务publ

2021-01-18 23:15:13 684

原创 Java 设计模式系列(16) —— 命令模式

命令模式命令模式,又可以称为行动模式或交易模式命令模式的定义:将一个请求封装成为一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式的参与者:Command 命令角色:该角色声明一个给所有具体命令类的接口,定义需要执行的命令Concrete Command 具体命令角色:该角色定义一个接收者和行为之间的弱耦合,实现命令方法,并调用接收者的相关操作Receiver 接收者角色: 该角色负责具体实施和执行一个请求Invoker 调用

2021-01-18 20:38:18 132 1

原创 Java 多线程系列(6) —— 锁的概念及整理(简单理解)

锁的概念及整理(简单理解)公平锁与非公平锁公平锁:特点:多个线程在等待同一把锁,等待时间最长的将获得锁优点:所有的线程都能获得资源,不会饿死在队列中缺点:吞吐量下降,除了队列中的第一个线程,其余线程都会被阻塞,cpu唤醒线程的开销较大非公平锁:特点:如果有多个线程请求同一个锁,那个该锁将随机分配给其中的一个线程优点:减少 CPU 唤醒线程的开销,吞吐量有所提高缺点:存在线程一直无法获取到锁的可能性,导致线程饿死乐观锁与悲观锁乐观锁:特点: 总是假设最糟糕的情况,认为每次读取

2021-01-18 20:35:29 151

原创 Java 设计模式系列(14) —— 享元模式

享元模式享元模式的定义:使用共享对象可以有效的支持大量的明细粒度的对象享元模式是以共享的方式高效的支持大量的细粒度的对象,而享元模式能做到共享的关键是区分内部状态和外部状态。内部状态:内部状态是存储在享元对象内部的,可以共享的信息,并且这些信息不会随着环境的改变而改变外部状态:外部状态是对象得以依赖的标记,外部状态是随环境改变而改变且不可以共享的状态享元模式的参与角色Flyweight 抽象享元角色:该角色对享元类进行抽象,同时定义对象的外部状态和内部状态的接口或实现ConcreteF

2021-01-14 20:53:59 76

原创 Java 设计模式系列(15) —— 责任链模式

责任链模式责任链模式的定义:使多个对象都有机会处理请求,从而避免了请求发送者和请求接受者之间的耦合关系,将这些对象连城一条链,并沿着这条链传递请求,直到有对象处理它为止。责任链模式涉及的角色:Handler 抽象处理者:该角色对请求进行抽象,并定义一个方法以设定和返回对下一个处理者的引用Concrete Handler 具体处理者:该角色接到请求后,可以选择将请求处理掉,或者将请求传给下一个处理者责任链模式的简单示例抽象处理者抽象处理者一般采用抽象类,抽象类中有指向下一个抽象处理者

2021-01-14 20:52:36 124

原创 Java 设计模式系列(13) —— 外观模式(门面模式)

外观模式(门面模式)外观模式的定义:要求一个子系统的外部预期内部的通信必须通过一个统一的对象进行,外观模式提供了一个高层次的接口,使得子系统更容易使用外观模式的参与者:Client 客户端:Facade 子系统接口:客户端可以调用该角色的方法,该角色知晓相关模块的子功能和责任。该门面是客户端调用子系统的桥梁。Subsystem 子系统中定义的类:子系统是具体业务的实现,但是子系统并不需要被调用的是谁外观模式的简单示例SubsystemSubClassApublic class

2021-01-12 22:57:11 97

原创 java 设计模式系列(12) —— 组合模式

组合模式组合模式又称合成模式,用来描述部分与整体之间的关系组合模式的定义:将对象组合成树形结构以表示“部分-整体”的层次机构,使得用户对单个对象和组合对象的使用具有一致性。组合模式IDE三个角色:Component 抽象构件角色: 该角色定义了参加组合对象共有的方法和属性。Leaf 叶子构件角色: 该角色是叶子对象,其下没有其他分支。Composite 树枝构建角色: 组合树枝节点和叶子节点形成的一个树形结构。组合模式的简单示例抽象构件角色该对象既可以是接口,也可以是抽象类a

2021-01-12 22:32:38 140

原创 Java 设计模式系列(11) —— 桥接模式

桥接模式桥接模式的定义:将抽象和实现解耦,是两者可以独立的变化桥接模式的参与者:Abstraction 抽象化角色: 该角色抽象化的给出定义,并保存一个对实现化对象的引用。RefinedAbstaraction 修正抽象化角色:该角色扩展抽象化角色,它引用实现化角色并对抽象化角色进行修正。Implementor 实现化角色:该角色给出实现化角色的接口,但不给出具体的实现ConcreteImplementor 具体实现化角色:该角色对实现化角色接口中的方法进行具体的实现桥接模式的简单示例

2021-01-12 22:31:33 101

原创 Java 设计模式系列(10) —— 装饰器模式

装饰器模式装饰器模式的定义:动态的给一个对象添加额外的职责,就功能来说,装饰模式相比子类更为灵活装饰器模式的四个角色:Componment 抽象构建角色:该角色用于规范需要装饰的对象ConcreateComponment 具体构建角色:该角色是需要被装饰地 对象Decorator: 装饰角色:一般是一个抽象类,该角色持有私有的一个抽象构件对象ConcreateDecorator: 具体装饰角色;感觉主要负责对构件对象进行装饰装饰器模式的简单示例抽象构件角色public inte

2021-01-09 16:45:54 101

原创 Java 设计模式系列(9) —— 代理模式

代理模式代理模式的定义:代理模式为其他对象提供一种代理以控制这个对象的访问、代理模式的三个主要角色:Subject 抽象主题角色:抽象主题类的主要职责是声明真实主题与代理的共同接口方法,该类可以是接口也可以是抽象类ProxySubject 代理主题角色: 该角色主要负责引用和控制真实主题,负责在需要的时候创建或删除真实主题对象RealSubject 真实主题角色: 该类是代理标识的真实对象,是业务逻辑的具体执行者代理模式的种类1. 远程代理远程代理就是将工作委托给远程对象(不同的进程,

2021-01-06 20:23:49 99

原创 Java 设计模式系列(8) —— 适配器模式

适配器模式适配器模式的定义:将一个类的接口变换成为客户端所期待的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类可以在一起工作。采用适配模式的目的是将先有的旧接口转换成新的刻画短接口,我们的目标是尽可能多地重用原来已经测试过的代码,并且可以对新接口自由地进行修改。适配器的三个角色:Target 目标角色:该角色定义要转换成的目标接口Adaptee 源角色: 需要被转换的就的接口Adapter 适配器角色: 通过继承Target适配器的简单示例Target 角色publ

2021-01-04 23:53:30 127

GraphDB Linux 安装包

GraphDB Linux 安装包

2022-03-03

kubernetes-server-linux-amd64.tar

kubernete Linux 二进制包,适和 k8s 学习者

2021-03-18

ElasticSearch 安装资源

ElasticSearch7.10 系列 windows 压缩包,Linux 压缩包,rpm 包,方便网速慢的同学可以很方便的下载这些安装包

2020-12-09

空空如也

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

TA关注的人

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