- 博客(124)
- 收藏
- 关注
原创 04-Docker-容器数据卷
卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过提供一些用于持续存储或共享数据的特性:卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会再容器删除时删除其挂载的数据卷一句话:优点类似我们Redis里面的rdb和aof文件将docker容器内的数据保存近主机的磁盘中运行一个带有容器卷存储功能的容器实例。
2022-11-30 09:26:44
848
原创 03-Docker-Docker镜像的分层概念
是一种轻量级、可执行的独立软件包,包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出某一个对象)Docker利用容器(Container)独立运行的一个或一组应用,应用程序或服务器运行在容器里面,容器就类似一个虚拟化的运行环境,容器是用镜像创建的运行实例。
2022-11-29 15:01:46
1147
原创 02-Docker-常用命令
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest (最新的)镜像。需求:在大部分情况下,我们希望docker的服务是在后台运行的,我们可以通过-d指定容器后台运行。推荐大家使用 docker exec 命令,因为退出容器终端,不会导致容器停止。
2022-11-28 12:08:52
1386
原创 01-Docker-介绍与安装(CentOS)
安装所需要的软件包。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。
2022-11-27 15:18:04
1120
原创 SpringCloud-03-Gateway统一网关
Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。身份认证和权限检验。
2022-11-24 13:53:56
849
原创 SpringCloud-04-Feign
使用 Fegin 进行远程服务调用时,常用注解如下表。 1、引入Feign依赖2、在启动类上添加注解 @EnableFeignClients3、定义和使用Feign客户端4、使用FeignClient中定义的方法替代RestTemplate 四、自定义Feign的配置Feign运行自定义配置来覆盖默认配置,可修改的配置如下: 配置Feign日志有两种方式:方式一:配置文件方式①全局生效②局部生效 方式二:java代码方式,需要先声明一个Bean①如果是全局配置,
2022-11-24 10:03:54
249
原创 SpringSecurity+JWT-01-JWT介绍
JWT简称JSON-Web-Token ,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密,签名等相关处理。Ⅰ、授权 是使用JWT最常见地方案,一旦用户登录,后续地每个请求将包括JWT,从而允许用户访问该令牌允许地路由,服务和资源。单点登录深是当今广泛使用JWT地一项功能,因为它的开销很小并且可以在不通风地邻域中轻松使用。Ⅱ、信息交换JSON Web Token是在各方之间安全地传输信息地好方法。因为可以对JWT
2022-07-07 10:48:09
483
原创 SpringDataJPA-02-增删改查的基本实现
直接继承:JpaRepository说明:二、实现接口含有的方法 方法名 作用 S save(S entity); 保存给定实体 Optional findById(ID primaryKey); 根据id查找实体 Iterable findAll(); 查询所有实体 long count(); 返回实体数 ...
2022-07-05 16:25:18
130
原创 SpringDataJPA-01-JPA简介以及简单使用
Java持久性API(JPA)是Java的一个规范。 它用于在Java对象和关系数据库之间保存数据。 JPA充当面向对象的领域模型和关系数据库系统之间的桥梁。由于JPA只是一个规范,它本身不执行任何操作。 它需要一个实现。 因此,像Hibernate,TopLink和iBatis这样的ORM工具实现了JPA数据持久性规范。其中包含:注解使用案例三、依赖环境......
2022-07-05 08:42:23
295
原创 Git-04-远程库
①基本命令②案例演示①基本语法②案例演示①基本语法②案例实操 刷新页面后发现推送成功 ①基本命令②案例演示环境声明:(直接在远程库修改hello.txt)①基本命令②案例演示复制结果
2022-07-01 16:03:48
148
原创 Git-03-分支操作
①基本命令②案例演示①基本语法②案例演示 ①基本语法②案例演示 ①基本命令②案例演示冲突产生原因: 注意:此时提交不要添加文件名
2022-07-01 13:57:28
164
原创 Git-02-命令
基本语法此时可以在对应的用户的目录下查看: 或者在当前目录状态下打开git命令窗口使用:cat 命令查看 说明: 签名的作用使区分不同操作者身份。用户的我签名信息在每一个版本的提交信息中能够看到,一次确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。 注意:这里设置用户签名和将来等率GitHub(或其他代码托管中心)的账号没有任何关系①基本语法②案例演示在需要git管理的项目目录下使用命令 ③结果查看 ①基本语法②案例演示①基本命令②案例演示 ③此时查
2022-06-30 23:51:45
136
原创 常用技术注解
其中包含:Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson 是最流行的 json 解析器之一 。Spring MVC 的默认 json 解析器便是 Jackson。 Jackson 优点很多。Jackson 所依赖的 jar 包较少 ,简单易用。与其他 Java 的 json 的框架 Gson 等相比, Jackson 解析大的 json 文件速度比较快;Jac
2022-06-21 14:31:55
99
原创 Java注解
特殊属性例子:三、元注解元注解:就是放在注解上边的注解常用元注解:@Target中可以使用的值定义在Elementtype枚举类中,常用值如下@Rentention中可以使用的值定义在RetentionPolicy枚举类中,常用值如下例子四、注解解析 注解的的操作中经常需要进行解析,注解的解析就是判断是否存在注解,存在注解就解析出内容与注解相关的接口解析注解的技巧注解解析的案例注解定义 定义类并使用注解注解解析执行结果...
2022-06-21 11:05:20
275
1
原创 SpringCloud-03-Nacos配置管理
Nacos Server 还可以作为配置中心,对 Spring Cloud 应用的外部配置进行统一地集中化管理。而我们只需要在应用的 POM 文件中引入 spring-cloud-starter-alibaba-nacos-config 即可实现配置的获取与动态刷新。从配置管理的角度看,Nacos 可以说是 Spring Cloud Config 的替代方案,但相比后者 Nacos 的使用更简单,操作步骤也更少。在分布式微服务系统中,几乎所有服务的运行都离不开配置文件的支持,这些配置文件通常由各个服务自
2022-06-08 19:11:38
256
原创 SpringCloud-02-Nacos服务注册
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/nacos/releases将这个包解压到任意非中文目录下,如图:目录说明:Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配
2022-06-07 21:27:13
1056
原创 SpringCloud-02-Ribbon负载均衡
常见的负载均衡方式有两种:1. 服务端负载均衡是最常见的负载均衡方式,其工作原理如下图。2. 工作流程3. 服务端负载均衡具有的特点1. 服务端负载均衡是最常见的负载均衡方式,其工作原理如下图。2. 工作流程客户端负载均衡Ribbon从注册中心Eureka Server中获取服务列表客户端负载均衡Ribbon根据负载均衡算法分发请求3. 客户端负载均衡具有以下特点:下面我们就来对比下,服务端负载均衡和客户端负载均衡到底有什么区别,如下表。Spring Cloud Ribbon 提供了一个 IRule 接口,
2022-06-07 17:28:37
373
原创 SpringCloud-01-Eureka
Eureka 采用 CS(Client/Server,客户端/服务器) 架构,它包括以下两大组件: 上图中共涉及到以下 3 个角色:Eureka的作用1. 消费者该如何获取服务提供者的具体信息?2. 如果有多个服务提供者,消费者该如何选择》3. 消费者如何感知服务提供者健康状态?1. 创建项目引入依赖2. 编写启动类,添加@EnableEurekaService注解3. 添加application.yml文件,编写配置 1. 在需要被注册的项目引入依赖2. 在application.yml
2022-06-07 11:06:39
153
原创 Java反射
文章目录一、反射概述反射的关键二、获得类对象1、方法说明2、代码演示三、反射获取构造器对象1、Class类中用于获取构造器的方法2、代码实现获取构造器的方法2.1 getConstructors代码演示2.2 getDeclaredConstructors代码演示2.3 getConstructor(Class<?>… parameterTypes)代码演示2.4 getDeclaredConstructor(Class<?>… parameterTypes)代码演示3、通过构造器创
2022-05-11 20:41:44
121
原创 多线程-05-线程池
文章目录一、线程池介绍1、什么是线程池?2、不使用线程池的问题3、线程池工作原理4、线程池的好处二、线程池的七个参数详解1、ThreadPoolExecutor的UML图2、线程池构造器的参数说明三、ExecutorService的常用方法四、新任务拒绝策略五、线程池常见面试题一、线程池介绍1、什么是线程池?线程池就是一个可以复用线程的技术。2、不使用线程池的问题如果用户每发起一个请求,后台就创建一个新线程来处理,下次新任务来了又要创建新线程,==而创建新线程的开销是很大的,==这样会严重影
2022-05-10 09:39:05
517
原创 多线程-04-线程同步
文章目录一、线程同步的核心思想二、线程同步实现1、同步代码块1.1 代码实现1.2 锁对象规范2、同步方法2.1 代码实现2.2 同步方法底层原理3、Lock锁(重要!!!)3.1 Lock锁介绍3.2 代码实现说明:之前代码在 03线程安全问题 的文章中一、线程同步的核心思想加锁,把共享资源进行上锁,每次只能一个线程进入访问完毕以后解锁,然后其他线程才能进来二、线程同步实现1、同步代码块作用:把出现线程安全问题的核心代码给上锁原理:每次只能一个线程进入,执行完毕之后自动解锁,其他
2022-05-10 03:26:49
556
原创 多线程-02-基础多线程的常用方法
文章目录一、Thread常用API说明二、Thread常用方法和构造器1、常用方法2、常用构造器三、方法使用代码演示1、getName()、currentThread()和run()方法;2、setName(String name)和start()方法3、sleep(Long time)方法一、Thread常用API说明Thread常用方法:获取线程名称getName()、设置名称setName()、获取当前线程对象currentThread()。至于Thread类提供的诸如:yield、join、
2022-05-09 08:20:46
265
原创 多线程-01-线程创建
文章目录一、多线程的介绍二、多线程的创建1. 方式一:继承Thread类实现步骤:代码演示2.2匿名内部类代码演示方式一的优缺点相关小问题2. 方式二:实现Runnable接口实现步骤:Thread的构造器代码演示2.1 常规代码演示2.2 匿名内部类代码演示2.3 Lambda代码演示2.4 完整代码演示方式二的优缺点相关小问题3. 方式三:利用Callable、FutureTask接口实现实现步骤:代码演示FutureTask的API方式三的优缺点三、3种方式对比一、多线程的介绍多线程是指从软硬件
2022-05-09 06:37:23
587
原创 Spring注解开发-02-Bean的作用范围和生命周期
一、@Scope1、@Scope注解是springIoc容器中的一个作用域2、Spring IoC 容器中具有以下几种作用域:基本作用域singleton(单例)、prototype(多例),Web 作用域(reqeust、session、globalsession),自定义作用域常用的是:singleton(单例)、prototype(多例)3、使用默认的@Scopepackage com.gg.dao.impl;import com.gg.dao.BookDao;import
2022-04-25 19:46:57
684
原创 Spring注解开发-01-纯注解开发入门
Spring3.0升级了纯注解开发,使用JAVA类替代配置文件,开启Spring快速开发赛道一、@Configuration注解介绍@Configuration:使用在类上,声明当前的类是一个配置类package com.gg.config;import org.springframework.context.annotation.Configuration;/** * @Author: {LZG} * @ClassName: SpringConfig * @Descriptio
2022-04-25 19:14:56
595
原创 SpringBoot开发使用篇-02-配置文件数据相关使用
一、简单获取配置文件的数据application.yml配置文件servers: ipAddress: 127.0.0.1 port: 1234 timeout: -1创建配置文件的对应实体类package com.gg.config;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframew.
2022-04-22 01:19:28
787
原创 SpringBoot开发实用篇-01-配置文件
一、YML配置文件1、单文件配置多环境以“---”分割spring: profiles: active: pro---# 设置生产环境spring: profiles: proserver: port: 80---# 设置开发环境spring: profiles: devserver: port: 81---# 设置测试环境spring: profiles: testserver: port: 82切换环境再测试.
2022-04-21 22:45:31
658
原创 设计模式-24-解释器模式
一、解释器模式解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。二、介绍意图:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。主要解决:对于一些固定文法构建一个解释句子的解释器。何时使用:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这
2022-04-06 20:00:36
95
原创 设计模式-23-备忘录模式
一、备忘录模式备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。又叫快照模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存整个状态,以便以后当需要时能将该对象恢复到原先的保存的状态二、介绍意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原
2022-04-06 18:28:00
195
原创 设计模式-22-访问者模式
一、访问者模式在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。封装一些作用于某中数据结构中的各个元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新操作二、介绍意图:主要将数据结构与数据操作分离。主要解决:稳定的数据结构和易变的操作耦合问题。何时使用:需
2022-04-05 14:27:38
109
原创 设计模式-21-迭代器模式
一、迭代器模式迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。二、介绍意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。主要解决:不同的方式来遍历整个整合对象。何时使用:遍历一个聚合对象。如何解决:把在元素之间游走的责任交给迭代器,而不是聚合对象。关键代码:定义接口:hasNext, next。
2022-04-04 18:58:53
143
原创 设计模式-20-中介者模式
一、中介者模式中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。二、介绍意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出
2022-04-04 18:11:46
107
原创 设计模式-19-观察者模式
一、观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。又被称为发布-订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。整个主题对象在状态变化时,会通知所有观察者对象,使他们能够自动更新自己二、介绍意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通
2022-04-04 16:37:07
138
原创 设计模式-18-状态模式
一、状态模式在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。二、介绍意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。何时使用:代码中包含大量与对象状态有关的条件语句。如何解决:将各种具体的状态类抽象出来。关
2022-04-04 15:48:30
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人