自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(248)
  • 收藏
  • 关注

原创 Docker详细介绍(5)

docker容器在产生数据的时候,如果不通过docker commit生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删除之后,数据自然而然的也会消失。卷就是目录或者文件,存在一个或者多个容器之中,由docker挂载到容器,但是不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或者共享数据的特性。卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此docker不会再容器删除时删除其挂载的数据卷。3)数据卷中的更改不会包含在镜像的更新中。

2025-03-31 17:34:44 840

原创 Docker详细介绍(4)

指Docker社区版,由社区维护和提供技术支持,为免费版本,适合个人开发人员和小团队使用。指Docker企业版,为收费版本,由售后团队和技术团队提供技术支持,专为企业开发和IT团队而设计。

2025-01-19 22:11:58 1093

原创 Docker详细介绍(3)

原则上,Docker Server的运行是众多job中的一个,但是为了强调Docker Server的重要性以及为后续job服务的重要特性,将该"serveapi"的job单独抽离出来分析,理解为Docker Server。其中,在Docker架构中,Docker可以使用公有的Docker Registry,即大家熟知的Docker Hub,如此一来,Docker获取容器镜像文件时,必须通过互联网访问Docker Hub;创建一个新的容器,这是一个job,从Internet上下载一个文档,这是一个job;

2024-11-14 22:26:22 809

原创 Docker详细介绍(2)

由此可见不同的Linux发行版本,bootfs基本上是一致的,rootfs会有差别,所以不同的发行版可以公用bootfs,这也是一个镜像仅有几百MB的原因。比如有多个镜像都从相同的Base镜像构建而来,那么宿主机只需要在磁盘上保留一份base镜像,同时内存中也只需要加载一份base镜像,这样就可以为所有容器提供服务了,而且镜像的每一层都可以被共享。一个容器的镜像通常都很小,不用和存储大量数据,存储可以通过外部挂载等方式使用,比如:NFS、ipsan、MFS等 ,或者docker命令 ,-v映射磁盘分区。

2024-08-30 21:28:16 1073 1

原创 使用StableDiffusion简单绘制生成清纯AI美女图片

下面以文生图页面来介绍1、快捷设置大模型,经过训练学习后得到的程序文件。模型常见下载地址:1)2)liblib.art3)VAE(变分自编码器,Variational Autoencoder)是一种基于深度学习的生成模型,它起到增强图像质量和细节的关键作用,主要作用于滤镜和微调。是通过一个神经网络系统,将提示词从文字转化成简单的数字。将这些数字放入到神经网络的第一层进行计算,把得到的运算结果再放到第二层进行计算,然后再放到第三层进行计算……层层处理,层层递进,一直到最后一层。

2024-06-23 12:52:06 1849

原创 Docker详细介绍(1)

通过利用Docker的发版、测试和部署代码的方法,您可以显著减少编写代码和在生产中运行代码之间的延迟。这很明显是得不偿失的,于是Docker诞生了,使用了容器技术,自带隔离机制,将系统资源利用到极致,同时只需要最核心的环境和需要的服务,轻巧,几M,开启秒级。是一个只读的模板,类似于安装系统用到的那个iso文件,我们通过镜像来完成各种应用的部署。它可以被启动、开始、停止、删除等操作,每个容器都是相互隔离的。Docker 的使用非常简单,基本上只需要安装 Docker 环境,就可以开始使用 Docker。

2024-04-20 14:31:39 789 2

原创 Spring项目单元测试

一、单元测试是什么是指对软件中的最小可测试单元进行检查和验证的过程就叫单元测试。对Spring项目中代码逻辑进行单个单元测试的过程,验证是否符合预期工作,并确保它们能正确地集成和交互。二、单元测试好处可以最小颗粒度的测试某个组件功能,减少外部依赖的影响。通过单元测试可以在提测之前及早发现和修复潜在问题,提升代码的可靠性。可通过多个组件的协同工作,验证整个系统的功能和性能。

2024-02-03 18:52:56 4054

原创 工具使用篇(1)--快速将网页接口url及参数设置到postman来调试

以下是来自官网的介绍,可以看出Postman是一个用于构建和使用API的API平台,并且简化了很多流程让我更好的创建API。下面我们来看一下他的整体页面。可以看到大体有几个分区:api历史调用区、要请求的API及请求、API参数配置、API请求响应的结果。页面流程非常清晰,“填写要请求的API请求方式及URL --> 配置API参数 --> 点击send按键 --> 获取接口响应结果”执行这个简单流程即可调用API接口调试。

2023-11-21 19:52:22 1138

原创 更好的向ChatGpt提问

一种预训练的对话式文本生成AI。其中Chat 包括输入端你发出的有效提问(Prompt)和输出端的智能参考答案。信息会通过理解,再被提炼为知识,然后由GPT为你表达。GPT3之后的模型泛化出思维链的能力。

2023-09-11 21:15:40 439

原创 Mybatis plus中遇到的分页查询报错问题解决

于是立马上手打断点,结果发现,一切正常,无论是service到mapper.xml还是在把这些参数传入的mybatis plus里,这些参数都正常。修bug的时候,遇到一个及其诡异的bug:我的service层调用mapper.xml中的分页查询sql时,居然报错了!一开始我还以为是我sql写错了,经检查没发现什么异常,于是就拿到navicat中跑一下sql,也能成功跑出数据。这样我们再运行分页查询,查询分页总数的时候,就再也不会出现报错的想象。难道有什么地方把我sql拦截了并做了什么奇怪的骚操作?

2023-06-28 20:57:16 4097

原创 【云原生】devops之jenkins中pipeline语法(4)

前言: pipeline语法分类一般来说,有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。 该when指令允许管道根据给定条件确定是否应执行阶段。 该when指令必须至少包含一个条件。如果when指令包含多个条件,则所有子条件都必须返回 true 才能执行阶段。内置条件:条件描述样例branch当正在构建的分支与给定的分支模式(ANT 样式路径 glob)匹配时执行阶段。when { branch 'master' }buildingTag在构建构建标签时执

2023-04-09 23:23:49 390

原创 【云原生】devops之jenkins中pipeline语法(3)

前言: pipeline语法分类一般来说,有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。 该triggers指令定义了重新触发pipeline的自动化方式。 对于与 GitHub 或 BitBucket 等源集成的pipeline,triggers可能没有必要,因为基于 webhook 的集成可能已经存在。参数描述样例cron接受一个 cron 风格的字符串来定义管道应该被重新触发的定期间隔triggers { cron('H */4 * * 1-5') }

2023-02-11 12:31:20 363

原创 【云原生】devops之jenkins中pipeline语法(2)

pipeline语法分类一般来说,有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。

2022-12-10 14:18:37 741

原创 【云原生】devops之jenkins中pipeline语法(1)

pipeline语法分类一般来说,有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。

2022-10-08 20:56:57 1512 8

原创 【云原生】k8s(Kubernetes)中yaml文件快速阅读理解

2)接着我们看下一个,以---分隔符隔开的另一个类型Service,定义了一个名为suncat-endpoints的Service,同时往该Service中配置内部端口映射到Pod暴露出的端口port: 3306,以及对外暴露的端口号targetPort: 3306。首先我们看到,定义了一个名为suncat-service的Service类型,他的职责时将port: 8848端口映射到nodePort: 38011对外暴露端口,并且他的管理的对应的应用时suncat-app应用。............

2022-08-06 19:20:09 3089 3

原创 EasyExcel-(1)使用篇

EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。本博客将介绍其如何使用。

2022-06-05 22:39:15 1038 1

原创 CAS详情汇总讲解

一、CAS是什么Compare and Swap,即比较再交换。二、CAS原理CAS机制当中使用了3个基本操作数:内存地址V值,预期值A,修改完成后的新值B。更新一个变量的时候,只有当变量的预期值A和内存地址V值相同时,才会将内存地址V对应的值修改为B。三、CAS的缺点:1.CPU开销较大在并发量比较高的情况下,如果许多线程反复尝试更新某一个变量,却又一直更新不成功,循环往复,会给CPU带来很大的压力。2.不能保证代码块...

2022-04-03 11:16:07 956

原创 与(&)、非(~)、或(|)、异或(^) java运算符

运算符 运算符符号 使用规则 个人理解 与 & 两个操作数中位都为1,结果才为1,否则结果为0。 有0为0 非 ~ 如果位为0,结果是1,如果位为1,结果是0 0/1反过来 或 | 两个位只要有...

2022-03-29 22:02:17 891

原创 throw和throws区别

我们先来直观的看看他们之间的用法:throw:一般出现在方法体内,并且在使用的时候是以抛出异常对象为结束,后面的代码不会再执行,比如:public void suncat(){ if(users.isEmpty()){ Thrownew RuntimeException("用户列表不能为空"); }}throws:一般出现在方法名字后,表示方法内的异常不做处理,抛给那些调用该方法的程序。比如:public static void function

2022-03-28 23:05:32 884

原创 JVM垃圾回收算法-CMS算法

一、CMS算法是什么CMS算法是JVM中老年代常用的垃圾回收算法,全称是Concurrent Mark Sweep算法,即并发标记-清除算法。算法的执行步骤如下图所示,共有六个步骤。1 、初始标记(Initial Mark):CMS算法中两个会触发Stop the World事件中的一个,这个阶段会标记所有与GC Roots直接相关联的对象,以及被存活的青年代对象所直接引用的对象。2、 并发标记(Concurrent Mark):...

2022-03-27 22:50:20 4008 3

原创 大数据篇(2-3)--Hive(3)Hive调优

hvie调优可以分为几个模块进行考虑,数据的压缩与存储,hive参数的优化,sql的优化,解决数据的倾斜等。一,数据的压缩与存储格式1)压缩方式 压缩可以节约磁盘的空间,基于文本的压缩率可达40%+; 压缩可增加吞吐量和性能量(减小载入内存的数据量),但是在压缩和解压过程中会增加CPU的开销。所以针对IO密集型的jobs(非计算密集型)可以使用压缩的方式提高性能。 几种压缩算法: 压缩方式 压缩后大小 压缩速度 ...

2021-10-08 20:30:03 1382

原创 Redis(4)-Redis遇到的问题

问题一:aof文件过大解决方案:(1)使用BGREWRITEAOF命令(里面会有大部分是重复命令或者可以合并的命令(100次incr = set key 100)。aof重写机制的出现目的是给aof持久化文件瘦身,因为随着时间推移aof文件会变得越来越大。但是在aof文件内存储的字符指令实际上是可以进行合并重写的。经过几个月之后,发现还是存在aof文件过大的问题。所以,用定时任务来跑,不能解决根本问题。因为aof是记录了很多操作日志,就像Mysql的bin_l...

2021-10-08 20:05:32 398

原创 MQ篇(3-6)--kafka特点

一、高可用性1.Kafka 本身是一个分布式系统,同时采用了 Zookeeper 存储元数据信息,提高了系统的高可用性。2.Kafka 使用多副本机制:当状态为 Leader 的 Partition 对应的 Broker 宕机或者网络异常时,Kafka 会通过选举机制从对应的 Replica 列表中重新选举出一个 Replica 当做 Leader,从而继续对外提供读写服务(当然,需要注意的一点是,在新版本的 Kafka 中,Replica 也可以对外提供读请求了),利用多副本机制在一定程度上提高了

2021-10-08 16:16:35 528

原创 大数据篇(1-3)--Hadoop(3)-YARN

一、YARN 简介Apache YARN(Yet Another Resource Negotiator) 是 hadoop 2.0 引入的集群资源管理系统。用户可以将各种服务框架部署在 YARN 上,由 YARN 进行统一地管理和资源分配。二、YARN架构(1)ResourceManagerResourceManager通常在独立的机器上以后台进程的形式运行,它是整个集群资源的主要协调者和管理者。ResourceManager负责给用户提交...

2021-07-03 11:35:18 236 5

原创 大数据篇(1-2)--Hadoop(2)-MapReduce

一、MapReduce概述Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序。编写好的程序可以提交到 Hadoop 集群上用于并行处理大规模的数据集。MapReduce 作业通过将输入的数据集拆分为独立的块,这些块由map以并行的方式处理,框架对map的输出进行排序,然后输入到reduce中。MapReduce 框架专门用于<key,value>键值对处理,它将作业的输入视为一组<key,value&gt...

2021-07-03 11:27:53 340 1

原创 大数据篇(1-1)--Hadoop(1)-HDFS

一、HDFSHDFS(Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以部署在低成本的硬件上。二、HDFS设计原理HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成:NameNode: 负责执行有关文件系统命名空间的操作,例如打开,关闭、重命名文件和目录等。它同时还负责集群元数据的存储,记录着文件中各个数据块的位置信息。N...

2021-07-03 11:21:13 236

原创 大数据篇(2-2)--Hive(2)Hive分区表和分桶表

分区提供了一个隔离数据和优化查询的可行方案,但是并非所有的数据集都可以形成合理的分区,分区的数量也不是越多越好,过多的分区条件可能会导致很多分区上没有数据。分区表和分桶表的本质都是将数据按照不同粒度进行拆分,从而使得在查询时候不必扫描全表,只需要扫描对应的分区或分桶,从而提升查询效率。Hive 中的表对应为 HDFS 上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大。字句的中包含分区条件,则直接从该分区去查找,而不是扫描整个表目录,合理的分区设计可以极大提高查询速度和性能。

2021-07-03 11:13:48 603 1

原创 大数据篇(2-1)--Hive(1)简介

Hive 进行的是统一的元数据管理,就是说你在 Hive 上创建了一张表,然后在 presto/impala/sparksql 中都是可以直接使用的,它们会从 Metastore 中获取统一的元数据信息,同样的你在 presto/impala/sparksql 中创建一张表,在 Hive 中也可以直接使用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;Hive 会在 HDFS 为每个数据库上创建一个目录,数据库中的表是该目录的子目录,表中的数据会以文件的形式存储在对应的表目录下。

2021-07-03 11:08:41 481

原创 Spring篇(5-1)--Spring事务流程原理

前言:我们知道,使用Spring事务只需要几个注解即可@EnableTransactionManagement @Transactional,那它是怎么做到的呢?一、@EnableTransactionManagement其实主要的方法在@EnableTransactionManagement 注解中,我们先来看看其源码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Import(T.

2021-04-19 00:03:43 613 2

原创 Spring篇(3)--Spring Aop基本流程原理

一、代理对象的创建过程:AbstractAutowireCapableBeanFactory#initializeBeanprotectedObjectinitializeBean(StringbeanName,Objectbean,@NullableRootBeanDefinitionmbd){ if(System.getSecurityManager()!=null){ AccessController.doPrivileged((PrivilegedAction&lt

2021-04-18 23:49:14 1708 9

原创 Spring篇(2)--Spring IOC基本流程原理

前言:Spring IoC 容器初始化的关键环节就在 AbstractApplicationContext#refresh() ⽅法中@Overridepublicvoidrefresh()throwsBeansException,IllegalStateException{ synchronized(this.startupShutdownMonitor){ StartupStepcontextRefresh=this.applicationStartup.start(

2021-04-12 23:23:47 581 2

原创 Spring Cloud --- Feign

一、Feign是什么Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求。Spring Cloud引入 Feign并且集成了Ribbon实现客户端负载均衡调用。二、Feign解决了什么封装了Http调用流程,更适合面向接口化的变成习惯。三、Feign工作原理1.基于面向接口的动态代理方式生成实现类2.基于RequsetBean,动态生成Request3.使用Encoder将Bean转换为Http报文正文4.拦截器负责...

2021-04-10 11:17:18 279

原创 SpringCloud --- Eureka

一、Eureka是什么Eureka是Netflix组件的一个子模块,也是核心模块之一。云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移Eureka服务端(以下简称服务端)与Eureka客户端(以下简称客户端)之间协同工作的流程:二、Eureka优缺点优点:(1)故障转移:在Eureka平台中,如果某台服务器宕机,Eureka不会像zookeeper选择leader的过程,客户端请求会自动切换到新的Eureka节点,当宕机的服务器重新恢复后

2021-04-10 11:10:35 531

原创 MQ篇(3-5)--kafka核心组件之四-日志管理器

一、日志的存储Kafka的消息以日志文件的形式进行存储。不同主题下不同分区的消息是分开存储的。同一个分区的不同副本也是以日志的形式,分布在不同的broker上存储。日志的存储是以副本为单位的,每个副本对应一个log对象,一个log又划分为多个logSegment进行存储。kafka会在指定的目录下创建对应的文件夹,命名规则为“topic名称-分区编号”。logSegment代表逻辑上的一组文件,这组文件就是.log、.index、.timeindex这三个不同文件扩展名,但是同文件名的文

2021-04-10 00:06:32 333

原创 MQ篇(3-4)--kafka核心组件之三-控制器

一、控制器是什么其实控制器也是一个broker,控制器也叫leader broker。Kafka的集群由n个的broker所组成,每个broker就是一个kafka的实例或者称之为kafka的服务。二、控制器选举kafka每个broker启动的时候,都会实例化一个KafkaController,并将broker的id注册到zookeeper。集群在启动过程中,通过选举机制选举出其中一个broker作为leader,也就是前面所说的控制器。有三种情况触发控制器选举:1、集群启动.

2021-04-10 00:03:40 343

原创 MQ篇(3-3)--kafka核心组件之二-副本管理器

一、副本管理器是什么副本管理器负责对副本管理。由于副本是分区的副本,所以对副本的管理体现在对分区的管理。副本机制使得kafka整个集群中,只要有一个代理存活,就可以保证集群正常运行。这大大提高了Kafka的可靠性和稳定性。备注:1、LEO:LEO是Log End Offset缩写。表示每个分区副本的最后一条消息的位置,也就是说每个副本都有LEO。2、HW:HW是Hight Watermark缩写,他是一个分区所有副本中,最小的那个LEO。二、副本管理器所承担的职责如下..

2021-04-09 23:58:07 290

原创 MQ篇(3-2)--kafka核心组件之一-协调器

一、协调器是什么:协调器负责协调工作。简单点说,就是消费者启动后,到可以正常消费前,这个阶段的初始化工作。消费者能够正常运转起来,全有赖于协调器。主要的协调器有如下两个:1、消费者协调器(ConsumerCoordinator):可以看作是消费者做操作的代理类(其实并不是),消费者很多操作通过消费者协调器进行处理。每个consumer实例化时,同时实例化一个ConsumerCoordinator对象,负责同一个消费组下各个消费者和服务端组协调器之前的通信。2、组协调器(GroupC.

2021-04-09 23:55:03 1146

原创 MQ篇(3-1)--kafka基本原理

一、Kafka结构Broker:一个Borker就是Kafka集群中的一个实例,或者说是一个服务单元。连接到同一个zookeeper的多个broker实例组成kafka的集群,一般只有一个leader,其余为follwer。Consumer Group:同一个group的consumer可以并行消费同一个topic的消息,但是同group的consumer,不会重复消费。Topic:kafka中消息订阅和发送都是基于某个topic。Topic就像一个特定主题的收件箱,produc

2021-04-09 23:31:51 610

原创 TCP/IP篇(4)--协议应用层-HTTP协议

一、HTTP是什么HTTP:请求响应机制。用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。同时属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP客户端通过URL向HTTP服务端发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。HTTP底层协议:TCP 协议主要特点1、简单快速:客户向服务器请求..

2021-03-28 23:12:51 788

原创 TCP/IP篇(3)--协议传输层-TCP和UDP

一、TCPTCP是一种可靠的、面向连接的字节流服务。源主机在传送数据前需要先和目标主机建立连接。然后,在此连接上,被编号的数据段按序收发。同时,要求对每个数据段进行确认,保证了可靠性。如果在指定的时间内没有收到目标主机对所发数据段的确认,源主机将再次发送该数据段。源、目标端口号字段:占16比特。TCP协议通过使用"端口"来标识源端和目标端的应用进程。端口号可以使用0到65535之间的任何数字。在收到服务请求时,操作系统动态地为客户端的应用程序分配端口号。在服务器端,每种服务在"众所周知的.

2021-03-28 22:57:10 498

空空如也

空空如也

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

TA关注的人

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